Технология CSA в действии

Сергей Пахомов

Гигабитный сетевой контроллер

Методика тестирования

Результаты тестирования

Выводы

 

Гигабитный Ethernet, который изначально являлся исключительно серверным решением, уверенно выходит на рынок настольных систем. Так, недавно корпорация Intel анонсировала новые поколения чипсетов Springdale и Canterwood, составной частью которых является гигабитный сетевой контроллер.

Гигабитный сетевой контроллер

тличительной особенностью новых чипсетов Springdale (Intel 865) и Canterwood (Intel 875) является наличие интерфейса новой шины CSA (Communication Streaming Architecture), интегрированного в северный мост MCH. Шина CSA специально разработана для подключения к северному мосту чипсета гигабитного сетевого контроллера Intel 82547EI. Поэтому чип Intel 82547EI в некотором смысле является составляющей частью набора микросхем Intel 875 и Intel 865.

Какие же преимущества дает новый интерфейс CSA? Прежде всего отметим, что пропускная способность CSA-шины составляет 266 Мбайт/с, что в два раза больше пропускной способности PCI-шины (33 МГц/32 бит). При использовании в ПК гигабитных сетевых адаптеров с PCI-интерфейсом (даже в случае если они интегрированы) пропускная способность PCI-шины становится узким местом в системе, не позволяя даже теоретически достигнуть трафика в 2 Гбит/с в дуплексном режиме. Если, кроме того, учесть, что PCI-шину утилизируют и другие устройства ввода-вывода, например RAID-контроллеры, то на долю сетевого адаптера приходится еще меньшая пропускная способность. Но недостаточная пропускная способность PCI-шины — это лишь одна сторона медали. Другая сторона — это то, что при традиционном способе доступа к сети неизбежны большие задержки, пока данные, получаемые из сети, достигнут жесткого диска, на который они должны быть записаны. Фактически при традиционной архитектуре с использованием PCI-шины невозможно организовать полноценный дуплексный режим работы. Действительно, при подключении сетевого контроллера к PCI-шине получаемые данные прежде всего поступают в хаб ввода-вывода (южный мост чипсета). Затем по шине связи южного и северного мостов данные передаются в MCH-хаб (северный мост) и далее по шине памяти достигают оперативной памяти. После этого данные проделывают обратный путь, поступая на контроллер ввода-вывода, и только потом могут быть записаны на жесткий диск (рис. 1).

При применении CSA-шины, непосредственно связывающей MCH-контроллер с гигабитным сетевым адаптером, путь данных при их записи на диск становится существенно короче (рис. 2).

Поэтому второе преимущество использования новой CSA-шины заключается в сокращении задержек при передаче данных. В результате значительно повышается максимальный сетевой трафик в дуплексном режиме, приближаясь к заветной цифре 2 Гбит/с.

Итак, основные преимущества новой CSA-архитектуры в общих чертах ясны. Теперь остановимся на деталях нового чипа Intel 82547EI. Он представляет собой комбинацию гигабитного MAC-контроллера пятого поколения и контроллера физического уровня (PHY), полностью соответствующего спецификациям IEEE 802.3 1000Base-T, 100Base-TX и 10Base-T. Контроллер MAC-уровня имеет внутренний буфер размером 40 Кбайт для передаваемых и принимаемых пакетов.

Для управления потоком в сети используется как метод CSMA/CD, так и пакеты «Пауза» согласно IEEE 802.3x. Полностью поддерживается автосогласование скорости и типа соединения. Кроме того, контроллер поддерживает три размера гигантских пакетов Jumbo Frames: 4088, 9014 и 16 128 байт.

Из дополнительных функций имеются поддержка приоритезации по протоколу 802.1p и создание виртуальных сетей VLAN по протоколу 802.1q (до 64 VLAN).

Контроллер поддерживает как подсчет контрольных сумм пакетов TCP/IP и UDP, так и сегментацию TCP на аппаратном уровне, что снижает нагрузку на центральный процессор.

В начало В начало

Методика тестирования

етевые адаптеры принято характеризовать по абсолютной пропускной способности в режимах передачи, приема и дуплексного обмена данными, а также по индексу эффективной производительности. Основной задачей нашего тестирования было измерение именно этих характеристик.

Тестирование проходило в два этапа. На первом этапе для проведения тестирования был собран стенд, состоявший из двух рабочих станций, связанных друг с другом сетевым кроссоверным кабелем напрямую, то есть без использования коммутатора. Обе рабочие станции были построены на системных платах с чипсетами Intel 875P и имели интегрированный гигабитный сетевой контроллер Intel 82547EI.

