Тестирование серверных гигабитных сетевых адаптеров

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

Введение

Intel PRO 1000MT Server Adapter

Intel 82546EB

Intel 82547GI

Broadcom BCM5703

Broadcom BCM5704

Broadcom BCM5721

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

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

 

В тестовой лаборатории «КомпьютерПресс» проведено тестирование пяти интегрированных серверных сетевых адаптеров 1000Base-T на основе чипов Broadcom BCM5703, Broadcom BCM5704, Broadcom BCM5721, Intel 82546EB и Intel 82547GI, а также PCI-контроллера Intel PRO 1000MT Server Adapter на основе чипа Intel 82545GM.

Введение

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

Если говорить об интегрированных серверных сетевых адаптерах, то следует отметить, что в настоящее время существует достаточно большое разнообразие чипов, ориентированных на использование с разными платформами. Это чипы и с интерфейсом PCI-X, и с новым интерфейсом PCI Express, и с интерфейсом CSA. А поскольку наличие интегрированного сетевого адаптера на системной плате сервера не исключает использования альтернативного PCI- или PCI Express-адаптера, то вопрос здесь только в том, насколько это действительно необходимо и востребованно. Для того чтобы ответить на этот вопрос, мы провели тестирование серверных интегрированных гигабитных адаптеров, построенных на наиболее распространенных чипах: Broadcom BCM5703, Broadcom BCM5704, Broadcom BCM5721, Intel 82546EB и Intel 82547GI. Кроме того, был протестирован серверный гигабитный PCI-Х-контроллер Intel PRO 1000MT Server Adapter на основе чипа Intel 82545GM.

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

Intel PRO 1000MT Server Adapter

ООднопортовый гигабитный сетевой адаптер Intel PRO 1000MT Server Adapter построен на основе нового однокристального чипа Intel 82545GM, выполняющего функции контроллера физического уровня (PHY), Ethernet-контроллера 10/100/1000 Мбит/с (MAC-уровень) и контроллера интерфейса PCI-X.

На плате адаптера имеется также флэш-память емкостью 128 Кбайт (2 Мбитх8) для поддержки технологии Adaptive Technology (адаптивная технология), которая осуществляет загрузку микрокода в контроллер. Эта загрузка производится драйвером и необходима для подстройки контроллера на уровне кремния под конкретную операционную систему.

В соответствии со спецификацией чип Intel 82545GM поддерживает PCI-шину разрядностью 32 бит с тактовыми частотами 33 и 66 МГц и PCI-X-шину с тактовой частотой 100 и 133 МГц и разрядностью 64 бит.

Управление доступом к среде осуществляется на основе архитектуры Intel четвертого поколения, а согласование с физической средой передачи позволяет реализовать поддержку стандартов 10Base-T, 100Base-TX и 1000Base-T (IEEE 802.3, IEEE 802.3u, IEEE 802.3ab).

Канал Gigabit Ethernet имеет 64 Кбайт встроенной буферной памяти и может осуществлять предварительную загрузку до 64 дескрипторов пакетов, что снижает нагрузку на интерфейс PCI.

Для увеличения производительности в чипе Intel 82545GM реализована технология объединения прерываний для высвобождения процессорных ресурсов (Advanced interrupt moderation) за счет сокращения числа прерываний и группировки пакетов.

В целях расширения возможностей по управлению и мониторингу в контроллере имеется порт SMB (System Management Bus — шина управления системой), который представляет собой двухпроводной последовательный интерфейс, основанный на протоколе Philips I2C.

Все остальные характеристики контроллера и соответственно сетевого адаптера типичны для всех гигабитных адаптеров и определяются стандартом.

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

Intel 82546EB

Микросхема Intel 82546EB представляет собой однокристальный двухпортовый гигабитный 10/100/1000 Мбит/с Ethernet-контроллер, объединяющий контроллер MAC-уровня и контроллер физического (PHY) уровня. В микросхеме Intel 82546EB интегрирован также контроллер PCI/PCI-X интерфейса.

Согласно спецификации чип Intel 82546EB поддерживает PCI-шину разрядностью 32 бит с тактовыми частотами 33 и 66 МГц и PCI-X-шину разрядностью 64 бит с тактовыми частотами 100 и 133 МГц.

