Занимательная 40-гигабитность
Мой самый первый пост, который я три года назад написал на Хабр, был посвящен 10G Ethernet и 10G сетевым картам Intel, что, в принципе, не случайно, ведь сетевые технологии — это моя профессия. Далее посты на данную тему почти не появлялись в блоге Intel — как говорится, не было повода. И вот теперь он появился, и вполне весомый. Ведь выход нового поколения сетевых карт Intel на контроллере X/XL710 принес с собой не только улучшение характеристик и новые возможности, но и появление принципиально нового для компании продукта — 40G Ethernet сетевых карт для серверов. Самое время поговорить о текущей ситуации в области 40-гигабитности.
«в 4 раза лучше 10G»
Стандарт IEEE 802.3ba, описывающий 40/100G Ethernet, был опубликован более 5 лет назад. Перспективы тогда рисовались самые радужные: прогнозировалось, что к 2015 году (то есть уже сейчас) порты 40/100G будут составлять не менее четверти всех портов Ethernet. На правах живущих в означенное время мы можем утверждать определенно: этого не произошло. Почему? Собственно, за три прошедших года принципиально ничего не изменилось; позволю себя процитировать:»… главная причина, на мой взгляд, заключается в том, что такие скорости в большинстве случаев просто не нужны; за исключением сверх больших ЦОД или гигантских облачных площадок одна или несколько линий 10G прекрасно справляются с передачей возложенного на них трафика».
Однажды в оное оптимистическое время довелось мне присутствовать на презентации известного вендора. На вопрос: «почему вы продвигаете 40G?» докладчик ответил лаконично: «потому что он в 4 раза лучше 10G». Однако рынок в очередной раз продемонстрировал свою прагматичность. Навряд ли оператор поведет своих партнеров в автозал, чтобы гордо показать:, а вот у нас модуль 40G в маршрутизаторе! Конечному пользователю нужно получить необходимые показатели производительности за оптимальную стоимость. Пусть даже с использованием устаревших технологий.
По моим наблюдениям, ситуация стала потихоньку меняться где-то около двух лет назад, при этом, что характерно, порты до сих пор 40G имеют тенденцию «разваливаться» на 4×10G (благо по своей природе они это делают легко), что еще раз подтверждает вышеозначенный тезис. В целом процесс идет очень медленно, операторы связи, даже самые крупные, по-прежнему предпочитают обходиться агрегацией n x 10G каналов, а в ЦОД Ethernet приходится конкурировать с Infiniband QDR/HDR, экономнее тратящим пропускную способность канала и обеспечивающим меньшие задержки. Кому интересны цифры, вот здесь приводится отчет от тестировании Ethernet vs Infiniband с помощью бенчмарка Intel MPI Benchmark.
40G Ethernet | InfiniBand QDR | InfiniBand FDR | |
---|---|---|---|
Задержки, мсек | 7.8 | 1.5 | 0.86–1.4 |
Скорость, Мбит/с | 1126 | 3400 | 5300–6000 |
40G изнутри
Стандарт IEEE 802.3ba предложил несколько вариантов сред передачи данных на скорости 40 Гбит/с.
Спецификация | Среда | Макс. расстояние |
---|---|---|
40GBase-KR4 | Бекплейн | 1 м |
40GBase-CR4 | Медный твинаксиальный кабель | 7 м |
40GBase-SR4 | Оптика многомод, 850 нм | 150 м (ОМ4) |
40GBase-LR4 | Оптика одномод, 1310 нм | 10 км |
Все спецификации 40G с цифрой 4 на конце объединяет один общий момент: для передачи данных используется не одна, а одновременно 4 линии. Распределением данных по линиям занимается модуль, названный в стандарте MLD (Multilane Distribution, распределение по множественным линиям). На вход модуля поступает поток данных, закодированных по алгоритму 64b/66b, MLD по очереди (round-robin) раздает 66-битные блоки в каждую из параллельных линий, которые могут быть как физически различными волокнами (40GBase-SR4), так и различными λ-частотами в рамках структуры WDM (Wave Division Multiplexing), как в спецификации 40GBase-LR4.
Дабы избежать ошибок при обратной сборке трафика на этапе мультиплексирования в поток 66-битных слов вставляются служебные маркеры.
Технологии частотного мультиплексирования, давно прописавшиеся в Ethernet, оказались тут как нельзя кстати, однако возникала некоторая натяжка: устройства WDM и без того давно используются в магистральных линиях MAN/WAN, зачем нам еще один CWDM под другим именем? А вот у многоволоконного варианта перспективы, определенно, есть.
Перспективность спецификации 40GBase-SR4 (а речь именно о ней) — в ее экономичности. В настоящее время это самое доступное решение 40G для LAN-расстояний и фактически единственное активное используемое среди всей линейки 40G спецификаций. В качестве конструктива присоединения для 40GBase-SR4 используется 12-контактный разъем MPO (Multi-fiber push-on).
Оптические выходы в 12-контактном MPO расположены в один ряд между направляющими, для 40GBase-SR4 применяется 4 пары линий. В 100G Ethernet МРО-разъем 24-контактный, выходы идут в два ряда.
«Ответной частью» оптического порта 40GBase-SR4 в оборудовании служит разъем QSFP+ (аналогично SFP для 1G и SFP+ для 10G), таким образом, трансивер 40GBase-SR4 имеет с одной стороны МРО, с другой — QSFP+.
Что дает нам Intel 710?
Перейдем теперь к сетевым продуктам Intel. Сначала немного истории. Сетевые карты — устройства, не имеющие маркетинговой нагрузки, поэтому смены их поколений обусловлены исключительно техническими причинами и происходят нечасто — об этом мы уже говорили во введении.
Прорывом в высокоскоростной Ethernet стал для Intel сетевой чип Intel 82598EB, созданный 10 лет назад и ставший де-факто эталоном 10G Ethernet на многие годы. Через несколько лет в линейку добавился чип Intel 82599EN, принесший ряд улучшений: уменьшился техпроцесс, увеличилась скорость передачи данных по шине… Кстати, мало кто знает, но у сетевых чипов Intel также есть кодовые имена, как у процессоров: скажем, у первого — Bellefontaine, у второго — Spring Fountain. При выходе очередного обновления линейки сетевых контроллеров в Intel решили, что негоже ломать мозг об длинные индексы и назвали его короче и понятнее — Х540; то же наименование получили и карты на его основе. Вот с таким багажом мы подошли к выходу нового поколения чипов Х/XL710. Если кому интересно, то кодовое имя нового чипа — Fortville. В настоящее время доступны 4 варианта карт, навряд ли их станет больше.
Карта | Скорость | Порты | Варианты модулей |
---|---|---|---|
Intel X710-DA2 | 10G | 2 x SFP+ | 10GBase-LR, 10GBase-SR, DA |
Intel X710-DA4 | 10G | 4 x SFP+ | 10GBase-LR, 10GBase-SR, DA |
Intel XL710-QDA1 | 40G | 1 x QSFP+ | 40GBase-SR4, 40GBase-LR4, DA |
Intel XL710-QDA2 | 40G | 2 x QSFP+ | 40GBase-SR4, 40GBase-LR4, DA |
Партномера оптических модулей и медных кабелей Intel можно найти по ссылкам на страницах карт.
Почему появление новых сетевых карт встречено такими громкими словами? Дело в том, что новизна Х/XL710 поистине всеобъемлюща, как технологически, так и идеологически. Начнем с идеологии. Раньше Intel предпочитала выпускать 10G карты с фиксированными портами, опасаясь (и подчас справедливо), что некачественный трансивер, установленный в карту и, как следствие, некорректная работа всей системы — это подрыв и ее репутации. Однако такой подход доставлял определенное неудобство, был негибким по отношению к конечному пользователю. И вот Intel решилась: все семейство Х710 идет исключительно с разъемами SFP+ (QSFP у 40G карт на чипе XL710).
Теперь о технологии. Серия 710 стала первой, получившей поддержку PCIe 3.0 со скоростью на линию 8 ГT/с. Таким образом, восемь линий обеспечивают достаточный запас для размещения на карте 4 портов 10G или одного порта 40G (два порта 40G с переподпиской) — естественно, такая конфигурация появилась тоже впервые. Ну и, в добавок, очередное уменьшение техпроцесса — теперь это 28 нм.
Итак, теперь оконечное устройство (сервер) получило в свое распоряжение 40G интерфейс в виде одного порта или четырех на одной карте. В свете главы второй этого поста возникает вопрос:, а так ли оно ему надо? На мой взгляд, настал такой момент, когда появление такого адаптера оправдано. Вот мои аргументы.
- Сервера с несколькими 10G интерфейсами — уже давно не редкость, причин тому может быть несколько: топология сети, особенности маршрутизации, требования приложений и т.д. 4-портовая карта сэкономит вам место в сервере, что в условиях хронической нехватки места только приветствуется. Кроме того, 4 порта на одной карте обойдутся вам существенно дешевле отдельных.
- Увеличение плотности портов на серверах позволит пытливым оч. умелым ручкам реализовать интересные аппаратно-программные решения для жонглирования трафиком. Список вариантов очень широк: мониторинг, фильтрация на любом уровне, агрегация, балансировка и так далее, как говорится, DPDK вам в руки.
- Мощные платформы виртуализации — тоже вполне реальная тема, и им также хочется быть потоньше. Для некоторых серверов приложений 40G тоже будет, думается не лишним.
Исходя из динамики процесса, мой следующий пост будет о 100G карте Intel. Что ж, это тоже непременно произойдет. А может, и до того что-то интересное случится.