На одной станции использовался процессор Intel Pentium 4 3,0 ГГц (FSB 800 МГц), а на другой — Intel Pentium 4 3,2 ГГц (FSB 800 МГц). Остальные их характеристики были одинаковыми (следует заметить, что они не влияли на результаты тестирования). Таким образом, обе станции, имея практически одинаковую конфигурацию, находились в равных условиях.

На рабочих станциях была установлена операционная система Microsoft Windows XP Professional SP1, причем дополнительно были установлены все обновления (HotFix SP2), доступные на момент проведения тестирования.

Применение всего двух станций для проведения тестирования сетевых адаптеров имеет как свои преимущества, так и недостатки. Несомненное преимущество заключается в том, что такой подход позволяет избежать влияния коммутатора на сетевой трафик и сосредоточиться именно на потенциальных возможностях сетевых адаптеров. Однако несколько рабочих станций, объединенных в локальную сеть с использованием коммутатора, позволяют создать избыточную нагрузку на тестируемый сетевой контроллер, чего в случае применения всего двух станций достичь невозможно. Это позволяет более детально изучить возможности тестируемого сетевого адаптера в режиме приема и передачи данных. Как правило, возможности сетевых адаптеров в режиме приема и передачи различны (максимальный трафик в режиме приема обычно несколько выше, чем в режиме передачи). Если нагрузка на тестируемый сетевой адаптер создается несколькими узлами сети, то трафик в режиме приема и передачи определяется только возможностями тестируемого адаптера. В случае же когда имеется всего два сетевых узла, то максимальный сетевой трафик в режиме приема для одного адаптера ограничивается максимальным сетевым трафиков в режиме передачи другого адаптера и наоборот. Поэтому конфигурация стенда из двух рабочих станций с одинаковыми сетевыми контроллерами позволяет измерить только наименьший из трафиков: либо трафик в режиме передачи, либо трафик в режиме приема, что является несомненным недостатком данной методики.

Чтобы воспользоваться преимуществами обеих методик тестирования, на втором этапе тестирования использовался стенд, состоящий уже из трех рабочих станций, объединенных в локальную сеть гигабитным четырехпортовым коммутатором Edimax ES5400D+. Характеристики третьей рабочей станции полностью идентичны двум вышеупомянутым.

Для проведения тестирования в качестве программного генератора трафика использовалась утилита IOmeter 1999.10.20 компании Intel и утилита Iperf версии 1.7.0. Утилита IOmeter применялась как в режиме взаимодействия двух рабочих станций напрямую, без участия коммутатора, так и при объединении в сеть трех рабочих станций. Утилита Iperf версии 1.7.0 использовалась только для создания трафика между двумя рабочими станциями, связанными кроссоверным кабелем.

IOmeter — это синтетический тест, который является программным генератором сетевого трафика и позволяет измерять практически все необходимые параметры: абсолютную пропускную способность сетевого адаптера в режиме как передачи, так и приема; скорость передачи/приема пакетов, количество операций ввода-вывода; степень утилизации процессора и многое другое. Утилита IOmeter позволяет не только измерять указанные параметры, но и эмулировать необходимую модель сетевого доступа. Настройке подлежат такие параметры, как размер запроса приема/передачи, процентное соотношение между случайным и последовательным распределением запросов, процентное соотношение между распределением операций приема/передачи.

При проведении тестирования мы использовали следующие настройки утилиты IOmeter: в режимах приема, передачи данных и дуплексном режиме обмена для достижения максимально возможного сетевого трафика все запросы носили стопроцентно последовательный характер, а время задержки между запросами устанавливалось равным нулю. Единственным изменяемым в данном случае параметром был сам размер запроса на передачу/прием данных, который составлял 64, 128, 256, 512 байт; 1, 2, 4, 8, 16, 32, 64, 128 и 256 Кбайт.

В случае использования двух рабочих станций для эмуляции дуплексного режима работы каждая из них функционировала в режиме передачи данных. При применении трех рабочих станций и гигабитного коммутатора две рабочие станции использовались для тестирования гигабитного адаптера, установленного на третьей рабочей станции.

Измеряемыми параметрами во всех случаях являлись сетевой трафик, проходящий через тестируемый гигабитный адаптер, и утилизация процессорной подсистемы.

Программа Iperf — это небольшая, но эффективная утилита для генерации интенсивного TCP-трафика. В отличие от программы Iometer, в утилите Iperf предусмотрены дополнительные возможности по настройке сетевого соединения, используя которые, можно достичь максимально возможного трафика.