Как и у чипа Intel 82545GM, управление доступом к среде основано на архитектуре Intel четвертого поколения, согласование с физической средой передачи позволяет реализовать поддержку стандартов 10Base-T, 100Base-TX и 1000Base-T (IEEE 802.3, IEEE 802.3u, IEEE 802.3ab).

Собственно говоря, основное различие между уже описанным чипом Intel 82545GM и чипом Intel 82546EB заключается в том, что последний является двухпортовым. В остальном же характеристики этих чипов совпадают. Так, канал Gigabit Ethernet имеет 64 Кбайт встроенной буферной памяти и может осуществлять предварительную загрузку до 64 дескрипторов пакетов, что снижает нагрузку на интерфейс PCI.

Остальные характеристики чипов (технология Advanced interrupt moderation, наличие порта SMB) у этих чипов совпадают.

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

Intel 82547GI

Микросхема Intel 82547GI — это однокристальный двухпортовый гигабитный 10/100/1000 Мбит/с Ethernet-контроллер, объединяющий в себе контроллеры MAC-уровня и физического (PHY) уровня. Кроме того, в микросхеме Intel 82547GI интегрирован и контроллер интерфейса CSA (Communication Streaming Architecture).

Чип Intel 82547GI ориентирован на использование в серверных и десктопных платах, построенных на наборе микросхем Intel 865 и Intel 875. Их северный мост которых имеет шину CSA, теоретическая пропускная способность которой составляет 266 Мбайт/с или 2,1 Гбит/с.

В сравнении с двумя предыдущими чипами, в модели Intel 82547GI реализована архитектура Intel пятого поколения.

Канал Gigabit Ethernet имеет 40 Кбайт встроенной буферной памяти. К тому же чип поддерживает пакеты Jumbo frames размером до 16 Кбайт, а для увеличения производительности в чипе служит технология объединения прерываний для высвобождения процессорных ресурсов (Advanced interrupt moderation) посредством сокращения числа прерываний и группировки пакетов. Вычисление контрольных сумм TCP/IP/UDP при получении пакетов выполняется контроллером Intel 82547GI сетевого адаптера, а не центральным процессором, что позволяет снизить нагрузку на процессор.

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

Broadcom BCM5703

Микросхема BCM5703 представляет собой 64-разрядный серверный однопортовый гигабитный Ethernet-контроллер MAC-уровня в сочетании с контроллером физического (PHY) уровня, обеспечивающим поддержку стандартов IEEE 802.3, IEEE 802.3u, IEEE 802.3ab, то есть с возможностью работы на скоростях 10, 100 и 1000 Мбит/с.

В соответствии со спецификацией чип BCM5703 поддерживает PCI-шину разрядностью 32/64 бит с тактовыми частотами 33 и 66 МГц и PCI-X-шину с частотами 100 и 133 МГц и разрядностью 64 бит.

Контроллер построен на базе RISC-процессора с кэшем 16 Кбайт, а размер пакетного буфера составляет 96 Кбайт.

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

В заключение отметим, что данный чип поддерживает пакеты Jumbo Frames с максимальным размером до 9 Кбайт.

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

Broadcom BCM5704

Микросхема BCM5704 является 64-разрядным серверным двухпортовым гигабитным Ethernet-контроллером MAC-уровня в сочетании с контроллером физического (PHY) уровня, обеспечивающим поддержку стандартов IEEE 802.3, IEEE 802.3u, IEEE 802.3ab, что дает возможность работать на скоростях 10, 100 и 1000 Мбит/с.

Согласно спецификации чип BCM5703 поддерживает PCI-шину с разрядностью 32/64 бит и с тактовыми частотами 33 и 66 МГц, а также PCI-X-шину с частотами 100 и 133 МГц и разрядностью 64 бит.

Контроллер построен на базе RISC-процессора с кэшем 16 Кбайт, размер пакетного буфера составляет 96 Кбайт.

Совместимый с различными стандартами, данный адаптер использует такие технологии, которые позволяют снизить загрузку центрального процессора. Например, вычисление контрольных сумм TCP/IP/UDP при получении пакетов выполняется не в центральном процессоре, а в контроллере BCM5703 сетевого адаптера. Реализована и технология объединения прерываний для высвобождения процессорных ресурсов посредством сокращения количества прерываний и группировки пакетов.

