stringtranslate.com

RDMA через конвергентный Ethernet

RDMA через конвергентный Ethernet ( RoCE ) [1] — сетевой протокол, который обеспечивает удаленный прямой доступ к памяти (RDMA) через сеть Ethernet . Существует несколько версий RoCE. RoCE v1 — это протокол уровня канала Ethernet , который, следовательно, обеспечивает связь между любыми двумя хостами в одном домене широковещательной передачи Ethernet . RoCE v2 — это протокол уровня Интернета , который означает, что пакеты RoCE v2 могут маршрутизироваться. Хотя протокол RoCE использует преимущества характеристик конвергентной сети Ethernet , его также можно использовать в традиционной или неконвергентной сети Ethernet. [2] [3] [4] [5]

Фон

Сетевые приложения, такие как сетевое хранилище или кластерные вычисления, нуждаются в сетевой инфраструктуре с высокой пропускной способностью и низкой задержкой. Преимущества RDMA по сравнению с другими сетевыми интерфейсами прикладного программирования, такими как сокеты Беркли, заключаются в меньшей задержке, меньшей загрузке ЦП и большей пропускной способности. [6] Протокол RoCE обеспечивает меньшие задержки, чем его предшественник, протокол iWARP . [7] Существуют RoCE HCA (Host Channel Adapter) с задержкой всего в 1,3 микросекунды [8] [9], в то время как самая низкая известная задержка iWARP HCA в 2011 году составляла 3 микросекунды. [10]

Формат заголовка RoCE

RoCE v1

Протокол RoCE v1 — это протокол уровня канала Ethernet с Ethertype 0x8915. [2] Это означает, что применяются ограничения длины кадра протокола Ethernet: 1500 байт для обычного кадра Ethernet и 9000 байт для кадра jumbo .

RoCE v1.5

RoCE v1.5 — необычный, экспериментальный, нестандартизированный протокол, основанный на протоколе IP. RoCE v1.5 использует поле протокола IP для дифференциации своего трафика от других протоколов IP, таких как TCP и UDP . Значение, используемое для номера протокола, не указано и выбирается при развертывании.

RoCE v2

Протокол RoCE v2 существует поверх протокола UDP/IPv4 или UDP/IPv6. [3] Номер порта назначения UDP 4791 зарезервирован для RoCE v2. [11] Поскольку пакеты RoCEv2 маршрутизируются, протокол RoCE v2 иногда называют маршрутизируемым RoCE [12] или RRoCE. [4] Хотя в целом порядок доставки пакетов UDP не гарантируется, спецификация RoCEv2 требует, чтобы пакеты с одинаковым исходным портом UDP и одинаковым адресом назначения не переупорядочивались. [4] Кроме того, RoCEv2 определяет механизм управления перегрузкой, который использует биты IP ECN для маркировки и кадры CNP [13] для уведомления о подтверждении. [14] Поддержка программного обеспечения для RoCE v2 все еще появляется [ когда? ] . Mellanox OFED 2.3 или более поздние версии поддерживают RoCE v2, а также Linux Kernel v4.5. [15]

RoCE против InfiniBand

RoCE определяет, как выполнять RDMA через Ethernet , в то время как спецификация архитектуры InfiniBand определяет, как выполнять RDMA через сеть InfiniBand. Ожидалось, что RoCE перенесет приложения InfiniBand, которые в основном основаны на кластерах, в общую конвергентную инфраструктуру Ethernet. [16] Другие ожидали, что InfiniBand продолжит предлагать более высокую пропускную способность и меньшую задержку, чем то, что возможно через Ethernet. [17]

Технические различия между протоколами RoCE и InfiniBand следующие:

RoCE против iWARP

В то время как протоколы RoCE определяют, как выполнять RDMA с использованием кадров Ethernet и UDP/IP, протокол iWARP определяет, как выполнять RDMA через транспорт, ориентированный на соединение, такой как протокол управления передачей (TCP). RoCE v1 ограничен одним широковещательным доменом Ethernet . Пакеты RoCE v2 и iWARP маршрутизируются. Требования к памяти большого количества соединений вместе с потоком и контролем надежности TCP приводят к проблемам масштабируемости и производительности при использовании iWARP в крупномасштабных центрах обработки данных и для крупномасштабных приложений (например, крупномасштабные предприятия, облачные вычисления, приложения Web 2.0 и т. д. [21] ). Кроме того, многоадресная передача определена в спецификации RoCE, в то время как текущая спецификация iWARP не определяет, как выполнять многоадресную RDMA. [22] [23] [24]

Надежность в iWARP обеспечивается самим протоколом, поскольку TCP надежен. RoCEv2, с другой стороны, использует UDP , который имеет гораздо меньшие накладные расходы и лучшую производительность, но не обеспечивает собственной надежности, и поэтому надежность должна быть реализована вместе с RoCEv2. Одним из решений является использование конвергентных коммутаторов Ethernet, чтобы сделать локальную сеть надежной. Это требует поддержки конвергентного Ethernet на всех коммутаторах в локальной сети и предотвращает передачу пакетов RoCEv2 через глобальную сеть, такую ​​как Интернет, что не является надежным. Другое решение заключается в добавлении надежности в протокол RoCE (т. е. надежный RoCE), который добавляет подтверждение установления связи в RoCE, чтобы обеспечить надежность за счет производительности.

Вопрос о том, какой протокол лучше, зависит от поставщика. Chelsio рекомендует и поддерживает исключительно iWARP. Mellanox, Xilinx и Broadcom рекомендуют и поддерживают исключительно RoCE/RoCEv2. Intel изначально поддерживала iWARP, но теперь поддерживает и iWARP, и RoCEv2. [25] Другие поставщики, участвующие в сетевой индустрии, предоставляют поддержку обоих протоколов, такие как Marvell, Microsoft, Linux и Kazan. [26] Cisco поддерживает как RoCE [27] , так и свой собственный протокол VIC RDMA.

Оба протокола стандартизированы, причем iWARP является стандартом для RDMA через TCP, определенным IETF , а RoCE является стандартом для RDMA через Ethernet, определенным IBTA . [26]

Критика

Некоторые аспекты, которые могли быть определены в спецификации RoCE, были опущены. Это:

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

Известно, что использование PFC может привести к общесетевой тупиковой ситуации. [32] [33] [34]

Поставщики

Некоторые поставщики оборудования с поддержкой RoCE включают:

