Объем ежедневно обрабатываемых данных растет по экспоненте, вследствие чего возрастает нагрузка на вычислительное оборудование и, в частности, на CPU, что является следствием использования традиционных протоколов передачи данных TCP/IP. Это очень распространенная и серьезная проблема для таких сфер, как обработка больших данных, СХД и сектора HPC. Чтобы уменьшить нагрузку на систему и увеличить производительность, владельцы дата-центров обращают свое внимание на технологии RDMA — InfiniBand и RoCE. Тем не менее, у этих сетевых стеков есть неприятный недостаток — для них нужно докупать совместимое оборудование. Но есть ли технология RDMA, которая позволяет получить прямой доступ к памяти, при этом не требуя интеграции новых сетевых карт или коммутаторов? Такое решение действительно есть — протокол iWARP. В этой статье мы поговорим о том, как появился iWARP, что из себя представляет этот протокол, в чем его преимущества в сравнении с конкурентами и какое оборудование его поддерживает.
Что такое iWARP?
iWARP (Internet Wide Area RDMA Protocol) представляет сетевой протокол, позволяющий реализовать технологию удаленного прямого доступа к памяти (RDMA) поверх стандартных сетей TCP/IP, таких как Ethernet. Как и другие RDMA-технологии, такие как RoCE и InfiniBand, iWARP позволяет приложениям обмениваться данными напрямую между памятью серверов, при этом не задействуя центральный процессор и ядро операционной системы (Zero-copy, Kernel Bypass). Это обеспечивается использованием сетевых адаптеров с поддержкой RDMA-технологий (RNIC), которые необходимы для всех протоколов прямого доступа к памяти. Весь ресурсоемкий процесс обработки стека TCP/IP и управления соединениями RDMA выполняется специальным чипом, интегрированным в RNIC, а не CPU. Сам перенос обработки сетевых пакетов осуществляется через аналог технологии TOE (TCP Offload Engine), но со значительно более широким функционалом. Благодаря тому, что iWARP может работать поверх традиционных протоколов TCP/IP (или SCTP), он обеспечивает гарантированную доставку пакетов данных и эффективное управление трафиком. Для базовой функциональности и надежной доставки iWARP не требует поддержки таких механизмов, как PFC (Priority Flow Control) или ECN (Explicit Congestion Notification) на сетевых коммутаторах, поэтому его можно использовать в существующих Ethernet-инфраструктурах. Однако у протокола iWARP есть фундаментальный недостаток — высокие задержки, которые достигают 10–50 мкс, что не идет ни в какое сравнение с задержками RoCE (2–5 мкс) и InfiniBand (<1 мкс). Помимо этого, iWARP уступает аналогам и по пропускной способности, обеспечивая лишь 200 Гбит/с.
Сетевые протоколы iWARP. Источник: .
Примечательно, что история протокола iWARP началась раньше, чем InfiniBand и RoCE — в 1989 году разработку iWARP начала компания Intel при сотрудничестве с университетом Карнеги-Меллона, а впоследствии к ним подключилась IBM. Компании, состоящие в этом консорциуме, планировали решить проблемы протоколов TCP/IP, в частности, рост нагрузки на CPU из-за увеличения скоростей передачи данных. К 2007 технология была разработана и предложена IETF (Инженерный Совет Интернета). Впоследствии IETF определила ряд стандартов iWARP:
RFC 5040: A Remote Direct Memory Access Protocol Specification. Определяет кодирование операций RDMA (Send, Read, Write) с использованием заголовков DDP.
RFC 5041: Direct Data Placement over Reliable Transports. Описывает механизм прямой записи данных в буфер приложения без промежуточного копирования поверх MPA/TCP или SCTP.
RFC 5042: DDP/RDMAP Security. Анализирует проблемы безопасности протоколов DDP и RDMAP (например, риски несанкционированного доступа к памяти).
RFC 5043: SCTP Direct Data Placement (DDP) Adaptation. Специфицирует адаптацию DDP для работы поверх SCTP.
RFC 5044: Marker PDU Aligned Framing for TCP Specification. Вводит MPA-фрейминг для сохранения границ записей DDP при передаче через TCP (решает проблему "склеивания" пакетов).
RFC 6580: IANA Registries for RDDP Protocols. Устанавливает реестры IANA для кодов ошибок, операций и функций в стеке RDDP.
RFC 7306: RDMA Protocol Extensions. Добавляет поддержку атомарных операций (Compare-and-Swap, Fetch-and-Add) и RDMA Write with Immediate Data.
iWARP vs RoCE
Протоколы прямого доступа к данным iWARP и RoCEv2 значительно отличаются как в архитектурных аспектах, так и в сложности интеграции. В основе iWARP лежит использование надежных транспортных стеков TCP/IP (или SCTP/IP), входящих в традиционные Ethernet-сети. Благодаря ним iWARP гарантированно доставляет пакеты данных, поскольку в TCP/IP встроены механизмы Flow control, которые автоматически восстанавливают сетевые пакеты на уровне протокола без нагрузки на CPU и сброса RDMA-соединения. В свою очередь, RoCEv2 использует менее надежный протокол UDP, который не имеет функции восстановления пакетов, поэтому для гарантированной доставки данных без потерь (lossless-сети) нужны дополнительные протоколы управления перегрузками (DCQCN), а также обязательная поддержка функций PFC (Priority Flow Control) и ECN (Explicit Congestion Notification). Очевидно, что из-за перечисленных особенностей интеграция RoCEv2 в сетевую инфраструктуру происходит значительно сложнее, чем интеграция iWARP, но чем это обусловлено? Дело в том, что iWARP переносит все операции по обработке трафика TCP/IP вместе с логикой RDMA на сетевой адаптер (RNIC) с интегрированными ASIC/сопроцессорами. Это позволяет протоколу iWARP функционировать в стандартных L3 IP-сетях без дополнительных требований к коммутаторам и настройки. RoCEv2, напротив, не переносит все операции обработки на отдельный чип, но это создает потребность в тщательной настройке PFC/ECN на всей инфраструктуре коммутаторов для обеспечения масштабируемости и низких задержек. При неправильной настройке PFC/ECN все преимущества RoCE v2 сводятся к минимуму, поскольку протокол очень чувствителен к потере пакетов — даже один потерянный пакет может привести к таймауту и разрыву всего соединения RDMA (хотя DCQCN призван минимизировать этот риск). Наконец, в масштабируемости iWARP обладает преимуществом для сложных, гетерогенных сетей, включая WAN, благодаря повсеместной поддержке Ethernet-протоколов TCP/IP, в то время как RoCEv2 лучше подходит для когерентных сред дата-центров с полной поддержкой PFC/ECN на оборудовании.
Ключевые отличия RoCEv2 и iWARP. Источник: .
iWARP vs InfiniBand
Хотя InfiniBand и сохраняет лидерство по минимальным показателям задержки (менее 1 мкс) и максимальной пропускной способности (до 800 Гбит/с), iWARP на современном оборудовании обеспечивает уровень производительности прямого доступа к данным, достаточный для подавляющего большинства реальных задач, вроде обработки больших данных, виртуализации, или даже HPC. К тому же, iWARP свободно функционирует в существующих Ethernet-сетях используя стандартные и бюджетные медные или оптические кабели (витая пара, DAC, AOC, оптические трансиверы) и IP-коммутаторы для широкого сегмента рынка. Это выгодно отличает iWARP от проприетарного InfiniBand, для развертывания которого требуется практически полная перестройка инфраструктуры. Использование iWARP в сетевой среде позволяет радикально снизить стоимость развертывания и эксплуатации системы. Кроме того, iWARP бесшовно интегрируется в существующие системы управления, мониторинга (SNMP, NetFlow) и безопасности (IPsec, стандартные межсетевые экраны) IP-сетей, благодаря чему не потребуется изучать тонкости работы с новой системой. Таким образом, iWARP предлагает компромисс, где совместимость, стоимость и простота управления на базе универсального Ethernet зачастую становятся решающими факторами при выборе между iWARP и InfiniBand/RoCEv2, особенно вне узкоспециализированных сред с экстремальными требованиями к задержке.
Сравнение пропускной способности iWARP с InfiniBand с одним портом и совокупной пропускной способностью сетевого адаптера. Источник: .
Сферы применения iWARP
Рассмотрим основные сценарии использования протокола iWARP:
Сравнение работы сетевой инфраструктуры с интеграцией iWARP и без нее. Источник: .
Ускорение корпоративных СХД и виртуализации
Протокол iWARP широко используется в корпоративных средах, где необходимо обеспечить RDMA-функционал, при этом не меняя существующую Ethernet-инфраструктуру. Одной из таких сфер является ускорение корпоративных СХД и систем виртуализации. Например, в VMware vSphere iWARP ускоряет систему vMotion и повышает отказоустойчивость функции Fault Tolerance (через решения вроде VMware DirectPath I/O или совместимые RNIC), перекладывая эти операции на RNIC с CPU. Благодаря такому оффлоудингу сетевого стека, нагрузка на центральный процессор может снизиться на 30-50%. Кроме того, для файловых серверов iWARP обеспечивает максимальную производительность протоколов SMB Direct (SMB 3.0+) и NFS over RDMA, ускоряя доступ к данным для ВМ и приложениям напрямую из пользовательского пространства. При этом, iWARP обеспечивает бесшовную работу в гибридных средах: серверы в ЦОД и узлы хранения могут общаться через RDMA, используя обычные IP-коммутаторы без дорогостоящей замены сетевого оборудования.
Базы данных и Big Data
В сфере обработки больших данных iWARP устраняет узкие места в сетевой инфраструктуре. Для Microsoft SQL Server (с нативной поддержкой через Network Direct API) и PostgreSQL (популярная СУБД в РФ и СНГ) он ускоряет репликацию Always On Availability Groups и выполнение параллельных запросов, при этом сокращая задержку в передаче данных между узлами кластера. В экосистемах Hadoop и Spark iWARP снижает нагрузку на CPU при shuffle-операциях (передача промежуточных данных между узлами), высвобождая системные ресурсы для выполнения более значимых вычислительных задач. Это особенно полезно для выполнения ETL-процессов и аналитики в реальном времени, где традиционный стек протоколов TCP/IP ограничивает масштабируемость производительности.
Гетерогенные сети
В гетерогенных системах iWARP можно назвать лучшим протоколом для обеспечения RDMA-функций, поскольку в таких сетях невозможно гарантировать обеспечение Lossless Ethernet, что исключает интеграцию RoCE. В отличие от RoCEv2, требующего повсеместной поддержки PFC/ECN, iWARP устойчиво работает в устаревших сетях с коммутаторами без поддержки DCB и мультивендорных средах, где настройка сквозного PFC проблематична. Кроме того, при L3-маршрутизации между стойками, где функция PFC не действует, iWARP позволяет создавать соединения WAN-RDMA, используя встроенные TCP-механизмы контроля перегрузок. Хотя задержка в WAN ограничивает массовое применение такой системы, сама возможность надежного RDMA поверх традиционных сетей может быть очень полезна при определенных сценариях использования, например для соединения удаленных дата-центров.
Сектор HPC
В секторе HPC протокол iWARP практически не используется, однако его все равно можно встретить в системах, где невозможна замена сетевого оборудования и требуется максимальная отказоустойчивость соединения. К примеру, для систем, ориентированных на ресурсоемкие математические расчеты (вроде молекулярного моделирования или CFD), потеря пакета в RoCEv2 может привести к сбросу всего соединения и пересчету, тогда как iWARP имеет встроенные механизмы TCP для восстановления пакетов. Кроме того, iWARP отлично подходит для гибридных кластеров (Ethernet + InfiniBand), тестовых HPC-центров с бюджетными сетями и для задач, где важна не минимальная задержка, а бесперебойная работа сетевой экосистемы.
Корпоративные приложения, совместимые с iWARP-сетями. Источник: .
Оборудование для iWARP
Поскольку iWARP не требует дополнительной интеграции сетевых коммутаторов, развертывание этого протокола требует только наличия совместимых сетевых адаптеров (RNIC) с ASIC-микросхемой для обработки TCP/IP-трафика.
Выпуском iWARP совместимых сетевых карт занимаются следующие компании:
Marvell. Предоставляет решения на базе технологий, унаследованных от компании QLogic.
Intel. Некоторые модели сетевых адаптеров на базе чипсета E810 могут поддерживать iWARP, но требуют наличия специального программного обеспечения или прошивки (firmware), а также лицензий, отличных от базовой конфигурации RoCE.
Chelsio Communications. Признанный лидер и пионер технологии iWARP, предлагающий широкий спектр адаптеров серии “T”.
Сетевая карта Intel E810-CQDA1 с поддержкой протокола iWARP. Источник: .
Проблемы и нюансы iWARP
Как и у любого сетевого протокола, iWARP обладает не только преимуществами, но и рядом недостатков, а также уникальными отличительными особенностями. Рассмотрим их по-отдельности:
Задержка. Несмотря на значительный прогресс в аппаратных реализациях RNIC, задержка iWARP все еще отстает от значений RoCEv2 и в особенности InfiniBand. Сетевые стеки и механизмы протоколов TCP/IP, лежащие в основе iWARP, даже при их эффективном оффлоуде на мощный сопроцессор RNIC, неизбежно увеличивают задержки при передаче данных. Хотя разрыв с RoCEv2 постоянно сокращается благодаря оптимизациям RNIC-чипов и прошивок адаптеров, в областях с высокими требованиями к задержке (вроде высокочастотного трейдинга), iWARP значительно уступает альтернативам.
Сложность RNIC. Если сам протокол iWARP не представляет никакой сложности в развертывании, то требования к совместимым RNIC являются весьма высокими. Поскольку протокол переносит все задачи по обработке сетевого стека TCP/IP и RDMA-логики на ASIC-микросхему, она должна обеспечивать максимальную эффективность для минимизации задержки. Это напрямую влияет на стоимость адаптеров по сравнению с более простыми решениями (включая некоторые реализации RoCEv2) и на их энергопотребление. Разработка и валидация таких сложных RNIC также требует значительных усилий от вендоров, что до сих пор ограничивает количество поставщиков iWARP-совместимого оборудования и скорость появления новых моделей.
Экосистема. Исторически iWARP столкнулся с проблемами распространения и поддержки в широкой экосистеме сетевых решений. Несмотря на технические преимущества, RoCE (особенно RoCEv2) получил гораздо более массовую поддержку со стороны ключевых игроков (прежде всего NVIDIA/Mellanox), став основным стандартом для RDMA over Ethernet. Это привело к уменьшению доли рынка iWARP. Однако, iWARP сохраняет огромную поддержку со стороны операционных систем и ключевых приложений. Например, iWARP нативно интегрирован в Windows Server и Microsoft SQL Server (через Network Direct API), а также поддерживается в Linux (через библиотеки rdma_cm, ibverbs и драйверы).
Безопасность. В области проблем с безопасностью iWARP во многом походит на другие реализации RDMA, такие как RoCE и InfiniBand. Дело в том, что защита на уровне транспорта самого RDMA все еще развивается. Протоколы безопасности вроде TLS для RDMA существуют, но их практическая реализация и поддержка в оборудовании/драйверах пока не так широко распространена и может негативно влиять на производительность или задержки. Безопасность соединений RDMA по-прежнему часто полагается на защиту IPsec, LANs и ACLs или доверенную среду развертывания.
Задержка передачи данных между виртуальными машинами для RoCE и iWARP, 40GbE. Источник: .
Выводы
Протокол iWARP по-настоящему можно назвать уникальным RDMA-решением, которое предлагает возможность прямого получения доступа к данным, при этом функционирующее в стандартных Ethernet-сетях, что и является наиболее значимым отличием от RoCE и InfiniBand. Хоть iWARP и проигрывает в таких ключевых характеристиках, как задержки и пропускная способность, этот протокол все равно нашел свое место во множестве областей, включая корпоративные среды виртуализации или СХД, гетерогенные системы и нетребовательные HPC. Если вы хотите получить все возможности технологии RDMA здесь и сейчас, при этом экономя на развертывании совместимого оборудования, то iWARP — ваш выбор.
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Скидка 1 500 ₽ или бесплатная доставка - уже сейчас 🔥
Мы ценим обратную связь от клиентов. При оформлении заказа вы можете сообщить о своём намерении поделиться впечатлением о работе ServerFlow после получения товара.
* - скидка предоставляется при покупке от 30 000 рублей, в ином случае предусмотрена бесплатная доставка до ПВЗ СДЭК.
Продолжная использовать наш сайт, вы даете согласие на использование файлов Cookie, пользовательских данных (IP-адрес, вид операционной системы, тип браузера, сведения о местоположении, источник, откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, какие страницы
открывает и на какие страницы нажимает пользователь) в целях функционирования сайта, проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.
При оформлении заказа в ServerFlow вы можете сообщить о намерении оставить отзыв о нашей работе после получения товара.
Нам важно ваше честное мнение. Оно помогает развивать сервис и даёт другим клиентам представление о нашей работе.
Вы можете оставить отзыв на удобной для вас платформе:
Google Maps
2GIS
Яндекс Карты
Как работает акция
Применяя промокод, вы подтверждаете намерение поделиться впечатлением о работе ServerFlow после получения заказа. Мы применяем бонус уже к текущему заказу в знак благодарности за обратную связь.
Условия акции:
скидка 1 500 ₽ при заказе от 30 000 ₽
или бесплатная доставка* при заказе до 30 000 ₽
* Бесплатная доставка заказа осуществляется до ПВЗ СДЭК.