Данный чип поддерживает пакеты Jumbo Frames с максимальным размером до 9 Кбайт.

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

Broadcom BCM5721

Вroadcom BCM5721 — один из трех гигабитных контроллеров семейства NetXtreme, поддерживающих новый интерфейс PCI Express x1 c пропускной способностью до 2 Гбит/с.

Как и все остальные чипы, BCM5721 объединяет и контроллер МАС-уровня, и контроллер PHY-уровня, что обеспечивает поддержку стандартов IEEE 802.3, IEEE 802.3u, IEEE 802.3ab. Чип построен на базе RISC-процессора с кэш-буфером размером 24 Кбайт.

Подобно всем серверным сетевым контроллерам, чип BCM5721 поддерживает технологии, позволяющие снизить загрузку центрального процессора. В частности, реализована технология объединения прерываний, а вычисление контрольных сумм TCP/IP/UDP при получении пакетов выполняется в контроллере сетевого адаптера, а не в центральном процессоре.

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

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

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

Для тестирования гигабитных сетевых адаптеров использовался стенд, состоящий из 16 компьютеров, компьютера-контроллера, сервера и коммутатора 3Com SuperStack 3 Switch 4250T (3C1732) с 48 портами 100Base-TX и 2 портами 1000Base-T. Порты 10/100Base-TX применялись для подключения рабочих станций, а к портам 1000Base-T были подключены контроллер и сервер.

Основная сложность нашего тестирования заключалась в том, чтобы обеспечить неизменность стенда для проведения тестирования. Но если сделать это в отношении компьютеров и коммутатора не составляло проблемы, то ситуация с сервером была совершенно противоположной. Дело в том, что тестируемые интегрированные серверные гигабитные сетевые адаптеры являются составной неотъемлемой частью самой серверной платформы, поэтому при тестировании каждого нового сетевого адаптера нужно использовать и новый сервер. А для того, чтобы обеспечить корректность результатов, необходимо было использовать такие тесты, которые были бы полностью платформенно-независимыми, то есть результаты тестов должны были определяться исключительно производительностью тестируемых сетевых адаптеров и в то же время не зависеть от производительности ни дисковой, ни процессорной подсистем сервера, ни подсистемы памяти. К таким синтетическим тестам, обеспечивающим независимость результатов от всех подсистем сервера (кроме его сетевой подсистемы), относится тестовый пакет NetIQ Chariot 5.0, специально предназначенный для измерения производительности различных сетевых устройств.

На всех компьютерах, эмулирующих работу локальной сети, и на компьютере-контроллере устанавливалась операционная система Microsoft Windows XP Professional XP1, а на сервере — Microsoft Windows Server 2003 Enterprise Edition.

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

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

Для генерации максимального сетевого трафика по протоколу TCP/IP использовался нагрузочный файл High_Performance_Throughtput.scr, входящий в пакет NetIQ Chariot 5.0. В данном тесте имитируется многократная передача файлов размером 10 Мбайт. Размер буфера на передачу и прием данных устанавливался равным 65 535 байт. Кроме того, для увеличения интенсивности трафика применялись нулевые задержки между запросами на передачу. Подробные характеристики скрипта High_Performance_Throughtput.scr представлены в табл. 1.

 

Таблица 1. Характеристики скрипта High_Performance_Throughtput.scr

Таблица 1. Характеристики скрипта High_Performance_Throughtput.scr

Для генерации максимальной скорости передачи пакетов по протоколу TCP/IP мы использовали несколько модифицированный скрипт packetl.scr (пакетный бластер), входящий в пакет NetIQ Chariot 5.0. В данном тесте имитируется посылка коротких пакетов на предельно возможной скорости без ожидания подтверждения их получения, для чего применяется многократная передача коротких запросов размером 100 байт. Размер буфера на передачу и прием данных устанавливался равным по умолчанию, а для увеличения интенсивности трафика использовались нулевые задержки между запросами на передачу (transaction delay).

Кроме того, в данном скрипте применяется так называемое длинное соединение (long connection), то есть устанавливается только одно соединение для последовательной передачи нескольких (в нашем случае 1000) транзакций.