Учитывая, что в соответствии со стандартом гигабитные сетевые адаптеры поддерживают объединение нескольких пакетов в один гигантский фрейм (Jumbo Frame), тестирование с помощью утилит IOmeter и Iperf проводилось при различных размерах Jumbo Frame. Так, настройками драйверов сетевых адаптеров (рис. 3) устанавливались следующие размеры Jumbo Frame:

• Disable (запрещение использования Jumbo Frame);

• 4088 байт;

• 9014 байт;

• 16 128 байт.

Однако использование гигантских пакетов возможно было только в случае взаимодействия двух рабочих станций без участия коммутатора, поскольку сам гигабитный коммутатор Edimax ES5400D+ не поддерживает Jumbo Frame.

Кроме того, перед проведением тестирования осуществлялась дополнительная настройка операционной системы путем внесения изменений в системный реестр. При применении стандартных пакетов (запрещение использования Jumbo Frame) размер окна для приема TCP-пакетов устанавливался равным 64 Кбайт (по умолчанию он равен 8 Кбайт), для чего в реестре ОС значение параметра TcpWindowSize устанавливалось равным ffff (Hkey_Local_Machine\System\CurrentControlSet\ Services\Tcpip\Parameters).

Окно приема определяет количество байтов, которые отправитель может передать, не получая подтверждения. Вообще, чем больше окно, тем лучше работа в сетях с высокой пропускной способностью.

При размере Jumbo Frame 4088, 9014 и 16 128 байт значение параметра TcpWindowSize устанавливалось равным 20 Мбайт. Кроме того, для того чтобы разрешить использование больших окон для приема TCP-пакетов, дополнительно устанавливалось значение параметра TCP1323Opts, равное 3 (Hkey_Local_Machine\System\CurrentControlSet\Services\Tcpip\ Parameters).

При применении утилиты Iperf одна из рабочих станций, функционирующая в режиме приема данных, выступает в режиме сервера, а вторая — в режиме клиента (станция, работающая в режиме передачи данных).

В случае использования нормальных пакетов (Jumbo Frame запрещен) на сервере и на клиенте устанавливались следующие параметры запуска утилиты Iperf:

• сервер: iperf –s –w 64K –l 64К;

• клиент: iperf –c 192.168.100.100 –w 64K –l 64K;

где:

- параметр –w устанавливает размер окна для приема TCP-пакетов,

- параметр –l устанавливает размер буферов при операциях чтения/записи.

При размере Jumbo Frame 4088, 9014 и 16 128 байт на сервере и на клиенте устанавливались следующие параметры запуска утилиты Iperf:

• сервер: iperf –s –w 20M –l 64К;

• клиент: iperf –c 192.168.100.100 –w 20M –l 64K.

Все тесты повторялись по 20 раз (для чего применялся соответствующий bat-файл), а в зачет шел средний результат.

По результатам теста Iperf определялся максимальный сетевой трафик, а по результатам теста Iometer исходя из максимальной пропускной способности адаптера и степени утилизации процессора определялся индекс эффективной производительности Р/Е (Performance/Efficiency Index Ratio) как отношение пропускной способности адаптера (измеряемой в мегабитах в секунду) к степени утилизации процессора (измеряемой в процентах).

Учитывая, что процессоры Intel Pentium 4 поддерживают технологию Hyper-Threading, тестирование можно проводить как при активации ее через настройки BIOS, так и при запрещении. Однако, как показывает опыт проведения подобных тестирований, использование технологии Hyper-Threading негативно отражается на максимально достигаемом сетевом трафике. Поэтому мы провели тестирование гигабитного адаптера без использования данной технологии.

В начало В начало

Результаты тестирования

режде всего рассмотрим результаты тестирования гигабитного адаптера утилитой Iperf (рис. 4).

Максимальный сетевой TCP-трафик в значительной мере зависит от настроек Jumbo Frames. При нормальном режиме работы, то есть когда использование гигантских пакетов запрещено, трафик обмена данными между двумя рабочими станциями составляет 948 Мбит/с. Максимального же сетевого трафика, равного 977 Мбит/с, удается достичь при размере гигантского пакета 4088 байт. Интересно, что при большем размере пакета сетевой трафик уменьшается, причем при максимальном размере в 16 128 Кбайт — до 674 Мбит/с.

Результаты тестирования гигабитного адаптера в схеме с двумя компьютерами без участия коммутатора утилитой IOmeter представлены на рис. 5, 6, 7 и 8.

При отключении гигантских пакетов (рис. 5) максимальный сетевой трафик, наблюдаемый в режиме приема/передачи, составляет 897 Мбит/с, а в режиме дуплексного обмена данными — 1355 Мбит/с.

При этом сетевой трафик возрастает пропорционально размеру запроса, достигая относительного насыщения при размере запроса более 64 Кбайт. Характерно также и то обстоятельство, что столь высокий трафик наблюдается при довольно низкой степени утилизации процессора. Так, в режиме приема/передачи при любых размерах запросов утилизация процессора не превосходит 50%, а в дуплексном режиме передачи максимальная утилизация процессора составляет всего 70%. Для сравнения отметим, что при использовании традиционных гигабитных PCI-адаптеров узким местом, ограничивающим максимальный сетевой трафик, обычно является именно утилизация процессора, составляющая 100% при малых размерах запросов.

Применение гигантских пакетов размером 4088 байт (рис. 6) положительно сказывается на увеличении сетевого трафика. Так, в режиме приема/передачи максимальное значение сетевого трафика составляет 937 Мбит/с, а в дуплексном режиме — 1590 Мбит/с. Характерно, что и в данном случае максимальное значение утилизации процессора не превышает 50%, что свидетельствует о высоком коэффициенте эффективной производительности гигабитного адаптера.

При размере Jumbo Frames 9014 байт (рис. 7) практически нельзя увеличить сетевой трафик по сравнению с предыдущим случаем. В режиме приема/передачи максимальное значение сетевого трафика составляет 927 Мбит/с, а в дуплексном режиме — 1704 Мбит/с. Утилизация процессора и в этом случае не выше 50% при любом размере запроса.

Установка размера Jumbo Frames 16 128 байт (рис. 8) не только не позволяет увеличить сетевой трафик, но и негативно отражается на его значении. Так, в режиме приема/передачи максимальный сетевой трафик снижается до 653 Мбит/с, а в дуплексном режиме — до 1010 Мбит/с, то есть становится существенно ниже, чем во всех рассмотренных выше случаях. Интересно отметить, что аналогичное падение производительности при размере Jumbo Frames 16 128 байт было отмечено и при тестировании адаптера утилитой Iperf ver. 1.7.0.

Использование стенда из трех рабочих станций (рис. 9), объединенных гигабитным коммутатором, выявляет особенности режимов приема и передачи тестируемого гигабитного адаптера по отдельности и позволяет сделать следующие выводы.

Возможности адаптера в режимах приема и передачи данных практически идентичны при любых размерах запросов. И в том и в другом случае максимальный сетевой трафик составляет 895 Мбит/с, а в дуплексном режиме — 1542 Мбит/с.

Единственное различие между режимами передачи и приема данных заключается в степени утилизации процессора. Для режима приема утилизация процессора традиционно немного выше — 46%, а для режима передачи среднее значение утилизации процессора составляет 34,6%.

В начало В начало

Выводы

одытоживая результаты проведенного тестирования, можно сделать следующие выводы. Новая интерфейсная шина CSA, применяющаяся в чипсетах семейств i865 и i875, позволяет в полной мере реализовать возможности гигабитных адаптеров в настольных ПК, где отсутствует полноразмерная PCI-шина. Преимущество шины CSA особенно ярко проявляется при дуплексном режиме работы, когда можно получить значение сетевого трафика, принципиально не достижимое при использовании традиционных 32-бит/33-МГц PCI-адаптеров.

Другое преимущество, которое удалось выявить в ходе тестирования, заключается в низкой степени утилизации центрального процессора при любых размерах запросов, чего также не наблюдается при использовании PCI-адаптеров. Высокое значение максимального сетевого трафика и низкая степень утилизации процессора выводят новый гигабитный адаптер Intel в рекордсмены по индексу эффективной производительности среди адаптеров для настольных ПК.

Единственный отмеченный нами в ходе тестирования недостаток состоит в том, что гигабитные адаптеры не позволяют использовать обычный (не кроссоверный) кабель для связи двух ПК без применения коммутатора. Напомним, что в соответствии с требованиями стандарта Gigabit Ethernet 100Base-T (IEEE 802.3z) адаптер должен самостоятельно распознавать тип используемого кабеля и работать как с обычными (прямыми), так и с кроссоверными кабелями.

В целом же новый гигабитный адаптер можно охарактеризовать только с положительной стороны. Фактически с выходом нового поколения чипсетов семейств i865 и i875 корпорация Intel завоевала рынок настольных гигабитных адаптеров — вряд ли кто-либо из производителей захочет выпускать продукцию, которой придется конкурировать с адаптерами, практически являющимися составной частью чипсета и не только превосходящими PCI-аналоги по производительности, но и значительно более дешевыми.

КомпьютерПресс 8'2003


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует