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

Solarflare Onload — программно-аппаратный RDMA для ускорения Ethernet-сетей

~ 20 мин
1077
Простой
Статьи
Solarflare Onload — программно-аппаратный RDMA для ускорения Ethernet-сетей

Введение

Мы подходим к концу нашего марафона по 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
Описание работы технологии Onload на умных сетевых картах AMD/Xilinx Alveo. Источник: ServeTheHome.

В частности, главным минусом 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 XtremeScale SFN8522-PLUS
Сетевая карта Solarflare XtremeScale SFN8522-PLUS. Источник: Ebay.

Поскольку подход программно-аппаратного обеспечения низких задержек 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
AMD объявила о слиянии с Xilinx. Источник: AMD.

Сферы применения 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
Суперкомпьютерный кластер HPE Cray EX, который может поддерживать технологию Onload при интеграции совместимых сетевых адаптеров. Источник: Yahoo.

! Интересно, что существуют специальные процессоры от разных крупнейших чипмейкеров, предназначенные для работы в системах сектора высокочастотного трейдинга. Например, компания 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. Эти адаптеры полностью берут на себя обработку пакетов, исключая обращение драйвера к ядру ОС из пути сетевого трафика.

AMD Alveo X3522
Топовый сетевой адаптер AMD Alveo X3522 с 4 портами 10/25 GbE, поддерживающий технологию Onload. Источник: AMD.

Программные решения

Программная реализация 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
Средняя пропускная способность TCP с технологией Onload в системе на базе Red Hat OS. Источник: RadHat.

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 станет еще более значимой и мы увидим, как эта платформа внедряется даже в частные вычислительные системы, обеспечивая беспрецедентную задержку и высочайшую совместимость.

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

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

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

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

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

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

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

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

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

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

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

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