Поскольку передача коротких пакетов, называемых также тиниграммами (от англ. tiny — крошечный), приводит к снижению пропускной способности сети, в сетях TCP/IP используется алгоритм Нагла (RFC 896), в соответствии с которым в TCP-соединении может присутствовать только один исходящий малый сегмент, который еще не был подтвержден, а следующие такие сегменты могут быть посланы только после получения подтверждения. Вместо того чтобы отправляться последовательно, маленькие порции данных накапливаются и отправляются одним TCP-сегментом после поступления подтверждения на первый пакет.

Алгоритм Нагла фактически не допускает применения коротких пакетов данных, поэтому для создания стрессовой нагрузки на коммутатор в режиме генерации максимальной скорости передачи пакетов алгоритм Нагла необходимо было блокировать. Для этого производилась модификация тестового скрипта packetl.scr путем добавления опции о запрещении использования алгоритма Нагла как на приемном, так и на передающем узле сети. Подробные характеристики скрипта packetl.scr представлены в табл. 2.

 

Таблица 2. Характеристики скрипта packetl.scr

Таблица 2. Характеристики скрипта packetl.scr

Как в режиме генерации максимального сетевого трафика, так и в режиме генерации максимальной скорости передачи пакетов коммутация осуществлялась от портов 10/100Base-TX на порт 1000Base-T и обратно, то есть эмулировались режим генерации трафика на сервер (входящий трафик), режим генерации трафика от сервера (исходящий трафик) и дуплексный режим обмена данными.

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

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

Результаты тестирования интегрированных серверных гигабитных сетевых адаптеров представлены в табл. 3. Кроме того, нами было проанализировано поведение сетевых адаптеров при постепенном увеличении нагрузки, то есть когда каждый последующий активный клиент сети подключается с 1-мин задержкой относительно предыдущего.

 

Таблица 3. Результаты тестирования интегрированных серверных гигабитных сетевых адаптеров

Таблица 3. Результаты тестирования интегрированных серверных гигабитных сетевых адаптеров

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

Если же попытаться выделить абсолютного лидера нашего тестирования, то им стал контроллер на основе чипа Broadcom BCM5704.

Характер зависимости сетевого трафика от числа активных клиентов оказался практически одинаковым для всех протестированных нами сетевых контроллеров, поэтому в качестве примера мы приведем лишь графики для контроллера на основе чипа Intel 82547GI (рис. 1, 2, 3, 4). Как видно из приведенных графиков, в режиме пакетного бластера входящий трафик был существенно выше исходящего, а в режиме генерации максимального трафика входящий и исходящий трафики приблизительно совпадали при любом числе активных клиентов. В дуплексном режиме обмена данными сетевой трафик в режиме пакетного бластера насыщался уже при 3-4 активных клиентах, а в режиме генерации максимального трафика насыщение происходило только при 13 активных клиентах.

 

Рис. 1. Зависимость сетевого трафика контроллера Intel 82547GI от числа активных клиентов в режиме пакетного бластера: синяя кривая — входящий трафик, коричневая — исходящий трафик

Рис. 1. Зависимость сетевого трафика контроллера Intel 82547GI от числа активных клиентов в режиме пакетного бластера: синяя кривая — входящий трафик, коричневая — исходящий трафик

Рис. 2. Зависимость сетевого трафика контроллера Intel 82547GI

Рис. 2. Зависимость сетевого трафика контроллера Intel 82547GI
от числа активных клиентов в дуплексном режиме
пакетного бластера

Рис. 3. Зависимость сетевого трафика контроллера Intel 82547GI от числа активных клиентов в режиме генерации максимального трафика: синяя кривая — входящий трафик, коричневая — исходящий трафик

Рис. 3. Зависимость сетевого трафика контроллера Intel 82547GI от числа активных клиентов в режиме генерации максимального трафика: синяя кривая  — входящий трафик, коричневая — исходящий трафик

Рис. 4. Зависимость сетевого трафика контроллера Intel 82547GI от числа активных клиентов в дуплексном режиме генерации максимального трафика

Рис. 4. Зависимость сетевого трафика контроллера Intel 82547GI от числа активных клиентов в дуплексном режиме генерации максимального трафика

КомпьютерПресс 3'2005

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
Популярные статьи
КомпьютерПресс использует