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

редактировать

RDMA через конвергентный Ethernet (RoCE ) - это сетевой протокол, который позволяет удаленный прямой доступ к памяти (RDMA) по сети Ethernet. Это достигается путем инкапсуляции транспортного пакета IB через Ethernet. Существует две версии RoCE: RoCE v1 и RoCE v2. RoCE v1 является протоколом Ethernet канального уровня и, следовательно, обеспечивает связь между любыми двумя хостами в одном и том же широковещательном домене Ethernet . RoCE v2 - это протокол интернет-уровня, что означает, что пакеты RoCE v2 могут маршрутизироваться. Хотя протокол RoCE имеет преимущества конвергентной сети Ethernet , этот протокол также можно использовать в традиционной или неконвергентной сети Ethernet.

Содержание

  • 1 Предпосылки
  • 2 RoCE v1
  • 3 RoCE v1.5
  • 4 RoCE v2
  • 5 RoCE против InfiniBand
  • 6 RoCE против iWARP
  • 7 Критика
  • 8 Поставщики
  • 9 Ссылки

Общие сведения

Сетевым приложениям, таким как сетевое хранилище или кластерные вычисления, необходима сетевая инфраструктура с высокой пропускной способностью и низкой задержкой. Преимущества RDMA перед другими сетевыми интерфейсами прикладного программирования, такими как сокеты Berkeley, заключаются в более низкой задержке, меньшей загрузке ЦП и более высокой пропускной способности. Протокол RoCE допускает меньшие задержки, чем его предшественник, протокол iWARP. Существуют RoCE HCA (адаптер хост-канала) с задержкой всего 1,3 микросекунды, в то время как самая низкая известная задержка HCA iWARP в 2011 году составляла 3 микросекунды.

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

RoCE v1

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

.

RoCE v1.5

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

RoCE v2

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

RoCE по сравнению с InfiniBand

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

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

  • Управление потоком на уровне канала: InfiniBand использует кредит - основанный на алгоритме, гарантирующий без потерь связь между HCA и HCA. RoCE работает поверх Ethernet, реализациям может потребоваться сеть Ethernet без потерь для достижения характеристик производительности, аналогичных InfiniBand, Ethernet без потерь обычно настраивается через управление потоком Ethernet или приоритетное управление потоком (PFC). Настройка сети Ethernet с мостом центра обработки данных (DCB) может быть более сложной, чем настройка сети InfiniBand.
  • Контроль перегрузки: Infiniband определяет контроль перегрузки на основе маркировки FECN / BECN, RoCEv2 определяет перегрузку протокол управления, использующий ECN для маркировки как реализованный в стандартных коммутаторах и кадры CNP для подтверждений.
  • Доступные коммутаторы InfiniBand всегда имели меньшую задержку, чем коммутаторы Ethernet. Межпортовая задержка для одного конкретного типа коммутатора Ethernet составляет 230 нс по сравнению с 100 нс для коммутатора InfiniBand с тем же количеством портов.

RoCE по сравнению с iWARP

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

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

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

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

Criticism

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

  • Как выполнить преобразование между первичными GID RoCE v1 и Ethernet MAC-адресами.
  • Как выполнить преобразование между вторичными GID RoCE v1 и MAC-адресами Ethernet. Неясно, возможно ли реализовать вторичные GID в протоколе RoCE v1 без добавления протокола разрешения адресов, специфичного для RoCE.
  • Как реализовать VLAN для протокола RoCE v1. Текущие реализации RoCE v1 хранят идентификатор VLAN в двенадцатом и тринадцатом байтах шестнадцатибайтового GID, хотя в спецификации RoCE v1 вообще не упоминаются VLAN.
  • Как выполнить преобразование между GID многоадресной рассылки RoCE v1 и MAC-адресом Ethernet адреса. В реализациях 2010 года использовалось то же сопоставление адресов, которое было указано для сопоставления групповых адресов IPv6 с MAC-адресами Ethernet.
  • Как ограничить многоадресный трафик RoCE v1 подмножеством портов коммутатора Ethernet. По состоянию на сентябрь 2013 года эквивалент протокола Multicast Listener Discovery еще не был определен для RoCE v1.

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

Известно, что использование PFC может привести к тупиковой ситуации во всей сети.

Поставщики

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

Ссылки

Последняя правка сделана 2021-06-03 04:27:02
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте