Приводится сравнительный анализ протоколов RoCE и iWARP. Статья содержит тесты производительности для 10-, 25-, 40-, 100GbE сетей.
Февраль 2017
Перевод White Paper Mellanox https://www.mellanox.com/related-docs/whitepapers/WP_RoCE_vs_iWARP.pdf
Резюме
Удаленный прямой доступ к памяти (RDMA) обеспечивает прямой доступ из памяти одного компьютера к памяти другого в обход операционных систем на обеих сторонах соединения. Эта технология обеспечивает высокую пропускную способность, малую задержку и низкую загрузку ЦП, что особенно полезно в кластерах с массовым параллелизмом.
RDMA через конвергентный Ethernet (RoCE) — это наиболее часто используемая технология для сетей Ethernet, которая масштабно развертывается в ряде крупнейших «гипермасштабируемых» центров обработки данных в мире. RoCE — единственное решение RDMA на базе Ethernet, отвечающее отраслевым стандартам, с экосистемой от различных поставщиков, предоставляющее сетевые адаптеры и работающее через стандартные коммутаторы Ethernet уровня 2 и уровня 3. Технология RoCE стандартизирована отраслевыми организациями, включая IBTA, IEEE и IETF.
Mellanox Technologies была первой компанией, внедрившей новый стандарт во все ее семейства продуктов, начиная с ConnectX-3 Pro и далее, осуществляют полную разгрузку протокола RoCE. Эти решения обеспечивают пропускную способность со скоростью до 100 Гбит / с и лучшую на рынке задержку с минимально возможным использованием ЦП и памяти. В результате семейство адаптеров ConnectX было использовано в различных критически важных центрах обработки данных чувствительных к задержкам.
Преимущества RoCE перед iWARP
iWARP — это более сложное альтернативное предложение RDMA, которое не может обеспечить такой же уровень производительности, как решения на основе RoCE. iWARP использует сложное сочетание уровней, включая DDP (прямое размещение данных), настройку, известную как MPA (согласованное кадрирование Marker PDU), и отдельный протокол RDMA (RDMAP) для доставки услуг RDMA через TCP / IP. Эта запутанная архитектура — непродуманная попытка приспособить RDMA к существующим программным транспортным средам. К сожалению, этот компромисс приводит к тому, что iWARP не может обеспечить три ключевых преимущества, которых может достичь RoCE: высокая пропускная способность, низкая задержка и низкая загрузка ЦП.
Помимо сложности и недостатков производительности, только один поставщик (Chelsio) поддерживает iWARP в своих текущих продуктах, и эта технология не была широко принята рынком. Intel ранее поддерживала iWARP в своей сетевой карте 10GbE с 2009 года, но с тех пор не поддерживает ее ни в одном из своих новых сетевых адаптеров. Поддержка iWARP отсутствует на последних скоростях Ethernet 25, 50 и 100 Гбит / с.
iWARP разработан для работы с существующим транспортом TCP и, по сути, является попыткой исправить существующие сети LAN / WAN. Канал передачи данных Ethernet обеспечивает наилучшее обслуживание, полагаясь на уровень TCP для предоставления надежных услуг. Необходимость поддержки существующих IP-сетей, включая глобальные сети, требует охвата более широкого набора граничных условий в отношении обработки перегрузки, масштабирования и обработки ошибок, что приводит к неэффективности аппаратной разгрузки RDMA и связанных транспортных операций. RoCE, в отличие от iWARP, представляет собой специально созданный транспортный протокол RDMA для Ethernet, а не заплатку, которая используется поверх существующих протоколов TCP / IP.
Поскольку TCP лежит выше уровня соединения, он должен использовать надежную транспортную службу. Таким образом, iWARP — это не подходящая платформа для многоадресной передачи. RoCE предлагает множество транспортных услуг, в том числе: надежное соединение, ненадежные датаграммы и другие, а также обеспечивает возможность многоадресной рассылки на уровне пользователя.
Трафик iWARP также не может быть легко управляем и оптимизирован в самой фабрике, что приводит к неэффективности развертывания. Он не предоставляет способ обнаружения трафика RDMA на транспортном уровне или ниже, например, внутри самой фабрики. Совместное использование пространства портов TCP с помощью iWARP делает невозможным использование управления потоками, так как порт сам по себе не может определить, содержит ли сообщение RDMA или традиционный TCP. iWARP разделяет пространство номеров протокола с устаревшим трафиком TCP, поэтому дополнительный дескриптор ”контекст” (состояние) требуется для определения того, что пакет является iWARP. Часто этот контекст не умещается во встроенной памяти сетевой карты, что приводит к гораздо большей сложности и, следовательно, к увеличению времени расшифровки (демультиплексирования) трафика. Эта же проблема присутствует в коммутаторах и маршрутизаторах фабрики, для которых контекст недоступен.
Напротив, пакет можно определить как RoCE, просто посмотрев на поле его порта назначения UDP. Если значение совпадает с портом, назначенным IANA для RoCE — это пакет RoCE. Эта техника лежит в основе идентификации трафика без сохранения состояния. Она обеспечивает быстрое и раннее демультиплексирование трафика в реализации конвергентной сетевой карты и предоставляет такие возможности, как мониторинг коммутатора или фабрики и списки управления доступом (ACL) для улучшенного анализа и управления потоком трафика.
Поскольку iWARP разделяет пространство портов с устаревшим стеком TCP, он сталкивается с проблемами интеграции со стеками ОС. RoCE предлагает полную интеграцию стека ОС.
Приведенные выше проблемы ограничивают рентабельность и возможность развертывания продуктов iWARP, особенно по сравнению с RoCE.
RoCE включает заголовки IP и UDP в инкапсулированный пакет. Это означает, что RoCE может использоваться как в сетях L2, так и в сетях L3. Тем самым, обеспечивается маршрутизация уровня 3, которая переносит RDMA в сети с несколькими подсетями.
“Resilient RoCE” позволяет запускать RoCE на фабриках с потерями, которые не имеют управления потоком или приоритетное управление потоком. Продвинутые аппаратные механизмы RoCE обеспечивают производительность RDMA в сетях с потерями на уровне сетей без потерь.
Наконец, путем развертывания программной реализации RoCE (Soft-RoCE), архитектура которой показана на рисунке 2, можно расширить применение RoCE до устройств, которые изначально не поддерживают RoCE на аппаратном уровне. Это обеспечивает большую гибкость в использовании преимуществ RoCE в центре обработки данных.
Сравнительные тесты производительности RoCE и iWARP
Приложения, чувствительные к задержкам, например — анализ данных в реальном времени, являются краеугольным камнем конкурентоспособности поставщиков Web2.0 и центров обработки больших данных. Такие платформы могут получить выгоду от решения на RoCE, поскольку оно обеспечивает чрезвычайно низкие задержки в сети Ethernet при масштабировании до миллионов сообщений в секунду.
Сравнительные тесты скорости обмена сообщениями адаптеров Chelsio T5 и T6, работающих через 25-, 40- и 100 Гбит Ethernet iWARP с адаптерами Mellanox ConnectX с RoCE показывают, что RoCE на всех скоростях доставляет сообщения значительно быстрее, чем iWARP (рисунки 3, 4, 5).
При измерении задержки на скорости 10 Гбит RoCE ConnectX-3 по сравнению с Intel NetEffect 020 iWARP результаты еще более впечатляющие. RoCE адаптер ConnectX показал преимущество на 86% на сообщениях 64 байт, и 64% на сообщениях 2048 байт (Таблица 1).
Размер сообщения, байт | NetEffect 020 iWARP | ConnectX-3 10GbE RoCE | ConnectX-3 40GbE RoCE |
64B | 7.22 мкс | 1 мкс | 0.78 мкс |
2048B | 10.58 мкс | 3.79 мкс | 2.13 мкс |
Таблица 1: Задержка для Mellanox RoCE и Intel iWARP на 10GbE
Пропускная способность при использовании RoCE на 40 ГБ на ConnectX-3 Pro более чем в 2 раза выше, чем при использовании iWARP на Chelsio T5 (рисунок 6), и в 5 раз выше, чем при использовании iWARP на 10 ГБ с Intel (рисунок 7).
Преимущества в производительности сохраняются при использовании RoCE в сети без потерь или в сети с потерями (рисунки 8, 9). Благодаря Resilient RoCE Mellanox может обеспечить стабильно высокую производительность с контролем перегрузки в средах с потерями.
Лучшая производительность для виртуализации
Еще одним преимуществом RoCE является его способность работать через SR-IOV. SR-IOV обеспечивает превосходную производительность RoCE с минимальной задержкой, минимальной загрузкой ЦП и максимальной пропускной способностью в виртуализированной среде. RoCE доказал, что может обеспечить задержку между виртуальными машинами менее 1 мс с сохранением постоянной пропускной способности при масштабировании виртуальной среды. IWARP Chelsio работает, полагаясь на TCP для обмена данными между виртуальными машинами. Разница в задержке поразительна (рисунок 10).
Заключение
RoCE упрощает транспортный протокол. Он обходит стек TCP чтобы использовать все преимущества операций RDMA, это приводит к более высокому ROI. RoCE — это стандартный протокол, разработанный специально с учетом особенностей трафика центра обработки данных, с учетом оптимизации задержки, производительности и разгрузки ЦП. Он особенно хорошо работает в виртуализированных средах.
В сетях Ethernet RoCE обеспечивает лучшее решение по сравнению с iWARP. Для корпоративных центров обработки данных, которым требуется максимальная производительность, RoCE — очевидный выбор, в первую очередь — для приложений, чувствительных к задержкам.
В настоящее время RoCE развернут в десятках центров обработки данных с количеством узлов до сотен тысяч, в то время как iWARP практически отсутствует в полевых условиях. Проще говоря, RoCE — это бесспорный способ развертывания RDMA через Ethernet.
—
Перейдите в раздел NVMe-oF или в интересующий Вас раздел через меню