Мы подходим к концу нашего марафона по RDMA технологиям и за это время были подробно раскрыты такие популярные реализации, как InfiniBand, RoCE и iWARP, а также менее известная технология Omni-Path. Однако, существует еще одна, не менее интересная RDMA-технология, которая обеспечивает минимальные задержки и высокую пропускную способность не только на аппаратном, но и на программном уровне — Solarflare/AMD Onload. В этой статье мы поговорим о том, что из себя представляет Onload, как технология переходила из одних руки в другие, где она используется, а также сравним ее с другими RDMA-реализациями.
Что такое Solarflare Onload?
В отличие от традиционных RDMA-технологий с поддержкой традиционных Ethernet-сетей, Onload не просто переносит обработку сетевых протоколов на NIC с ASIC/FPGA-чипом, а фокусируется на обходе ядра операционной системы (kernel bypass) благодаря программной библиотеке OpenOnload или EnterpriseOnload. Эти библиотеки работают в пользовательском пространстве (user-space) и перехватывают все сетевые запросы приложений, направляя их на NIC вместо ядра ОС. Другими словами, Onload обеспечивает RDMA-функционал с помощью комбинирования аппаратных и программных решений. Результатом такого подхода является значительное улучшение ключевых сетевых показателей — задержка снижается до показателей менее 1 мс, а также снижается джиттер (вариативность задержки) и возрастает пропускная способность (свыше 100 Гбит/с). При этом, Onload способна работать поверх существующего сетевого стека TCP/IP/UDP и совместима с сокетами POSIX, не требует какой-либо замены сетевой инфраструктуры (как у InfiniBand) или настройки сетевых функций, а также не чувствительна к потерям пакетов (как у RoCE). Кроме того, у технологии Onload нет каких-либо фиксированных значений по пропускной способности, поскольку она зависит от комбинации аппаратного и программного обеспечения, а также конфигурации системы. По сути, Onload устраняет многие недостатки других RDMA-протоколов, однако технология имеет определенные минусы.
Описание работы технологии Onload на умных сетевых картах AMD/Xilinx Alveo. Источник: .
В частности, главным минусом Onload является увеличение нагрузки на центральный процессор. Дело в том, что CPU, несмотря на наличие умной сетевой карты, все равно участвует в копировании данных, а также используется для переноса обработки сетевых стеков (TCP/IP) в User-Space. Кроме того, для обеспечения минимальных задержек, технология Onload часто переходит в режим Busy Polling вместо традиционной модели на основе прерываний. Это означает, что процессор постоянно обращается к сетевой карте на предмет поступления новых пакетов или возможности отправить новые данные, вследствие чего нагрузка растет даже при небольших объемах трафика. Из-за этого фактора Onload теряет функцию Offloading (как у InfiniBand/RoCE), но из-за специализации технологии, увеличение нагрузки на CPU не критично — с самого начала Onload позиционировалась как решение для высокочастотного трейдинга (HFT), где задержки в 5-10 микросекунд могут означать разницу между прибылью и убытком. Onload активно используется на крупнейших мировых биржах, например Нью-Йоркской фондовой бирже и Чикагской бирже опционов.
История появления Solarflare Onload
Технология Onload была разработана компанией Solarflare Communications в середине 2000-х годов, а ее первые версии, совместимые с сетевыми картами Solarflare XtremeScale, стали доступны рынку HFT и HPC примерно в 2007–2008 годах. В 2010–2012 годах Solarflare представила OpenOnload — открытую реализацию стека Onload для Linux-приложений, что расширило ее применение на массовом рынке. К 2012 году Solarflare заявляла, что их сетевые адаптеры с Onload занимают около 90% рынка сетевых карт среди фирм высокочастотной торговли. Например, ведущая тайваньская брокерская компания Yuanta Securities (занимает ~15% рынка Тайваня) в 2012 году выбрала адаптеры Solarflare, чтобы обеспечить “минимальную задержку и максимальную производительность” в своих торговых системах. Onload также активно исследовалась в академической среде как инструмент ускорения сетевой обработки. В США, например, Клемсонский университет (South Carolina) совместно с Solarflare в 2012–2013 гг. проводил проект по созданию системы сетевого обнаружения вторжений вредоносного ПО (NIDS) на базе Snort, использующей FPGA-адаптер Solarflare SFA6902F с технологией Onload. Кроме того, Колумбийский университет (США) использовал Onload-адаптеры для обучения студентов алгоритмам сетевого программирования и работе с сетью в финансовом контексте. Технология оказалась настолько успешной, что к 2016 году она стала основным стандартом в секторе высокочастотного трейдинга, поэтому Solarflare была намерена и дальше развивать Onload, благодаря чему в 2019 году была анонсировала система Cloud Onload — платформа для ускорения облачных приложений (NGINX, Redis, Kubernetes).
Поскольку подход программно-аппаратного обеспечения низких задержек Solarflare Onload был очень перспективен, он заинтересовал крупнейшие компании, специализирующиеся на производстве программируемого железа (ASIC/FPGA), в результате чего Solarflare уже в 2019 году была поглощена Xilinx. Компания Xilinx, мировой лидер в производстве программируемых логических интегральных схем (FPGA) и адаптивных SoC, увидела в Solarflare ключевой актив для усиления своих позиций на быстрорастущем рынке интеллектуальных сетевых адаптеров (SmartNIC) и ускорения сетей дата-центров. Технологии Solarflare, особенно Onload и их высокопроизводительные адаптеры XtremeScale, идеально дополнили портфель решений Xilinx для обработки данных на уровне сети, предоставив заказчикам аппаратно-программную платформу для разгрузки и ускорения сетевых функций с беспрецедентно низкой задержкой.
Однако, в 2022 году технология Onload снова перешла в новые руки, поскольку Xilinx была приобретена компанией AMD для усиления своего влияния в секторе программируемых чипов, а заодно получив доступ к RDMA-реализации со сверхнизкой задержкой. Onload перестал быть продуктом отдельной нишевой компании и превратился в ключевой компонент стратегии AMD для сетей со сверхнизкой задержкой в передовых дата-центрах. В настоящее время технология Onload активно развивается и используется в сетевых адаптерах AMD Alveo X3, AMD Solarflare X2 и AMD Solarflare 8000, которые оптимизированы для работы с процессорами AMD EPYC и ускорителями AMD Instinct.
AMD объявила о слиянии с Xilinx. Источник: .
Сферы применения Solarflare Onload
Рассмотрим несколько направлений, где технология Solarflare Onload наиболее эффективно интегрируется в сетевую инфраструктуру.
High-Frequency Trading (HFT). Поскольку Onload изначально разрабатывалась для интеграции в сектор HFT, технология демонстрирует наибольшую эффективность в нише высокочастотного трейдинга, позволяя биржевым брокерам практически моментально обновлять биржевые котировки, минимизируя риски убытков. В этом направлении Onload обеспечивает абсолютную доминацию над RoCE, а поскольку Onload считается давним стандартом в HFT, технология также не дает InfiniBand масштабно выйти на этот рынок. Например, Onload можно встретить в таких авторитетных финансовых системах, как CME Globex, LSE (London Stock Exchange), Deutsche Börse Xetra. Примечательно, что технологией Onload интересуются компании, занимающиеся финансовой аналитикой (финансовая математика и анализ рынков), а также она применяется для создания арбитражных торговых ботов.
Чувствительные к задержкам задачи HPC. Технология Onload также может быть крайне полезна HPC-кластерах на базе Ethernet-сетей, специализирующихся на обработке огромных объемов данных (геномика, сверхточное моделирование, разработка LLM), поскольку минимальные показатели задержки позволяют обрабатывать эти данные в кратчайшее время. А совместимость Onload с существующим оборудованием открывает возможность к бюджетному и эффективному масштабированию инфраструктуры. Например, Onload совместим суперкомпьютером HPE Cray EX который был разработан AMD при сотрудничестве с HPE и в 2022 году занял первое место в рейтинге лучших суперкомпьютеров TOP500. Совместимость обеспечивается возможностью интеграции сетевых карт AMD Alveo для смены сценариев использования на финансовый сектор.
Высоконагруженные сервисы и виртуализация. В более коммерческих сферах применения, таких как виртуализация и высоконагруженные сервисы, Onload позволяет значительно ускорить работу Ethernet-совместимых приложений (веб-хостинг, базы данных), а также снизить нагрузку на программный сетевой коммутатор vSwitch для подключения виртуальных машин.
Суперкомпьютерный кластер HPE Cray EX, который может поддерживать технологию Onload при интеграции совместимых сетевых адаптеров. Источник: .
! Интересно, что существуют специальные процессоры от разных крупнейших чипмейкеров, предназначенные для работы в системах сектора высокочастотного трейдинга. Например, компания Intel предлагает особые CPU с индексом N (4-5 поколение Intel Xeon Scalable).
Экосистема Solarflare Onload
Поскольку Solarflare Onload принадлежит AMD, все аппаратные и программные решения технологии так или иначе входят в экосистему технологий этой IT-корпорации. Вот какие устройства и программные стеки относятся к платформе Solarflare Onload:
Аппаратные решения
Аппаратные решения Onload представлены тремя линейками сетевых адаптеров от AMD на базе программируемых FPGA Xilinx UltraScale+, унаследованные через поглощение Solarflare. Флагманские модели — Alveo U25 (25 Гбит/с) и Alveo U50/U55 (100 Гбит/с) — оснащены аппаратными ускорителями для обработки сетевых операций на уровне чипа. Их особенность — глубокая интеграция с экосистемой AMD: поддержка PCIe 4.0/5.0 для прямой связи с процессорами EPYC, реализация функций SmartNIC (аппаратное шифрование TLS/SSL, балансировка нагрузки, Precision Time Protocol с точностью менее 100 нс), а также оптимизация для передачи Jumbo Frames (MTU 9000) и SR-IOV. Эти адаптеры полностью берут на себя обработку пакетов, исключая обращение драйвера к ядру ОС из пути сетевого трафика.
Программная реализация Onload представлена двумя ветками: OpenOnload (open-source, GPLv2) для базового ускорения сокетов и Enterprise Onload с расширенными возможностями — мониторингом задержек, интеграцией с Kubernetes/VMware и аппаратным ускорением TLS. Технология внедряется через перелинковку приложений (gcc -lonload app.c) или динамическую загрузку (LD_PRELOAD=libonload.so ./app), перехватывая системные вызовы (socket/send/recv) и направляя трафик напрямую к адаптеру через DMA. Поддержка ОС ограничена платформами на базе ядра Linux (RHEL, Ubuntu, SLES), где Onload обеспечивает задержки <1 мкс и пропускную способность до 100 Гбит/с, сохраняя глубокую совместимость со стеком сетевых протоколов TCP/IP. Для работы требуется установка пакета onload и активация команды (onload_tool reload), которая заменяет ранее загруженный сетевой драйвер sfc на драйвер из дистрибутива Onload.
Средняя пропускная способность TCP с технологией Onload в системе на базе Red Hat OS. Источник: .
Onload vs RoCE/InfiniBand
Подводя итоги, кратко рассмотрим основные отличия технологии Onload от традиционных и популярных реализаций RDMA в лице RoCE и InfiniBand:
Параметр
InfiniBand/RoCE
Onload
Сеть
Проприетарная сеть./Lossless Ethernet
Стандартный стек Ethernet
Задержка
<1-5 мкс
<1 мкс
Протокол
Проприетарный стек / UDP/IP
TCP/IP
Внедрение
Сложное
Относительно проще
Совместимость
Низкая/Средняя
Высокая
Нагрузка CPU
Низкая
Высокая
Зависимость
Спец. оборуд./настройки
Спец. адаптеры AMD Solarflare
Выводы
Несмотря на то, что в данный момент технология Onload занимает лишь очень узкую нишу высокочастотного трейдинга и некоторых HPC-кластеров, спрос на экстремально низкую задержку постоянно растет и все большим инфраструктурам требуется максимально быстрая передача пакетов данных. Кроме того, крупнейшие компании, такие как AMD, активно популяризируют нишу SmartNIC, внедряя RDMA-функционал не только в сектор HPC, но и в коммерческие системы на базе собственных устройств EPYC/Instinct, а особенно в инфраструктуры для разработки ИИ. Ввиду этого, не исключено, что уже в ближайшем будущем роль технологии Onload станет еще более значимой и мы увидим, как эта платформа внедряется даже в частные вычислительные системы, обеспечивая беспрецедентную задержку и высочайшую совместимость.
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Скидка 1 500 ₽ или бесплатная доставка - уже сейчас 🔥
Мы ценим обратную связь от клиентов. При оформлении заказа вы можете сообщить о своём намерении поделиться впечатлением о работе ServerFlow после получения товара.
* - скидка предоставляется при покупке от 30 000 рублей, в ином случае предусмотрена бесплатная доставка до ПВЗ СДЭК.
Продолжная использовать наш сайт, вы даете согласие на использование файлов Cookie, пользовательских данных (IP-адрес, вид операционной системы, тип браузера, сведения о местоположении, источник, откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, какие страницы
открывает и на какие страницы нажимает пользователь) в целях функционирования сайта, проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.
При оформлении заказа в ServerFlow вы можете сообщить о намерении оставить отзыв о нашей работе после получения товара.
Нам важно ваше честное мнение. Оно помогает развивать сервис и даёт другим клиентам представление о нашей работе.
Вы можете оставить отзыв на удобной для вас платформе:
Google Maps
2GIS
Яндекс Карты
Как работает акция
Применяя промокод, вы подтверждаете намерение поделиться впечатлением о работе ServerFlow после получения заказа. Мы применяем бонус уже к текущему заказу в знак благодарности за обратную связь.
Условия акции:
скидка 1 500 ₽ при заказе от 30 000 ₽
или бесплатная доставка* при заказе до 30 000 ₽
* Бесплатная доставка заказа осуществляется до ПВЗ СДЭК.