Top.Mail.Ru
Что такое iWARP — особенности, преимущества, недостатки | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Бонус за
обратную связь
Уточнение цен временно недоступно. Китайский Новый год. Ответы по товарам «Под заказ» после 25 числа.
Distribution of
Server Components
8 (800) 222-70-01 Консультация IT-специалиста Сравнение

Что такое iWARP — особенности, преимущества, недостатки

~ 20 мин
1106
Сложный
Статьи
Что такое iWARP — особенности, преимущества, недостатки

Введение

Объем ежедневно обрабатываемых данных растет по экспоненте, вследствие чего возрастает нагрузка на вычислительное оборудование и, в частности, на 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. Источник: SNIA

Примечательно, что история протокола 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 6581: Enhanced RDMA Connection Establishment. Улучшает процедуру установления соединений, устраняя недостатки первоначальной спецификации.
  • 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
Ключевые отличия RoCEv2 и iWARP. Источник: SNIA.

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 с InfiniBand с одним портом и совокупной пропускной способностью сетевого адаптера. Источник: Chelsio. 

Сферы применения iWARP

Рассмотрим основные сценарии использования протокола iWARP: 

Работа сетевой инфраструктуры с iWARP и без iWARP
Сравнение работы сетевой инфраструктуры с интеграцией iWARP и без нее. Источник: SNIA

Ускорение корпоративных СХД и виртуализации

Протокол 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-сетями. Источник: SNIA

Оборудование для iWARP

Поскольку iWARP не требует дополнительной интеграции сетевых коммутаторов, развертывание этого протокола требует только наличия совместимых сетевых адаптеров (RNIC) с ASIC-микросхемой для обработки TCP/IP-трафика.

Выпуском iWARP совместимых сетевых карт занимаются следующие компании:
  • Marvell. Предоставляет решения на базе технологий, унаследованных от компании QLogic.
  • Intel. Некоторые модели сетевых адаптеров на базе чипсета E810 могут поддерживать iWARP, но требуют наличия специального программного обеспечения или прошивки (firmware), а также лицензий, отличных от базовой конфигурации RoCE.
  • Chelsio Communications. Признанный лидер и пионер технологии iWARP, предлагающий широкий спектр адаптеров серии “T”.
Сетевая карта Intel E810-CQDA1
Сетевая карта Intel E810-CQDA1 с поддержкой протокола iWARP. Источник: Ebay.

Проблемы и нюансы 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
Задержка передачи данных между виртуальными машинами для RoCE и iWARP, 40GbE. Источник: Chelsio.

Выводы

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

Автор: Serverflow Serverflow
Поделиться

Комментарии 0

Написать комментарий
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Написать отзыв
До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Написать комментарий

Комментарий появится на сайте после предварительной модерации

До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Мы свяжемся с вами утром

График работы: Пн-Пт 10:00-18:30 (по МСК)

Обработаем вашу заявку
в ближайший рабочий день

График работы: Пн-Пт 10:00-18:30 (по МСК)