Ссылки

  1. ^ "Блог Роланда » Архив блога » Две заметки о IBoE".
  2. ^ ab "InfiniBand™ Architecture Specification Release 1.2.1 Annex A16: RoCE". InfiniBand Trade Association . 13 апреля 2010 г. Архивировано из оригинала 9 марта 2016 г. Получено 29 апреля 2015 г.
  3. ^ ab "InfiniBand™ Architecture Specification Release 1.2.1 Annex A17: RoCEv2". InfiniBand Trade Association . 2 сентября 2014 г. Архивировано из оригинала 17 сентября 2020 г. Получено 19 октября 2014 г.
  4. ^ abc Ophir Maor (декабрь 2015 г.). «Соображения RoCEv2». Mellanox .
  5. ^ Ophir Maor (декабрь 2015 г.). «RoCE и решения для хранения». Mellanox .
  6. ^ Кэмерон, Дон; Ренье, Грег (2002). Архитектура виртуального интерфейса . Intel Press. ISBN 978-0-9712887-0-6.
  7. ^ Фельдман, Майкл (22 апреля 2010 г.). "RoCE: История любви Ethernet-InfiniBand". HPC wire .
  8. ^ «Комплексное решение Ethernet с минимальной задержкой для финансовых услуг» (PDF) . Mellanox . Март 2011 г.
  9. ^ "RoCE vs. iWARP Competitive Analysis Brief" (PDF) . Mellanox . 9 ноября 2010 г.
  10. ^ "Подключение к серверу с низкой задержкой с новым адаптером Terminator 4 (T4)". Chelsio . 25 мая 2011 г.
  11. ^ Diego Crupnicoff (17 октября 2014 г.). «Реестр имен служб и номеров портов транспортных протоколов». IANA . Получено 14 октября 2018 г. .
  12. ^ InfiniBand Trade Association (ноябрь 2013 г.). "RoCE Status and Plans" (PDF) . IETF .
  13. ^ Ophir Maor (декабрь 2015 г.). "Формат пакета RoCEv2 CNP". Mellanox .
  14. ^ Офир Маор (декабрь 2015 г.). «Управление перегрузкой RoCEv2». Мелланокс .
  15. ^ "Kernel GIT". Январь 2016.
  16. ^ Мерритт, Рик (19 апреля 2010 г.). «Новая конвергентная сеть сочетает Ethernet и InfiniBand». EE Times .
  17. ^ Кернер, Шон Майкл (2 апреля 2010 г.). «InfiniBand переходит на Ethernet?». Enterprise Networking Planet .
  18. ^ Mellanox (2 июня 2014 г.). «Mellanox выпускает новое программное обеспечение для автоматизации, сокращающее время установки Ethernet-фабрики с часов до минут». Mellanox . Архивировано из оригинала 3 марта 2016 г.
  19. ^ "SX1036 - 36-портовая 40/56GbE коммутаторная система". Mellanox . Получено 21 апреля 2014 г. .
  20. ^ "IS5024 - 36-портовая неблокируемая неуправляемая система коммутаторов InfiniBand 40 Гбит/с". Mellanox . Получено 21 апреля 2014 г.
  21. ^ Рашти, Мохаммад (2010). "iWARP Redefined: масштабируемая связь без установления соединения через высокоскоростной Ethernet" (PDF) . Международная конференция по высокопроизводительным вычислениям (HiPC) .
  22. ^ H. Shah; et al. (октябрь 2007 г.). «Прямое размещение данных через надежные транспорты». RFC 5041 . doi : 10.17487/RFC5041 . Получено 4 мая 2011 г. .
  23. ^ C. Bestler; et al. (октябрь 2007 г.). Bestler, C.; Stewart, R. (ред.). "Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation". RFC 5043 . doi : 10.17487/RFC5043 . Получено 4 мая 2011 г.
  24. ^ P. Culley; et al. (октябрь 2007 г.). "Marker PDU Aligned Framing for TCP Specification". RFC 5044 . doi : 10.17487/RFC5044 . Получено 4 мая 2011 г.
  25. ^ "Intel® Ethernet 800 Series". Intel. Май 2021 г.
  26. ^ ab T Lustig; F Zhang; J Ko (октябрь 2007 г.). "RoCE против iWARP – следующий "великий спор о хранении"". Архивировано из оригинала 20 мая 2019 г. Получено 22 августа 2018 г.
  27. ^ «Преимущества удаленного прямого доступа к памяти через маршрутизируемые фабрики» (PDF) . Cisco. Октябрь 2018 г.
  28. Драйер, Роланд (6 декабря 2010 г.). «Две заметки о IBoE». Блог Роланда Дрейера .
  29. ^ Коэн, Эли (26 августа 2010 г.). «IB/core: Добавить поддержку VLAN для IBoE». kernel.org .
  30. ^ Коэн, Эли (13 октября 2010 г.). «RDMA/cm: Добавить поддержку RDMA CM для устройств IBoE». kernel.org .
  31. ^ Кроуфорд, М. (1998). "RFC 2464 - Передача пакетов IPv6 по сетям Ethernet". IETF . doi : 10.17487/RFC2464 .
  32. ^ Ху, Шуйхай; Чжу, Ибо; Чэн, Пэн; Го, Чуаньсюн; Тан, Кун; Падхье1, Джитендра; Чэнь, Кай (2016). Тупики в сетях центров обработки данных: почему они образуются и как их избежать (PDF) . 15-й семинар ACM по актуальным темам в сетях. стр. 92–98.{{cite conference}}: CS1 maint: числовые имена: список авторов ( ссылка )
  33. ^ Шпинер, Алекс; Захави, Эйтан; Здорнов, Владимир; Анкер, Таль; Кадош, Мэтти (2016). Разблокировка тупиков кредитной петли. 15-й семинар ACM по актуальным темам в сетях. С. 85–91.
  34. ^ Миттал, Радика; Шпинер, Александр; Панда, Ауроджит; Захави, Эйтан; Кришнамурти, Арвинд; Ратнасами, Сильвия; Шенкер, Скотт (21 июня 2018 г.). «Возвращаясь к сетевой поддержке RDMA». arXiv : 1806.08159 [cs.NI].
  35. ^ "Nvidia: сделка Mellanox может быть закрыта не раньше начала 2020 года". 14 ноября 2019 г.
  36. ^ «Израильская экосистема искусственного интеллекта приветствует предполагаемое приобретение Mellanox компанией NVIDIA | Блог NVIDIA». 27 марта 2019 г.
  37. ^ "Grovf Inc. выпускает IP-ядро RDMA RoCE V2 FPGA с малой задержкой для интеллектуальных сетевых карт". Yahoo News .
  38. ^ «УСКОРЕННАЯ ВЫЧИСЛИТЕЛЬНАЯ ПЛАТФОРМА».