PavelS
PavelS

SmartNIC, DPU, IPU (часть 1)

77 минут
1143
0

Введение

По оценкам Intel, этап в который вступило развитие микроэлектроники в мире с 2018 г., можно охарактеризовать эрой архитектуры в сравнении с двумя предшествующими этапами – эрой мегагерц и мульти ядерной эрой (рис. 1). Т.е. основным фактором развития микроэлектроники в ближайшем будущем, который позволит соответствовать вызовам современности – давать возможность анализировать стремительно возрастающие объемы данных, будут чипы со специализированной архитектурой с расширенной упаковкой как по горизонтали, так и вертикали.

SmartNIC, DPU, IPU (часть 1) - 1

SmartNIC, DPU, IPU (часть 1) - 2

Рис. 1. Специализированные архитектуры чипов будут определять развитие микроэлектроники в ближайшем будущем (Architecture Day 2020, Intel).

Направление сетевых карт SmartNIC стало активно развиваться с достижением сетевых скоростей передачи данных более 10 Гбит/с, когда накладные расходы CPU с обслуживанием сетевых функций постепенно стали одним из узких мест.

С возрастанием сложности сетей, распространением программно-определяемых сетей (software-defined networking, SDN) появилась необходимость в управлении настройками сетей, адаптации их функционала по мере появления новых стандартов, протоколов, функций. Эволюция сетевых адаптеров развивалась от традиционных NIC к NIC с интегрированными ASIC и, в дальнейшем, к программируемым SmartNIC с поддержкой ASIC, ARM, FPGA (рис. 1a).

SmartNIC, DPU, IPU (часть 1) - 3

Рис. 1а. Эволюция развития сетевых адаптеров.

Необходимо отметить, что недавно анонсированные SmartNIC более правильно позиционировать не как “умный NIC”, жестко связанный и управляемый CPU, выполняющий, в основном, функции разгрузки CPU, а как во все большей степени самостоятельное устройство уровня инфраструктурной обработки (в терминологии Intel: Infrastructure Processing Unit, IPU). При этом SmartNIC самостоятельно поддерживает функции масштабирования/коммутации устройств, безопасности и сервисные функции данных, а их вычислительная мощность может многократно превосходить производительность CPU на отдельных операциях/применениях, а функциональность несопоставима с традиционными NIC.

Важная особенность ряда современных SmartNIC в том, что они не только разгружают CPU, но и обеспечивают прямой обмен данными между подключенными устройствами без участия CPU (рис. 1а), что устраняет узкие места в каналах связи между CPU и устройствами и изменяет архитектурные особенности и принципы программирования устройств.

DPU (data processing units, блок обработки данных) это дальнейшее развитие SmartNIC. Они представляют собой многоядерные решения премиум класса и являются полностью программируемыми на таких языках как С, Р4.

Википедия (https://en.wikipedia.org/wiki/Data_processing_unit) так определяет DPU: “это контроллер канала, программируемая специализированная электронная схема с аппаратным ускорением обработки данных для дата-центрических вычислений. Данные передаются к компоненту и от него в виде мультиплексированных пакетов информации. DPU обычно содержит ЦП, сетевую карту и программируемые механизмы ускорения данных. Это позволяет DPU иметь универсальность и программируемость центральных процессоров и в то же время специализируясь на эффективной работе с сетевыми пакетами, запросами на хранение или аналитическими запросами.

Механизмы ускорения обработки данных отличаются от CPU более высокой степенью параллелизма (необходимой для обработки многих запросов) и от GPU архитектурой MIMD, которая предпочтительнее архитектуры SIMD, поскольку каждый запрос должен принимать разные решения и следовать по другому пути через чип. DPU могут быть на основе ASIC, FPGA или SoC. DPU все чаще используются в центрах обработки данных и суперкомпьютерах с момента их появления в 2010-х годах из-за роста использования вычислений, ориентированных на данные, большие данные, безопасность и искусственный интеллект/машинное обучение/глубокое обучение. DPU разработаны как независимые конечные точки инфраструктуры.”

IPU (Infrastructure Processing Unit). Intel: “Инфраструктурный процессор может разгрузить весь инфраструктурный комплекс с хост-системы и контролировать порядок подключения хост-системы к этой инфраструктуре. При этом поставщик услуг получает дополнительный уровень безопасности и управления, реализованный в аппаратном обеспечении с помощью инфраструктурного процессора. Адаптер SmartNIC обладает аналогичными сетевыми возможностями и возможностями разгрузки с инфраструктурным процессором, но остается под управлением хост-системы в качестве периферийного устройства (https://www.intel.ru/content/www/ru/ru/products/networkio/smartnic.html).

Среди аппаратных вендоров, продвигающих направление SmartNIC/DPU/IPU:

  • AMD – AMD Pensando™ DPU (AMD купила Pensando в мае 2022 г. за $1,9 млрд), Xilinx (+ SolarFlare – приобретена Xilinx в 2019 г.);
  • NVIDIA – DPU NVIDIA BlueField;
  • Intel – Intel Infrastructure Processing Unit (IPU);
  • Marvell Technology (Octeon);
  • Broadcom (Stingray);
  • Achronix;
  • ATTO Technology – ATTO FastFrame SmartNIC;
  • Arm;
  • Keysight;
  • Netronome;
  • Kalray – Kalray K200LP;
  • Juniper Networks;
  • AWS DPU Nitro;
  • Fungible (куплена Microsoft 9 янв. 2023 г.).

Среди программных вендоров, использующих DPU: Bloombase, Cloudflare, DDN, Fortinet, Palo Alto Networks, VAST Data, VMware, WekaIO.

AMD

2022 г. со всем основанием для AMD можно назвать революционным области развития сетевых технологий. Во-первых, AMD в феврале 2022 года приобрела Xilinx. Xilinx, известная прежде всего своими чипами адаптивного ускорителя Alveo FPGA, также имела несколько сетевых карт, в том числе сетевые карты со сверхнизкой задержкой, которые она приобрела, когда купила SolarFlare в 2019 году. Линейки продуктов SolarFlare, Alveo и Pensando конкурируют на разных рынках.

Форрест Норрод (Forrest Norrod), старший вице-президент и генеральный менеджер бизнес-группы решений для центров обработки данных в AMD, назвал линейку SolarFlare «стандартом де-факто для высокочастотной [акции] торговли для всех, кто использует сети со сверхнизкой задержкой в финансовых услугах». Он говорит, что доля SolarFlare в этом сегменте рынка превышает 50% (https://www.networkworld.com/article/3677489/amdpromisesfasterandmoreefficientnetworkingeventually.html).

По словам Норрода, AMD считает, что технология, лежащая в основе этих карт, может быть применена в других областях, где важен Ethernet с малой задержкой, «например, в фабрике для высокопроизводительных вычислений или в приложениях обратной фабрики для графических процессоров, используемых для обучения ИИ».

По словам AMD, линейка Alveo используется как гипермасштабируемыми, так и корпоративными клиентами в различных средах, чаще всего в сетях, вычислениях, ускорении вывода AI/ML, обработке видео и изображений, финансовых вычислениях, вычислительном хранилище и видео-аналитике.

Во-вторых, в мае 2022г. AMD купила Pensando за $1,9 млрд (при этом она сохранила свой бренд и сайт). Компания Pensando Systems (https://pensando.io/; более 300 сотрудников) была основана в 2017 году выходцами из Cisco и является пионером в области распределенных вычислений, предоставляя программно-определяемые облачные сервисы для преобразования существующих архитектур в безопасные и сверхбыстрые среды, востребованные приложениями следующего поколения. Платформа Pensando, первая в своем роде, была разработана в сотрудничестве с крупнейшими мировыми лидерами в области облачных, корпоративных, хранилищ и телекоммуникаций и поддерживается партнерскими отношениями с Hewlett Packard Enterprise, NetApp, Equinix и несколькими клиентами из списка Fortune 500.

Pensando gear предоставляет DPU и аппаратное и программное обеспечение для распределенных служб, которые подходят более широкому кругу клиентов, которым они нужны для ускорения задач инфраструктуры, таких как сеть, безопасность и хранение в своих центрах обработки данных.

В-третьих, на конференции VMware Explore 2022 AMD анонсировала процессор Pensando 800G – Salina (текущий чип — 400G) к 2024 году.

Норрод также прогнозирует, что с технологией AMD SmartNIC и интеллектуальным коммутатором предприятия смогут добиться эффективности наравне с поставщиками облачных услуг. Он говорит, что оборудование Pensando похоже на DPU Nitro от AWS, который разгружает обработку сетевого трафика от центрального процессора. «Amazon с Nitro был отличным примером того, что можно сделать с помощью интеллектуального развертывания SmartNIC в центре обработки данных, высвобождая множество вычислительных циклов и делая их облачные вычисления намного более эффективными», — говорит он.

AMD планирует расширить использование всех трех своих сетевых продуктов, но, по словам Норрода, потребуется некоторое время, чтобы технология вошла в конвейер продуктов. «Вы начнете видеть улучшения в продуктах примерно через два-три года».

Также на прошедшей конференции “Data Center and AI Technology Premiere” («Премьере ЦОД и технологий искусственного интеллекта», июнь 2023 г.) компания AMD объявила [1] о продуктах, стратегии и партнерах по экосистеме, которые будут определять будущее вычислений, подчеркивая следующий этап инноваций в ЦОД.

Среди прочих объявлений AMD рассказала о следующем поколении DPU под кодовым названием «Giglio», разработка которых направлена на повышение производительности и энергоэффективности для клиентов по сравнению с продуктами текущего поколения и которые, как ожидается, будут доступны к концу 2023 г.

В-четвертых, AMD анонсировала комплект разработчика AMD Pensando Software-in-Silicon Developer Kit (SSDK), дающий клиентам возможность быстро разрабатывать или переносить сервисы для развертывания на программируемом DPU AMD Pensando P4 в сочетании с существующим богатым набором функций, уже реализованных на платформе AMD Pensando. AMD Pensando SSDK позволяет задействовать все возможности DPU AMD Pensando и адаптировать функции виртуализации сети и безопасности в своей инфраструктуре в координации с существующим богатым набором функций, уже реализованных на платформе Pensando.

DPU AMD Pensando сочетают в себе надежный программный стек с «безопасностью с нулевым доверием» и передовой программируемый пакетный процессор, который позволяет создавать один из самых интеллектуальных и производительных DPU в мире. AMD Pensando DPU развертывается в масштабе через партнеров по облаку, таких как IBM Cloud, Microsoft Azure (https://www.youtube.com/watch?v=8ePVJYjE5eA) и Oracle Compute Infrastructure. В корпоративных средах он развернут в коммутаторе серии HPE Aruba Networking CX 10000 (https://www.arubanetworks.com/products/switches/coreanddatacenter/10000-series/), а также у таких клиентов, как ведущая компания по предоставлению ИТ-услуг DXC, и как часть VMware vSphere® Distributed Services Engine™ (https://blogs.vmware.com/vsphere/2020/09/announcingprojectmontereyredefininghybridcloudarchitecture.html), повышая производительность приложений для клиентов.

В настоящее время в портфеле сетевых решений 3 семейства продуктов: AMD Pensando™ DPU, сетевые адаптеры AMD со сверхнизкой задержкой и адаптивные сетевые адаптеры AMD (два последних – результат приобретения компании Xilinx в феврале 2022 г.).

AMD Pensando DSC200 PCIe Card – DPU Aкселератор (https://www.amd.com/en/accelerators/pensando)

Чип AMD Pensando™ Giglio DPU

Сердце платформы Pensando – это собственный, настраиваемый, полностью программируемый процессор P4. Уже вышло 2 поколения чипов Pensando – Carpi и Elba (рис. 2). Чип оптимизирован для выполнения программного стека, предоставляющего облачные сервисы, услуги вычислений, сети, хранения и безопасности в облачном масштабе с минимальной задержкой, джиттером и очень низкими требованиями к энергопотреблению (~ 30 Вт при 100 Гбит/с).

SmartNIC, DPU, IPU (часть 1) - 4

Рис. 2. Эволюция чипов Pensando (https://www.servethehome.com/amd-pensando-giglio-dpu-for-2023-salina-dpu-in-2024-and-amd-epyc/).

Чип устанавливается на любой стандартный сервер с помощью карты распределенных служб Pensando (Naples™ Distributed Services Card, DSC). В портфеле AMD Pensando представлено 3 карты: Pensando DSC-25, Pensando DSC-100 и Pensando DSC-200 (рис. 2а).

SmartNIC, DPU, IPU (часть 1) - 5 SmartNIC, DPU, IPU (часть 1) - 6 SmartNIC, DPU, IPU (часть 1) - 7

Рис. 2а. Pensando DSC-200 PCIe Card с радиатором (https://www.ebay.com/itm/175593631545) и без него – внизу (https://www.amd.com/system/files/documents/pensandodsc-200-productbrief.pdf).

Выпуск следующего чипа блока обработки данных (DPU) AMD Pensando™, Giglio, ожидается в 2023 году [3]. Giglio — это чип с оптимизированным энергопотреблением и производительностью, основанный на DPU AMD Pensando «Elba» второго поколения. Его исходный код совместим со своими предшественниками, что упрощает внедрение существующими клиентами и упрощает интеграцию с продуктами партнеров.

Он предлагает расширенные возможности для разгрузки различных сетей, служб хранения и безопасности центра обработки данных со скоростью линии 2-x 200 Гбит/с в облачном масштабе. Он оснащен программируемым P4 конвейером, состоящим из 144 настраиваемых блоков обработки совпадений (MPU, match processing units), в сочетании с 16-ядерным базовым комплексом A72 ARM®, а также специальными механизмами шифрования данных и разгрузки хранилища. Все они связаны друг с другом через запатентованную быструю сеть на базе network-on-a-chip чипа. Уникальная архитектура Giglio позволяет создавать высокоэффективные и масштабируемые решения, развертывающие богатый набор программно-определяемых сетей, хранилищ и функций безопасности в виртуализированном, широко распределенном и централизованно управляемом виде.

Giglio DPU позволяет реализовать сложные алгоритмы обработки и пересылки трафика, включая виртуализацию и безопасность сети, инкапсуляцию/декапсуляцию пакетов, встроенное шифрование/дешифрование и преобразование сетевых адресов.

Архитектура Giglio DPU поддерживает обработку пакетов с отслеживанием состояния, которую можно использовать для мониторинга потока, реализации политик безопасности с учетом потока, защиты от DDoS-атак и многого другого.

Выделенные механизмы разгрузки обеспечивают плавную и эффективную обработку ресурсоемких операций, используемых в различных алгоритмах шифрования и хранения, включая сжатие/распаковку, контрольные суммы, RAID и хеширование с дедупликацией.

DPU AMD Pensando программируются с использованием стандартного отраслевого языка P4, что упрощает реализацию широкого спектра системных решений. Он поддерживает программно-определяемые сетевые протоколы и протоколы хранения, включая виртуализацию и транспорт NVMe, и предназначен для предоставления разработчикам гибкости для разработки и развертывания новых функций и модификаций для удовлетворения меняющихся потребностей клиентов на протяжении всего жизненного цикла продукта. Исходный код Giglio совместим с программным обеспечением, написанным для предыдущих процессоров Capri и Elba DPU.

Форм-фактор Giglio DPU и профиль мощности предназначены для поддержки нескольких реализаций системного уровня, начиная от карты PCIe половинной высоты и половинной длины, которая может вписаться в профили питания и охлаждения любого стандартного сервера, до сетевых устройств и устройств безопасности и SmartSwitch. Программируемая конструкция P4 позволяет этим приложениям динамически перенастраивать обработку данных внутри DPU. Основные характеристики AMD Pensando™ Giglio DPU – табл. 1.

SmartNIC, DPU, IPU (часть 1) - 8

Табл. 1. Характеристики AMD Pensando™ Giglio DPU.

Giglio DPU можно использовать в различных системных конфигурациях – табл. 2.

SmartNIC, DPU, IPU (часть 1) - 9

Табл. 2. Конфигурация использования AMD Pensando™ Giglio DPU.

  • расширенная сеть – полная поддержка SDN, виртуальных частных сетей (сетевые оверлеи), L3 ECMP, балансировка нагрузки, NAT, PAT;
  • поддержка передовых функций безопасности – брандмауэр с отслеживанием состояния, группы безопасности, списки контроля доступа без сохранения состояния и рефлексивные, VPN-терминация (IPsec), шифрование TLS/DTLS, прокси-сервер TLS;
  • расширенное хранилище – полная поддержка SDS, виртуализации NVMe, NVMe-oF с транспортом RDMA или TCP, шифрование данных по скорости AES-XTS, сжатие/декомпрессия, дедупликация SHA-3, CRC64/32 и ускорение контрольной суммы;
  • расширенная наблюдаемость – телеметрия пакетов на основе потока, отслеживание соединений с отслеживанием состояния, показатели задержки, высокомасштабируемые счетчики пакетов;
  • поддержка облачной инфраструктуры – виртуальное частное облако (VPC), группы безопасности, межсетевые экраны, защита от DDoS-атак, транзитный шлюз и пиринг VPC, шлюз NAT, балансировщик нагрузки, измерение, контроль скорости и маркировка QoS, SR-IOV для изоляции трафика/ресурсов рабочей нагрузки, IPsec/VPN-шлюз.

 

Pensando DSC-200 (чип Elba)

Карта Pensando DSC-200 реализована на базе чипа Elba (рис. 2б). В составе чипа есть SoC (System-on-a-Chip) и 16 ядер ARM A-72 2,8 GHz. SoC интегрирует в себе NOC (Network On Chip) и аппаратные механизмы виртуализации, криптографии, разгрузки хранения и др. Чип полностью программируется на языке Р4.

SmartNIC, DPU, IPU (часть 1) - 10

Рис. 2б. Архитектура чипа Pensando Elba (https://www.servethehome.com/pensando-distributed-services-architecture-smartnic/)

Архитектура чипа Pensando Elba Elba (https://www.servethehome.com/pensando-distributed-services-architecture-smartnic/):

– сетевой путь:

  • конвейеры P4 обрабатывают каждый пакет, входящий и исходящий из чипа;
  • буфер пакетов направляет пакеты между конвейерами P4 и MACS;
  • механизмы DMA, управляемые P4, соединяют домены пакетов и памяти (P4 controlled DMA engines bridge the packet and memory domains);

– SoC Path:

  • NOC (Network On Chip) соединяет P4 с механизмами разгрузки, CPU, PCIe и DRAM;
  • хранилище и крипторазгрузки работают с аппаратными очередями, контролируемыми P4 и CPU;
  • когерентные кэши CPU тесно связаны с P4 DMA.

SOC, NOC и аппаратные очереди:

  • NetworkOnChip (NOC) соединяет CPU, память, P4 DMA и механизмы разгрузки в кэш-когерентном домене;
  • процессоры ARM A-72 работают под управлением SMP Linux (поддерживается DPDK);
  • программы P4 могут передавать заголовки пакетов и структуры данных непосредственно в кэши ARM L2 или d системный кэш последнего уровня;
  • “звонки” (Doorbells) для 16 миллионов аппаратных очередей сопоставляются с процессами хоста или ARM, инициируют многоуровневый планировщик для внедрения токенов конвейера P.

Функции разгрузки хранилища:

  • поддержка сжатия/распаковки (может отображаться как устройства PCIe; 100 Гбит/с LZRW1A, GZIP и Deflate алгоритмы);
  • механизмы кодирования Reed-Solomon Erasure (до 12 блоков данных и 4 блоков четности работают на скорости 100 Гбит/с);
  • механизмы обеспечения целостности данных работают на скорости 200 Гбит/с (CRC64, CRC32C, Alder-32 и Adler32);
  • поддержка дедупликации на основе механизмов SHA2 и SHA.

Аппаратная реализация алгоритмов криптографии и Root of Trust (корень доверия):

  • поддержка Root of Trust на основе физически не клонируемой функции;
  • поддержка безопасного загрузчика и аутентификация ОС перед выполнением;
  • программы P4 терминируют и проксируют безопасные протоколы (iPsec, TLS), программы ARM также имеют доступ к механизмам разгрузки;
  • механизмы разгрузки функций безопасности:
    • безопасные соединения: Deterministic and True Random Number Generator and Public Key Exchange;
    • реализация алгоритмов: AES-GCM, AES-XTS, AES-CBC,AES-CCM, ChaChaPoly, HMAC, SНA3-512 и SНА2-256.

Виртуализация PCIe:

  • чип представляет полную топологию PCIe-устройства, включая PCIe коммутаторы, устройства, пространство конфигурации, BARs и ресурсы:
    • EthernetNIC и устройства RDMA;
    • устройства блочного хранения NVMe;
    • устройства разгрузки функций хранения и безопасности;
    • будущие устройства;
  • линии PCIe могут быть разделены на несколько портов:
    • поддержка Root Complex (корневого комплекса);
    • поддержка нескольких хостов.

Т.е. чип может представлять сетевую карту Ethernet, хранилище NVMe и другие устройства. Кроме того, линии PCIe могут подключаться к другим устройствам. Например, можно представить корневой комплекс PCIe (PCIe root complex) и подключиться к дискам NVMe напрямую или подключиться к нескольким хостам.

Карта распределенных услуг Pensando предлагает набор надежных пакетов программных услуг, которые реализуют функции облачной инфраструктуры для работы в сети, хранения, безопасности и наблюдения. Эти пакеты можно использовать как есть и управлять ими через gRPC/REST API, а также они могут стать отправной точкой для разработки пользовательских решений, ускорения инноваций и конкурентного преимущества. API-интерфейсы позволяют интегрировать устройства DSC в плоскость управления и оркестровки облачного провайдера. API-интерфейсы также позволяют управлять жизненным циклом DSC (например, обновлениями программного обеспечения) и отслеживать работоспособность, собирать метрики и настраивать политики для сети, хранилища и безопасности [2].

Основные преимущества Pensando DSC-200:

  • предоставление SDN-сервисов (software-defined networking) с беспрецедентной производительностью и масштабируемостью;
  • обеспечение глубокой видимости поведения сети с помощью телеметрии Always-On;
  • высвобождение ресурсов ЦП для бизнес-приложений за счет разгрузки функций инфраструктуры, работы на скорости передачи данных с чрезвычайно низкой задержкой и джиттером (jitter);
  • повышение эффективности центра обработки данных и снижение капитальных и эксплуатационных расходов;
  • согласованное развертывание сервисов для виртуализированных, аппаратных и контейнерных рабочих нагрузок.

Сетевые сервисы, сервисы безопасности и сервисы хранения

Пакеты программных услуг Pensando предоставляют широкий спектр услуг, включая:

  • усовершенствованная наблюдаемость: телеметрия пакетов на основе потока, статистика соединений с отслеживанием состояния, показатели задержки, статистика отбрасывания, пороговое оповещение, ERSPAN (двунаправленный), NetFlow/IPFIX;
  • расширенные сетевые возможности: виртуальные частные сети (сетевые оверлеи), L3 ECMP, балансировка нагрузки, NAT, PAT;
  • расширенная безопасность: брандмауэр с отслеживанием состояния и отслеживанием подключений, группами безопасности, безотзывными и рефлексивными списками контроля доступа, терминаци ей VPN (IPsec), шифрованием TLS/DTLS, прокси-сервером TLS;
  • расширенное хранилище: виртуализация NVMe, NVMe-oF с транспортом RDMA или TCP, шифрование AES-XTS данных в состоянии покоя, сжатие, дедупликация SHA-3, ускорение CRC64/32.

Применения DSC-200

DSC-200 — идеальная программно-определяемая платформа для обеспечения высокой производительности и эффективности облачной инфраструктуры. Разработчики могут создавать настраиваемые сервисы уровня данных, ориентированные на пропускную способность 400G, задержки на уровне микросекунд и масштабирование до миллионов потоков. Языки программирования высокого уровня (P4, C) позволяют быстро разрабатывать и развертывать новые функции и сервисы:

  • виртуальное частное облако (VPC, Virtual Private Cloud);
  • группы безопасности, брандмауэр, защита от DDoS-атак;
  • транзитный шлюз и пиринг VPC;
  • шлюз NAT;
  • измерение, контроль скорости и маркировка QoS;
  • SR-IOV для изоляции трафика/ресурсов рабочей нагрузки;
  • IPsec/VPN-шлюз.

Среди других применений DSC-200:

  • многопользовательская SDN, виртуальная сеть с гибкой инкапсуляцией (VXLAN и т.д.), группы безопасности;
  • маршрутизация, сегментная маршрутизация, MPLS, BGP/eBGP;
  • всесторонняя наблюдаемость и устранение неполадок в сети, хранилище и функциях безопасности;
  • захват/отражение потока (двунаправленный ERSPAN);
  • балансировка сетевой нагрузки, включая терминацию TCP/TLS;
  • виртуализация и разгрузка хранилища (NVMe-oF через TCPили RoCE);
  • сжатие/распаковка данных.

Производительность и масштабирование DSC-200

DSC-200 предоставляет услуги на скорости 200G на каждом из своих портов QSFP-56, включая связанные услуги, такие как брандмауэр L4 с отслеживанием состояния + шифрование IPsec + балансировка нагрузки. Показатели производительности и масштабирования – табл. 3.

SmartNIC, DPU, IPU (часть 1) - 11

Табл.3. Спецификация, показатели производительности и масштабируемости DSC-200.

Программируемый блок обработки данных (DPU, data processing unit) Pensando Elba P4 обеспечивает работу DSC-200 на скорости проводной сети — даже с несколькими цепочками служб — при одновременном повышении безопасности за счет изолированного применения политик. Панели управления полностью определяются программным обеспечением и поддерживаются оптимизированными аппаратными ускорителями. До 64 ГБ памяти DDR4/5 обеспечивают производительность и емкость таблицы потоков, необходимые для облачных развертываний.

Конфигурации развертывания DSC-200

DSC устанавливаются на серверы центра обработки данных для предоставления расширенных услуг, а также высокоскоростных сетевых портов ввода-вывода. Управление осуществляется внутри сети или вне сети либо с помощью Pensando Policy and Services Manager, либо непосредственно из систем управления облачных провайдеров через API-интерфейс платформы Pensando на основе gRPC или настраиваемых API-интерфейсов управления (рис. 3).

SmartNIC, DPU, IPU (часть 1) - 12

Рис. 3. Развертывание Pensando DSC-200 в серверах.

DSC могут быть развернуты как встроенные в сеть устройства — идеальное решение для «голого железа», поскольку нет необходимости в драйверах или агентах на хосте. Хотя DSC физически установлены на серверах, они потребляют энергию только от интерфейса PCIe. Управление DSC осуществляется по сети, внутриполосно или внеполосно (рис. 4).

SmartNIC, DPU, IPU (часть 1) - 13

Рис. 4. Развертывание Pensando DSC-200 в сети.

Спецификация DSC-200 – табл. 3.

Тестирование производительности AMD Pensando DSC200 [4]

Чтобы количественно оценить потенциальные преимущества программируемой архитектуры Pensando P4 для поставщиков облачных услуг и организаций, использующих частные облачные решения, была проведена серия тестов производительности в двух средах SDN (software-defined networking): одна на основе Pensando DSC-200, а другая на базе NVIDIA® Mellanox® ConnectX®-6 Dx SmartNIC (CX-6 Dx). Эти два устройства были выбраны потому, что они являются новыми архитектурами, доступными от каждого поставщика. Например, CX-6 Dx — это пакетный движок для новейшего DPU NVIDIA, Bluefield-2, и разгрузка для подсистемы Arm, обеспечивающая дополнительную производительность SDN и безопасность. Вместо специализированных генераторов пакетов в тестировании использовался Linux-инструмент пользовательского уровня для создания сетевого трафика для подключения к серверам. Это гораздо ближе к производительности, которую компания могла бы получить в центре обработки данных или в облачной среде.

В тестировании среда Pensando DSC-200 превзошла среду CX-6 Dx, достигнув большей пропускной способности — до 13 раз и снизив задержку до 64%.

Удовлетворение растущих ожиданий от облака требует инноваций

Поскольку организации во многих отраслях переносят всю или часть своей вычислительной инфраструктуры из центра обработки данных в облако, они ищут решения, которые хорошо масштабируются и обеспечивают высокую производительность и низкую задержку. Нетворкинг является важным фактором в достижении этих целей. Облачные провайдеры используют виртуализированные экземпляры, работающие на нескольких серверах.

Они должны обеспечить изоляцию между экземплярами, принадлежащими разным предприятиям, и перемещать данные как между экземплярами, работающими в разных местах, так и пользователям по всему миру.

AMD Pensando DSC-200 — это карта программируемых распределенных сервисов Pensando 2-го поколения, основанная на микросхеме Elba ASIC. Она предлагает два сетевых порта QSFP28, которые поддерживают как PAM4, так и NRZ, и могут быть развернуты на 2x100GE или 2x200GE или перейти на более низкие скорости портов. Чтобы сравнить влияние на производительность DSC-200 и другого сетевого устройства — NVIDIA Mellanox ConnectX-6 Dx, — был проведен тестовый сценарий, который включал обмен данными между конечными хост-устройствами, на которых работают оба продукта, на скорости 100G.

Сетевая архитектура включает в себя две плоскости: плоскость управления, которая определяет, как данные перемещаются в сети, и плоскость данных, по которой фактически передаются данные. На рис. 5 показаны компоненты Pensando DSC-200, в том числе программируемые процессоры P4 для конкретных приложений. Они выполняют обработку пакетов для плоскости данных. Ядра Arm обрабатывают пакеты исключений, требующие особенно сложных функций плоскости данных, и выполняют функции плоскости управления.

SmartNIC, DPU, IPU (часть 1) - 14

Рис. 5. Блок-диаграмма Pensando DSC-200 (Ист.: Source: Principled Technologies, based on Figure 1 in Michael Galles and Francis Matus ”Pensando Distributed Services Architecture,” IEEE Micro, 2021).

Поставщики облачных услуг могут запрограммировать P4-программируемую плоскость данных в плате распределенных служб. На рис. 6 показан программируемый на P4 конвейер данных, который сетевые инженеры могут использовать для настройки каждого уровня своего стека инфраструктуры.

SmartNIC, DPU, IPU (часть 1) - 15

Рис. 6. Программируемость P4-программируемых конвейеров в плате Pensando Distributed Services (Ист: Principled Technologies, based on “Solution Brief: Distributed Services for Cloud Providers“). (Ист: Principled Technologies).

Платформа распределенных служб Pensando поддерживает ряд функций, таких как сетевая безопасность и ускорение хранения. DSC использовался в качестве встроенного сетевого коммутатора со следующими специфическими для продукта возможностями: Advanced Observability и Advanced Networking.

О платформе распределенных услуг Pensando

Платформа распределенных служб Pensando поддерживает контейнерные, виртуализированные и физические рабочие нагрузки в облачной среде. Основой платформы является карта распределенных служб, которую Pensando описывает как «специально разработанный программируемый процессор для предметной области, предоставляющий высоко оптимизированное оборудование для обработки пакетов и предлагающий широкий набор программно-определяемых сетей, безопасности, телеметрии и услуг хранения.

По словам Pensando, DSC предлагает «высокую производительность, малую задержку, низкое дрожание и высочайшую масштабируемость, предназначенную для крупнейших облачных провайдеров», и его ценность заключается «не только в большом количестве предлагаемых услуг, но и в возможность связывать сервисы вместе в программируемой последовательности без потери производительности».

Архитекторы Pensando представляют свою платформу как лучший вариант из обоих миров, предлагая универсальность и программируемость ARM-модели наряду со скоростью и энергоэффективностью, типичными для ASIC.

Тестирование

Как в общедоступных, так и в частных облаках ИТ-организации часто контролируют обмен данными, выполняя различные сопоставления/действия с пакетами, передаваемыми между хост-устройствами. В исследовании были рассмотрены, насколько хорошо две сетевые среды (обе используют конфигурацию VXLAN SDN overlay) могут перемещать фрагменты данных разного размера между приложениями, работающими на двух серверах.

Сравнивались производительность среды на базе Pensando DSC-200 с использованием программируемого конвейера SDN P4 и среды на основе NVIDIA Mellanox ConnectX-6 Dx с использованием Open vSwitch с аппаратной разгрузкой в тестовом сценарии, включающем задачи, указанные в табл. 4.

SmartNIC, DPU, IPU (часть 1) - 16

Табл. 4. Задачи в тестовом сценарии.

Использовался инструмент iperf3 для измерения пропускной способности и инструмент sockperf для измерения задержки. На рис. 7 показана установка испытательного стенда.

SmartNIC, DPU, IPU (часть 1) - 17

Рис. 7. Тестовая установка включала два сервера HPE ProLiant DL380 с процессорами AMD EPYC™ 7320, 256 ГБ памяти и 16 райзерами PCIe® Gen4 (Ист.: Principled Technologies).

Размеры пакетов

В некоторых случаях размер блока (chunk) данных играет решающую роль в обычной производительности. Например, блочное хранилище часто передает данные большими массовыми группами. Когда ядро сервера и/или приложение разбивает эти группы на размер пакетов, поддерживаемый сетью, весь объем в конечном итоге передается с более низкой скоростью передачи пакетов, и становится возможной высокая пропускная способность. С другой стороны, некоторые приложения отправляют между серверами только небольшие сообщения и с большей вероятностью обеспечивают быструю связь с малой задержкой, используя небольшие размеры пакетов.

NVIDIA предоставляет два метода доступа к аппаратной разгрузке в Linux с помощью своих модулей ядра MLNX_OFED и программного обеспечения. Один, OVS-Kernel, использует сетевые функции в ядре Linux, а другой, OVS-DPDK, использует библиотеку DPDK для сетевых функций. Несмотря на рекомендации в документации NVIDIA, не удалось осуществить аппаратную разгрузку для тестовых правил OVS для отслеживания подключений ни одним из методов. Результаты в этом отчете получены при тестировании с использованием метода OVS-Kernel. Поскольку не удалось разгрузить отслеживание соединений на CX-6 Dx, результаты производительности сети, которые представлены для среды NVIDIA CX-6 Dx, могут быть хуже, чем они были бы с отслеживанием соединений с аппаратной разгрузкой.

Для тестов пропускной способности контролировался размер фрагментов (chunk) данных, которые будут перемещаться по сети. Был скорректирован максимальный размер пакета (или кадра Ethernet) для сетевого канала, установив максимальную единицу передачи (MTU) в сетевой карте каждого сервера, которая служила целью VXLAN. Для теста на задержку мы скорректировали параметры приложения, задав размер блока данных, и настроили MTU так, чтобы он превышал этот размер. Эти два определения размера пакета различаются (размером не IP-заголовков кадра), но остаются неизменными на протяжении всего тестирования.

Были протестированы 10 размеров фрагментов данных с MTU в диапазоне от 96 до 9000 байт.

Отслеживание соединения

В сети отслеживание соединения — это когда устройство сохраняет информацию о состоянии соединения в таблицах памяти. Эта функция отслеживания соединений является важнейшим элементом безопасности в общедоступных облачных сетях. Она также может повысить ценность в области метрик. Поскольку при этом используются память и циклы обработки, отслеживание соединений может привести к снижению производительности с точки зрения пропускной способности и задержки. Это снижение может быть серьезным, если только разработчик SDN не сможет переложить отслеживание на процессоры конкретного приложения устройства, а не на его стандартные процессоры. В худшем случае отслеживание соединения ложится на процессоры сервера.

При тестировании среды Pensando отслеживание соединения было перенесено на карту Pensando DSC-200G. Напротив, NVIDIA Mellanox ConnectX-6 Dx с конфигурацией Open vSwitch не перекладывала отслеживание соединения на аппаратное обеспечение устройства. Чтобы количественно оценить снижение производительности, вызванное незагруженным сервисом, был дважды запущен сценарий для CX-6 Dx: один раз с отслеживанием соединения и один раз без него.

Туннель VXLAN

Туннель VXLAN — это форма сетевой инкапсуляции, которую облачные сети используют для соединения хостов в нескольких местах таким образом, что все хосты находятся в одной локальной сети (LAN). Туннели VXLAN могут обеспечить сетевую безопасность, ограничивая, какие хосты могут обмениваться данными через туннель, и даже могут преодолевать ограничения сетевых протоколов. Например, они могут устранить конфликты MAC-адресов для виртуальных хостов или разрешить более 4096 VLAN в агрегированной сети.

Пропускная способность

Чтобы измерить пропускную способность двух сред, использовалось несколько экземпляров инструмента iperf3 для генерации сетевого трафика TCP. Измерялись как гигабиты в секунду (Гбит/с), так и скорость передачи пакетов (пакетов в секунду), используя интерфейс операционной системы для счетчиков CX6. Было протестировано 1, 4, 16 и 32 экземпляра (instances). В этом разделе представлены результаты для тестов с 4 и 16 экземплярами

На рисунках 8 и 9 показаны пропускная способность в Гбит/с и скорость передачи пакетов соответственно, которых две среды достигли в тесте с 4 экземплярами. На обеих диаграммах показано решение Pensando, обеспечивающее отслеживание соединений, и среда CX-6 Dx без отслеживания соединений, обеспечивающая сопоставимую производительность. Производительность среды CX-6 Dx с неразгруженным сервисом отслеживания соединений была значительно ниже. Наибольшая разница между средой Pensando DSC и средой CX-6 Dx с отслеживанием соединений была связана с ограничением MTU в 256 байтов, где пропускная способность первого более чем в 8 раз превышала пропускную способность второго. (Обратите внимание, что данные, которые мы представляем в этом отчете, представляют собой результаты протестированных нами сценариев и не отражают максимальные значения, заявленные каким-либо поставщиком).

SmartNIC, DPU, IPU (часть 1) - 18

Рис. 8. Пропускная способность конвейера SDN в Гбит/с для двух тестовых Пропускная способность конвейера SDN в Гбит/с для двух тестовых сред с 4 экземплярами. Чем выше, тем лучше. (Ист.: Principled Technologies).

SmartNIC, DPU, IPU (часть 1) - 19

Рис. 9. Скорость передачи пакетов конвейера SDN для двух тестовых сред с 4 экземплярами. Чем выше, тем лучше. (Ист.: Principled Technologies).

На рис. 10, 11 показаны пропускная способность в Гбит/с и скорость передачи пакетов соответственно, которые две среды достигли в тесте с 16 экземплярами (instances). Результаты скорости передачи пакетов очень похожи на те, которые были с 4 экземплярами (instances): среда Pensando с отслеживанием соединения достигла скорости передачи пакетов, сравнимой со средой CX-6 Dx без отслеживания соединения, а скорость передачи пакетов в среде CX-6 Dx со службой отслеживания соединения без разгрузки была значительно ниже.

SmartNIC, DPU, IPU (часть 1) - 20

Рис. 10. Пропускная способность конвейера SDN в Гбит/с для двух тестовых Пропускная способность конвейера SDN в Гбит/с для двух тестовых сред с 16 экземплярами. Чем выше, тем лучше. (Ист.: Principled Technologies).

SmartNIC, DPU, IPU (часть 1) - 21

Рис. 11. Скорость передачи пакетов конвейера SDN для двух тестовых сред с 16 экземплярами. Чем выше, тем лучше. (Ист.: Principled Technologies).

Картина немного отличается в отношении пропускной способности: среда Pensando обеспечивает явное преимущество даже перед средой CX-6 Dx без отслеживания соединения — пропускная способность выше на 46% при 8 192 MTU — и намного выше, чем среда CX-6 Dx с отслеживанием соединений при ограничениях MTU. Наибольшие различия были с ограничениями MTU 96 и 256 байт, где среда Pensando DSC достигла пропускной способности, в 13 раз превышающей пропускную способность среды CX-6 Dx.

Об инструменте тестирования: iperf3

iperf3 — это инструмент, который позволяет измерять максимально достижимую пропускную способность в IP-сетях. Согласно его документации на веб-сайте iperf3, «он поддерживает настройку различных параметров, связанных с синхронизацией, буферами и протоколами (TCP, UDP, SCTP с IPv4 и IPv6). Для каждого теста он сообщает о пропускной способности, потерях и других параметрах».

Задержка для одного экземпляра

Чтобы измерить задержку, которую две среды доставили при выполнении этого сценария, использовался инструмент sockperf. Как показано на рис. 12, задержка в среде Pensando DSC была самой низкой при всех размерах пакетов с постепенным увеличением по мере увеличения размера пакета. Без отслеживания соединения CX-6 Dx показал задержку лишь немного хуже, чем в среде Pensando для каждого размера пакета. Однако при использовании службы отслеживания соединений без разгрузки задержка среды CX-6 Dx значительно увеличилась для всех размеров пакетов, особенно для самых больших (9000 байт). Здесь задержка среды Pensando была вдвое меньше, чем в среде CX-6 Dx с отслеживанием соединений — на 64% ниже.

SmartNIC, DPU, IPU (часть 1) - 22

Рис. 12. One-way задержка SDN-конвейера для двух тестовых сред с 1 экземпляром. Ниже – лучше. (Ист.: Principled Technologies).

Производительность SDN-устройств на хосте зависит от сторонних библиотек и модулей хоста.

DSC работает независимо от серверов, создающих трафик. Напротив, некоторые функции, поддерживаемые NVIDIA CX-6 Dx, не могут работать независимо от серверов, создающих трафик. Сетевое приложение, реализация Open vSwitch и/или ядро Linux должны явно поддерживать функцию NVIDIA. Возможно, что другая реализация Open vSwitch, например, та, которая использует DPDK, может разрешить большую разгрузку на CX-6 Dx, что улучшит пропускную способность и задержку через туннель VXLAN. Однако для повышения производительности с помощью DPDK потребуется переписать приложения, генерирующие туннельный трафик, для использования DPDK. В нашем тестировании использовались готовые приложения, отличные от DPDK, и DSC показал хорошие результаты.

Об инструменте тестирования: sockperf

sockperf — это утилита для тестирования сети через сокет API. Согласно его документации на GitHub, он был «предназначен для тестирования производительности (задержки и пропускной способности) высокопроизводительных систем. Он охватывает большинство вызовов и параметров API-сокетов».

Заключение

В наших практических тестах облачной рабочей нагрузки в двух реализациях SDN среда на основе Pensando DSC-200 превзошла среду на основе NVIDIA Mellanox ConnectX-6 Dx SmartNIC как по пропускной способности, так и по общей пропускной способности в Гбит/с. Сравнение Pensando DSC-200 с NVIDIA Mellanox ConnectX-6 Dx с iperf3 показало: до 13-крат большую пропускной способности в Гбит/с и скорость передачи пакетов с отслеживанием соединения в тестах iperf3 и снижение задержки до 64% благодаря отслеживанию соединений в тестах sockperf.

AMD Pensando Software in Silicon Development Kit (SSDK) [5]

Комплект AMD Pensando Software in Silicon Development Kit (SSDK) позволяет разрабатывать программное обеспечение для блока обработки данных (DPU) AMD Pensando. SSDK предоставляет полную среду разработки на основе контейнеров для систем x86, которая может создавать программное обеспечение, которое можно установить либо на прилагаемый симулятор DPU, либо на физический DPU. SSDK позволяет разрабатывать функции плоскости данных, плоскости управления и плоскости управления функциями, включая быстрый путь DPU, медленный путь, разгрузку безопасности, эмуляцию PCIe® и сложные приложения CPU.

Ключевые особенности включают в себя:

  • упрощенная установка, позволяющая быстро установить среду разработки;
  • обширные примеры и эталонные пайплайны для начала реальной разработки p4;
  • легкодоступная контейнерная инфраструктура для создания, тестирования и отладки кода перед кросс-компиляцией этого кода в DPU;
  • скомпилированное и готовое к интеграции системное программное обеспечение, поддерживающее безопасную загрузку DPU и приложений;
  • обширная документация, помогающая ориентироваться в среде разработки.

 

Сам SSDK включает в себя:

  • цепочку инструментов кросс-компиляции Linaro Arm®;
  • компилятор P4;
  • симулятор DPU;
  • инструменты и библиотеки отладки;
  • драйвер DPDK;
  • автоматически созданные API CRUD для управления таблицами;
  • API P4PD;
  • полная документация.

 

SSDK также включает в себя богатый набор эталонных конвейеров для демонстрации производительности, возможностей безопасности, служб с отслеживанием состояния и без сохранения состояния, поддерживаемых в механизме P4, включая поддержку сеансов, потоков, маршрутизации и политик безопасности, а также таблицы измерений в масштабе. Среди включенных эталонных конвейеров — NACL (сетевой ACL), крупномасштабные таблицы потоков, поток HA, многоуровневый синтаксический анализ и разбор VXLAN, встроенный туннель IPsec и транспортный режим, разгрузка одного хоста и поиск политик маршрутизации/безопасности и ускорение старения потока (рис. 13).

SmartNIC, DPU, IPU (часть 1) - 23

– цепочка инструментов разработки для DPU и симулятора;

– библиотеки и образцы кода на P4 и C++;

– драйверы для Arm и x86 (ядро Linux® и DPDK);

– богатый набор эталонных пайплайнов для легкой разработки.

Рис. 13. Состав AMD Pensando DPU SSDK.

Software in Silicon Development Kit (SSDK) — это среда, позволяющая разрабатывать программное обеспечение для блока обработки данных (DPU) AMD Pensando. Первоначально SSDK был внутренней средой разработки, которую инженеры AMD использовали для разработки пользовательских производственных конвейеров для гиперскейлеров и корпоративных клиентов; теперь он стал доступен для сторонних разработчиков.

Код может быть написан на P4 для выполнения в блоках обработки совпадений (MPU) DPU «fastpath», или на C++ для его основного комплекса ARM, или в комбинации обоих. При желании также можно использовать встроенные ускорители функций DPU.

SSDK также могут использовать клиенты, которые не хотят разрабатывать собственный конвейер с нуля, а предпочитают полный программный контроль над DPU с помощью существующего готового к использованию настраиваемого конвейера через API gRPC во время выполнения.

Симулятор можно использовать для проверки кода в виртуализированной среде без необходимости загрузки образа на реальное оборудование. Эта возможность проверки кода может быть очень полезна при интеграции SSDK и симулятора в разработку и рабочие процессы на основе CI/CD.

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

AMD Pensando DPU одновременно обрабатывает несколько пакетов для оптимизации производительности.

Производительность симулятора несопоставима (даже в уменьшенном масштабе) с производительностью реального оборудования DPU. В частности, когда пакеты представляются одному из физических интерфейсов DPU, DPU одновременно обрабатывает несколько пакетов, тогда как обработка пакетов сериализуется в симуляторе. В результате параллельные сценарии, такие как несколько пакетов, использующих одни и те же ресурсы (например, определенную запись в таблице) одновременно, не могут быть смоделированы.

SSDK использует различные возможности AMD Pensando ASIC и обеспечивает развертывание с минимальной зависимостью от хоста или сервисов ASIC Arm/x86. Многие функции DPU могут быть реализованы в быстром пути с использованием P4, который может обеспечить большую масштабируемость, CPS и PPS, низкую задержку и дрожание, а также позволяет выполнять несколько параллельных сервисных функций на одном и том же DPU (табл. 5).

SmartNIC, DPU, IPU (часть 1) - 24

SmartNIC, DPU, IPU (часть 1) - 25

Табл. 5. Особенности и примеры конвейеров SSDK.

Эталонные конвейеры — это короткие, но полностью работающие примеры конвейеров, которые демонстрируют управление таблицами, входящие и исходящие потоки пакетов и содержат образцы кода P4 и C++ для взаимодействия с ARM и манипулирования пакетами для обработки конвейера. Эталонные конвейеры позволяют разработчикам ознакомиться с API-интерфейсами сгенерированных таблиц P4 PDS (Pensando Distributed Services), а также с библиотеками, набором инструментов для разработки и отладки. Эти примеры можно использовать для прототипирования, но они также служат отправной точкой для разработки новых конвейеров.

Наследие Xilinx

Компания Xilinx – одна из старейших и до поглащения AMD была самой крупной на мировом рынке FPGA, с долей 51% по данным самой компании (https://ru.wikipedia.org/wiki/Xilinx).

Xilinx — американский разработчик и производитель интегральных микросхем программируемой логики (ПЛИС, FPGA), а также САПР ISE (позже Vivado) для разработки цифровых устройств с использованием языков VHDL и Verilog. Xilinx была основана в 1984 г. 27 октября 2020 года было заключено соглашение о слиянии компаний AMD и Xilinx.

Компанию основали инженеры-предприниматели Берни Вондер-шмит, Джим Барнетт и Росс Фримен — изобретатель концепции базового матричного кристалла (БМК), программируемого пользователем (Field Programmable Gate Array, или FPGA). Помимо всех преимуществ стандартных БМК, при использовании FPGA разработчик электронных устройств получал возможность реконфигурации кристалла на рабочем месте. Это давало принципиально новые средства коррекции ошибок и существенно сократило время выхода новых разработок на рынок готовой продукции.

Существовавшие в то время БМК программировались по спецификации заказчика непосредственно заводом-изготовителем ИМС.

Xilinx выпустил первую продукцию — программируемую пользователем матрицу XC2064 в 1985. В 1990, после смерти Фримена, компания стала публичной. В следующем, 1991, году Xilinx выпустил семейство программируемой логики XC4000, ставшее, по сути, первым массово применявшимся FPGA. Компания Xilinx получила 3208 патентов.

27 октября 2020 года корпорация AMD Inc. объявила о слиянии с компанией Xilinx. Сумма этой сделки составит $35 млрд, в итоге которой появится объединенная компания, 74% которой будет принадлежать AMD, тогда как за Xilinx останется 26%. Руководить объединенной компанией будет глава AMD Лиза Су. При этом состав совета директоров компании AMD пополнится представителями Xilinx, а действующий руководитель компании Xilinx Виктор Пэн перейдёт на пост президента AMD, отвечающего за профильный бизнес. 14 февраля 2022 года корпорация AMD завершила слияние с компанией Xilinx, предполагаемая итоговая сумма сделки составила $50 млрд.

Разновидности ПЛИС — микросхемы FPGA (Field Programmable Gate Array), перепрограммируемые микросхемы с традиционной архитектурой PAL (Complex Programmable Logic Devices, или CPLD), — а также средства их проектирования и отладки, выпускаемые фирмой Xilinx, используются в устройствах цифровой обработкой информации — например, в системах телекоммуникации и связи, 5G, вычислительной технике, периферийном и тестовом оборудовании, электробытовых приборах, космической аппаратуре. Фирма производит микросхемы в различных типах корпусов и в нескольких исполнениях, включая индустриальное, военное и радиационно-стойкое. Семейство ПЛИС Zynq UltraScale+RFSoCs компании Xilinx содержат до 16 быстродействующих АЦП и ЦАП, интегрированных в их структуру.

Помимо производства FPGA, в портфеле Xilinx: карты-ускорители, NIC/SmartNIC, специализированное ПО.

Ethernet-адаптеры

Семейство Ethernet-адаптеров с низкой задержкой (<1 мкс) представлено тремя сериями (https://www.xilinx.com/products/boardsandkits/ethernetadapters.html):

  • Alveo™ X3 Series Low Latency Adapters;
  • X2 Series Ethernet Adapters;
  • 8000 Series Ethernet Adapters.

Последние две наследуют архитектуру SolarFlare.

Ethernet-адаптеры серии X2 — XtremeScale X2522, X2541

Серия сетевых адаптеров Ethernet XtremeScale™ (рис. 14) предназначена для высокопроизводительных электронных торговых сред и корпоративных центров обработки данных; включая искусственный интеллект, большие данные, аналитику, гипермасштабирование, машинное обучение, хранилище и телекоммуникационные приложения.

SmartNIC, DPU, IPU (часть 1) - 26SmartNIC, DPU, IPU (часть 1) - 27 Рис. 14. Ethernet-адаптеры серии X2 — XtremeScale X2522 (внизу), X2541 (https://www.xilinx.com/products/boards-and-kits/x2-series.html).

Благодаря рекордно низкой задержке и высокой пропускной способности сетевые адаптеры XtremeScale передают информацию о пакетах и потоках в режиме реального времени тысячам виртуальных сетевых адаптеров. Такое сочетание сверхвысокой пропускной способности, сверхнизкой задержки, сверхмасштабируемого подключения и телеметрии пакетов позволяет адаптерам серии X2 масштабироваться с каждым сервером, виртуальной машиной или контейнером.

Для облачных центров обработки данных программное обеспечение для ускорения приложений Onload™ значительно ускоряет и масштабирует ресурсоемкие сетевые рабочие нагрузки, такие как базы данных в оперативной памяти, программные балансировщики нагрузки и веб-серверы. С помощью Onload центры обработки данных могут поддерживать 4 и более пользователей в своей облачной сети, обеспечивая при этом повышенную надежность, улучшенное качество обслуживания (QoS) и более высокую окупаемость инвестиций без модификации существующих приложений.

В средах электронной торговли ускорение приложений с обходом ядра Onload и службы DPDK обеспечивают превосходную производительность небольших пакетов с аппаратной задержкой менее микросекунды.

Кроме того, адаптеры XtremeScale поддерживают службу фабрики протокола точного времени (PTP) для приложений, которым требуется синхронизированная отметка времени пакетов с разрешением до одной цифры в наносекундах.

Целевые приложения:

  • электронные торговые площадки;
  • публичные, частные и гибридные облачные центры обработки данных;
  • “чистое железо”, контейнеры и виртуализированные среды;
  • сети доставки контента.

 

Основные характеристики и преимущества:

  • субмикросекундная задержка;
  • почти нулевой джиттер;
  • высокая масштабируемость;
  • предсказуемая, детерминированная производительность системы;
  • самая высокая в отрасли скорость передачи сообщений;
  • прецизионная отметка времени для точной синхронизации;
  • готовое хранилище NVMe™/TCP;
  • мониторинг производительности сети SolarCapture™ Pro.

Ethernet-адаптеры серии 8000 — сетевые адаптеры 10/40GbE (7 моделей, https://www.xilinx.com/products/boardsandkits/8000-series.html#specifications)

В сверхмасштабных средах нельзя довольствоваться сетевыми адаптерами, которые просто соединяют серверы с сетями. Безопасность на уровне сервера, сетевая телеметрия на уровне виртуальной машины (ВМ) и ускорение приложений — это проблемы, которые сетевые адаптеры должны решать в масштабе. Функции адаптеров серии XtremeScale 8000:

  • пропускная способность до 40 Гбит/с;
  • задержки ниже 1 мкс;
  • XtremePacketEngine обеспечивает 1000 потоков/виртуальных сетевых карт на адаптер;
  • API для программного обеспечения определили адаптер, обеспечивающий широкий спектр возможностей;
  • UKB обеспечивает экстремальное ускорение приложений;
  • телеметрия для захвата пакетов, мониторинга и анализа;
  • безопасность на уровне сетевой карты за счет фильтрации пакетов и надежной блокировки сервера.

Ethernet-адаптеры Alveo X3 Series (4×10/25GbE ports, 2 модели, https://www.xilinx.com/products/boards-and-kits/alveo/x3.html#specifications)

Сегодня ведущим торговым фирмам, маркет-мейкерам, хедж-фон-дам и биржам для получения конкурентного преимущества требуется быстрое исполнение сделок и управление рисками. Трейдерам, которым требуется обновление сетевых адаптеров по принципу «включай и работай», специалистам, которым требуется разгрузка вычислений для ускорения работы их алгоритмов, или партнерам, которым нужна максимальная гибкость для создания собственных финтех-решений, новая серия сетевых адаптеров и карт-ускорителей Alveo™ X3 с малой задержкой предлагает готовые решения или настраиваемые пути реализации (рис. 15).

SmartNIC, DPU, IPU (часть 1) - 28

Рис. 15. Ethernet-адаптер серии Alveo X3522 (https://www.xilinx.com/products/boards-and-kits/alveo/x3.html#specifications).

Основные характеристики и преимущества:

  • сетевое решение с малой задержкой и высокой плотностью портов (до 4x 10/25G);
  • оптимизированная архитектура для надежной работы и исполнения сделок;
  • поддержка полного обхода ядра с использованием Onload®, TCPDirect и ef_vi API.

 

Программируемая архитектура:

  • оптимизация задержки системы за счет переноса функций на программируемую логику;
  • обработка хоста ЦП выполняется параллельно с функциями с низкой задержкой в ПЛИС;
  • возможность обновления оборудования для меняющихся вариантов использования и требований.

 

Индивидуальный дизайн и реализация для разработчиков аппаратного и программного обеспечения:

  • унифицированная программная среда Vitis™ для пользовательских функций на C/C++;
  • Vivado™ DesignSuite для дизайна RTL и настройки оборудования.

 

AMD адаптивные SmartNIC и сетевые акселераторы для будущих архитектур дата-центров

В последние годы системная архитектура многих сетей и систем хранения эволюционировала в направлении модели, ориентированной на серверы. Использование традиционных проприетарных специализированных аппаратных архитектур быстро сокращается. Эта тенденция началась с гипермасштабируемых центров обработки данных и в последнее время распространились на приложения Telco, Enterprise и Edge. Эффективность в зависимости от рабочей нагрузки может быть достигнута, если базовые функции работы с сетью, хранилищем, перемещением данных и безопасностью будут разгружены с центрального процессора платформы, что предоставит больше вычислительных ресурсов для пользовательских приложений. Одним из решений этой задачи является использование SmartNIC, которые предлагают [8]:

  • разгрузку ресурсоемких вычислительных функций с центральных процессоров;
  • разделение инфраструктуры и клиентских приложений;
  • адаптируемость к неоднородности рабочей нагрузки;
  • встроенные функции.

В то время как сегодняшние SmartNIC в основном предлагают платформы, которые разгружают центральные процессоры хоста.

AMD предлагает новые варианты использования SmartNIC, такие как контейнерная сеть, ускорение OVS, AI/ML, безопасность и другие. В поддержку этого AMD предлагает 3 решения на основе FPGA: AMD Alveo™ U25N SmartNIC, ускорительные карты Alveo U55C/N, Alveo SN1000 SmartNIC, а также адаптивные SoC Versal™, обеспечивая гибкость динамической загрузки функций.

SmartNIC эволюционировали за последние несколько лет с точки зрения баланса между ускорением функций инфраструктуры и клиентскими приложениями. Первоначально клиентские приложения создавались со значительным объемом встроенной инфраструктурной логики. Это сделало клиентские приложения более сложными. С появлением более совершенных и программируемых SmartNIC логика инфраструктуры может быть перенесена в SmartNIC, что упрощает логику клиентского приложения (рис. 15а).

SmartNIC, DPU, IPU (часть 1) - 29

Рис. 15а. Инфраструктурная логика выгружается на SmartNIC [8].

По мере того, как приложения растут в масштабе и все чаще распределяются между десятками, сотнями или даже тысячами серверов (на примере гиперскейлеров), архитекторы все чаще добавляют SmartNIC, чтобы гарантировать, что обработка инфраструктуры не повлияет на обработку приложений арендатора. Среди основных областей инфраструктуры, которые SmarNIC могут разгрузить следующие:

  • разгрузка межпроцессорного (inter-processor) и межускорительного (inter-accelerator) обмена данными;
  • оркестрация рабочей нагрузки и балансировка нагрузки в режиме реального времени;
  • разгрузка безопасности и управления;
  • дезагрегация и объединение памяти с помощью CXL;
  • всеобъемлющий ИИ для сетей, хранилищ и транзакций с памятью;
  • перемещение данных между сущностями с минимальным количеством копий.

Наряду с увеличением объема рабочих нагрузок, которые SmartNIC могут разгрузить, меняются методологии разработки и развертывания рабочих нагрузок, что требует:

  • обеспечение более тесной взаимосвязи между вычислениями (как в/из, так и между процессорами) и другими ускорителями на платформе;
  • добавление всеобъемлющего ИИ — отслеживание всех датчиков и транзакций с помощью ИИ/МО в реальном времени;
  • обеспечение доступности архитектур дезагрегации/объединения памяти с помощью CXL;
  • поддержки аппаратной оркестровки рабочей нагрузки в реальном времени и балансировка нагрузки;
  • обеспечение перемещения данных с минимальным количеством копий данных;
  • обеспечение модульного корня доверия (root-of-trust) и управления.

Межсубъектная (inter-entity) связь

Поскольку рабочие нагрузки охватывают все большее количество серверов, межпроцессорное взаимодействие (IPC, inter-processor communication) имеет решающее значение для поддержания производительности таких рабочих нагрузок. Общая тенденция к масштабируемым приложениям привела к созданию цепочечных, конвейеризованных облегченных приложений, требующих гибкости обработки и обмена данными. В большинстве сред центров обработки данных объем трафика восток-запад (межпроцессорный) в 3-5 раз больше, чем трафик север-юг (линейный). Например, если платформа поддерживает пропускную способность NIC 200 Гбит/с, пропускная способность межпроцессного взаимодействия может превышать 1 Тбит/с.

Хотя современные сетевые адаптеры SmartNIC разгружают обмен данными между виртуальными машинами, предлагая ускорение Open vSwitch (OVS), это не подходит для обмена данными между контейнерами, когда контейнеры эфемерны (в отличие от виртуальных машин). Кроме того, все контейнеры в анклаве могут обмениваться данными. Кроме того, требования к изоляции между ними менее строгие, чем требования между виртуальными машинами. Это открывает новые возможности для ускорения, такие как ускорение Service Mesh в SmartNIC. Контейнеры разгружают свою сеть на прокси-сервер или боковые панели, поэтому приложения, работающие в контейнерах, меньше загружены сетевыми задачами. Однако сегодняшние проекты SmartNIC еще не обеспечивают достаточную производительность при запуске дополнительных контейнеров и оркестрации уровня управления от Istio, Docker и т.д. (рис. 15б).

SmartNIC, DPU, IPU (часть 1) - 30

Рис. 15б. SmartNIC для разгрузки прокси и ускорения контейнерных сетей [8].

Прокси разгрузка

В сети контейнеров прокси-сайдкар (proxy-sidecar) расширяет функциональность существующих контейнеров. Это помогает перенести функции, не связанные с логикой приложения, в прокси. Такое разделение инфраструктуры значительно снижает сложность приложений. Кроме того, это повышает гибкость приложений, обеспечивая возможность переноса на различные типы инфраструктуры без жесткого кодирования конкретных предположений об уровне развертывания.

Однако связь через прокси, как правило, существует на более высоких уровнях абстракции, таких как gRPC или HTTP2. Хотя это может помочь избежать прохождения через сетевой стек, оно выявляет некоторые пробелы в производительности современных вычислительных инфраструктур в их способности эффективно обрабатывать коммуникации более высокого уровня. Для этого требуются такие функции, как HTTP, gRPC и TLS. Для таких реализаций есть много функций, которые нужно ускорять аппаратно.

Всеобъемлющий ИИ

Поскольку инфраструктура становится все более разнородной и сложной, программный подход к управлению и безопасности становится серьезной проблемой. Кроме того, в случаях использования кибербезопасности, таких как обнаружение программ-вымогателей, обнаружение сетевых аномалий и предотвращение DDoS, сбор информации о доступе к диску и выполнение вывода ИИ на основе данных помогает обнаружить многие известные модели атак, что позволяет предпринять корректирующие действия. Таким образом, количество методов AI/ML для множества вариантов использования инфраструктуры во многих отраслевых сегментах растет в геометрической прогрессии. Задачи, начиная от обнаружения программ-вымогателей и заканчивая обнаружением аномалий безопасности и распределенным интеллектом, обращаются к AI/ML в качестве решений.

Инспекция и вывод AI/ML были успешными, если было предоставлено достаточное количество наборов данных для первоначального обучения моделей. SmartNIC могут обеспечить ускорение AI/ ML как для встроенного обнаружения в реальном времени, так и для обработки не в реальном времени. Портфолио адаптивных однокристальных систем AMD Versal, идеально подходящее для приложений логического вывода, предлагает встроенный механизм искусственного интеллекта наряду с программируемыми логическими вентилями (рис. 15в).

SmartNIC, DPU, IPU (часть 1) - 31

Рис. 15в. Адаптивная SoC Versal c ускорителями AI для следующего поколения SmartNIC [8].

Существует три возможных сценария развертывания SmartNIC для ускорения рабочих нагрузок инфраструктуры на основе ИИ:

  • классификатор потока SmartNIC помогает выделить часть сетевого трафика для дальнейшего обнаружения аномалий поведения. Классификация потоков и механизмы искусственного интеллекта работают в режиме реального времени. Дополнительные механизмы сбора статистики активируются для передачи информации, основанной на заголовке пакета;
  • SmartNIC выступает в качестве активного агента сбора данных, который выбирает различные метрики для захвата пакетов RX и/или TX, а затем передает дайджест механизму AI/ML для дальнейшей проверки;
  • Хост-процессор платформы запускает активный(е) агент(ы) сбора данных и, основываясь на интеллектуальном программном обеспечении более высокого уровня, выбирает часть этих данных для дальнейшей проверки SmartNIC.

 

Таким образом, сетевые адаптеры SmartNIC будут изначально обрабатывать рабочие нагрузки AI/ML с интегрированными моделями логического вывода AI в реальном времени.

Дезагрегация ускорителей, хранения и памяти

С появлением высокоскоростных сетей с малой задержкой операторы центров обработки данных используют ускорители, постоянное хранилище или дезагрегацию памяти для создания гибких и масштабируемых архитектур. Кроме того, все чаще развертываются решения Compute Express Link (CXL) и, в частности, решения для памяти CXL.mem. По мере развития стандарта CXL 3.0, FPGA обеспечивают уникальную гибкость, позволяющую обновлять развернутое оборудование в полевых условиях в соответствии с последними стандартами. Продукты AMD UltraScale+TM и Versal™ предлагают преимущества интегрированных ядер и программируемой логики для клиентов, которым нужна аппаратная адаптируемость без ущерба для производительности.

Для реализации этой дезагрегированной архитектуры решающее значение имеют динамическое выделение ресурсов, а также простые протоколы с малой задержкой (в диапазоне нескольких микросекунд) для сквозной связи (рис. 15г). Существует несколько технологий, поддерживающих эту архитектуру, например NVMe-oF (NVMe over ROCE, iWarp, Infiniband) и ExpeEther (PCIe over Ethernet).

SmartNIC, DPU, IPU (часть 1) - 32

Рис. 15г. Дезагрегация ускорителей, хранения и памяти [8].

Разгрузка перемещения данных

Количество вычислительных ядер на серверных платформах увеличивается, и вскоре ожидается, что оно превысит 100 ядер, доступных для различных рабочих нагрузок. Ожидается, что многие потоки, процессы, виртуальные машины и контейнеры будут работать на этих вычислительных ядрах. Для многих приложений, которые охватывают несколько ядер или совместные рабочие нагрузки, необходимость передачи данных от одного ядра/ВМ/контейнера к другому, перемещение данных между ядрами является серьезной проблемой. Эта проблема значительно усугубляется при общении между двумя арендаторами, которые не доверяют друг другу. Требования к перемещению данных для будущих серверных платформ превысят 1 Тбит/с. Поэтому неэффективно выполнять крупномасштабное перемещение данных с использованием ядер ЦП.

Для удовлетворения этих потребностей будущим сетевым адаптерам SmartNIC потребуется разгружать копии данных между арендаторами. На рис. 15д показаны три варианта использования перемещения данных:

  • перемещение данных между контейнерами/ВМ и ускорителями;
  • перемещение данных между двумя контейнерами/виртуальными машинами внутри сокета или между сокетами;
  • перемещение данных между контейнерами/виртуальными машинами и дезагрегированной памятью.

SmartNIC, DPU, IPU (часть 1) - 33

Рис. 15д. SmartNIC для ускоренного перемещения данных [8].

Разгружая перемещение данных между объектами (контейнерами, виртуальными машинами, процессами), сетевые адаптеры SmartNIC повышают энергоэффективность, повышают эффективность работы ядра, обеспечивают соблюдение политик безопасности и доступа, а также предлагают расширенные функции удаленного атомарного управления, используемые для статистики и других случаев.

Ускоритель перемещения данных в SmartNIC должен иметь программируемые функции в зависимости от потребностей развертывания. Еще одним важным преимуществом маршрутизации транзакций перемещения данных через SmartNIC является то, что все транзакции можно отслеживать в режиме реального времени с помощью встроенных механизмов телеметрии.

Безопасность и управление разгрузкой

Из-за стоимости обслуживания и обновления серверы становятся все более модульными. Основываясь на этой тенденции, Open Compute Platform (OCP) определила модульную архитектуру для вычислений, сетевой карты, хранения и функций безопасности на сервере. Эта модульность подразумевает, что каждый из модулей должен управляться независимо, а безопасность этих модулей дезагрегирована (рис. 15е).

SmartNIC, DPU, IPU (часть 1) - 34

Рис. 15е. Модульные решения для разделенных функций безопасности и управления [8].

Функции управления традиционно выполняются контроллером управления основной платой (BMC, baseboard management controller), а безопасность обеспечивается корнем доверия (RoT). SmartNIC уже поддерживают все аспекты управления этим модулем. Точно так же сетевые карты SmartNIC уже поддерживают функции безопасной загрузки, управления ключами и отказоустойчивости встроенного ПО как часть установленных функций безопасности. Учитывая то, что может потребоваться много уровней безопасности, такие платформы, как линейка Alveo SmartNIC от AMD, идеально подходят для обеспечения желаемого уровня безопасности в зависимости от конкретных потребностей приложений.

AMD Adaptive SmartNIC и сетевые акселераторы

На рис. 15ж показана базовая архитектура адаптивных сетевых карт AMD SmartNIC. Сетевые ускорители Alveo U55N/C и Alveo SN1000 SmartNIC снабжены оболочкой OpenNIC, позволяющей разработчикам быстро использовать базовые функции. Проект OpenNIC предоставляет платформу NIC на основе FPGA для сообщества разработчиков открытого исходного кода, чтобы поделиться отраслевым опытом. Он состоит из двух компонентов: оболочки сетевой карты и программных драйверов. Оболочка NIC представляет собой предварительно разработанный дизайн (написанный на RTL), который настраивает AMD FPGA с основными функциями SmartNIC. В настоящее время он поддерживает несколько сетевых ускорителей Alveo (cм. https://github.com/Xilinx/open-nic). Программное обеспечение включает в себя драйверы Linux и DPDK. На рис. 15з показана архитектура, содержащаяся в оболочке NIC.

SmartNIC, DPU, IPU (часть 1) - 35

SmartNIC, DPU, IPU (часть 1) - 36

Рис. 15ж. Архитектуры Alveo Adaptive SmartNIC и сетевых ускорителей [8].

SmartNIC, DPU, IPU (часть 1) - 37

Рис. 15з. OpenNIC shell дизайн [8].

На рис. 15и показан аппаратно-программируемый и энергоэффективный сетевой адаптер SmartNIC на примере платформы Alveo U25N.

SmartNIC, DPU, IPU (часть 1) - 38

Рис. 15и. Блок-диаграмма Alveo U25N SmartNIC [8].

На рис. 15к показаны преимущества разгрузки OVS для средних размеров пакетов для vRouter. OVS, разгруженный в U25N SmartNIC, демонстрирует более чем в 4 раза более высокую производительность, чем CPU-версия OVS, и использует только 30% CPU1).

SmartNIC, DPU, IPU (часть 1) - 39

Рис. 15к. Сравнение Alveo U25N SmartNIC OVS-DPDK с программной реализацией [8].

Программно-конфигурируемый с аппаратным ускорением сетевой адаптер Xilinx Alveo SN1000 SmartNIC стал доступен в марте 2021 г. Это было уже второе поколение Xilinx SmartNIC спустя 2 года после выхода первого (рис. 16, 17, табл. 6). Семейство Alveo™ SN1000, начиная с компонуемого SmartNIC SN1022 100 Гбит/с, предоставляет полный набор решений для работы в сети, хранилища и функций ускорения вычислений на единой платформе. Первой моделью в семействе является адаптер SN1022, который предлагается в форм-факторе полной высоты и половинной длины с диапазоном мощности до 75 Вт.

SmartNIC, DPU, IPU (часть 1) - 40

Рис. 16. Семейство Xilinx NIC.

SmartNIC, DPU, IPU (часть 1) - 41

Рис. 17. Внешний вид Xilinx Alveo SN1000 SmartNIC с возможностью двунаправ”
ленного обдува.

SmartNIC, DPU, IPU (часть 1) - 42

Табл. 6. Основные характеристики SmartNIC SN1022.

Семейство компонуемых SmartNIC Alveo™ SN1000 решает задачи современных ЦОД с помощью программно-определяемого аппаратного ускорения. Возможность компоновки Xilinx SmartNIC Alveo™ позволяет поставщикам и предприятиям без усилий поддерживать новые протоколы, создавать настраиваемые разгрузки и развертывать эффективные и гибкие пути данных для конкретных приложений с использованием P4 или высокоуровневого синтеза (high-level synthesis, HLS).

1)         An average of 4.5x the performance [averaging 3.5x or 353% faster performance], using 67% fewer CPU cores using Alveo U25N SmartNIC with acceleration using driver v8.3, Open vSwitch v3.0.0 and DPDK v22.07 (512 Packet Length) than with same version of Open vSwitch and DPDK without acceleration. ALV-001 Testing conducted by AMD AECG DCCG Data Center Solution Architect Team as of 10/26/2022 on the Alveo U25N SmartNIC, on a test system comprising Model: Dell R740, Dual Sockets server, CPU: Intel® Xeon® Gold 6134 CPU @ 3.20GHz 8cores/16 HW threads, RAM:96GB@2400 MT/s, HDD: 2.0TB, OS version: 5.15.0-46-generic #49~20.04.1-Ubuntu. PC manufacturers may vary based on use of latest drivers.

2)         Алгоритмическая торговля, или Алгоритмический трейдинг (Algorithmic trading, AT) — это метод исполнения большой заявки, когда с помощью особых алгоритмических инструкций большая заявка делится на несколько под-заявок со своими характеристиками цены и объёма, и каждая из под-заявок отправляется в определённое время на рынок для исполнения (https://ru.wikipedia.org/wiki/).

 

SN-1000 SmartNIC обеспечивает возможность программирования на уровне протокола при линейной скорости и работает на базе FPGA Xilinx 16 нм с архитектурой UltraScale+™ и процессорной подсистемы A72 Arm® с поддержкой до 16 ядер.

Среди ключевых особенностей анонса, связанного с новым SmartNIC и дополняющим ПО, следующие:

– полностью компонуемая и простая в программировании сетевая карта SmartNIC со скоростью 100 Гбит/с (полнодуплексная пропускная способность 200 Гбит/с, скорость передачи 100 млн пакетов в секунду), обеспечивающая:

  • разгрузку сетевых функций с линейной скоростью;
  • поддержку гетерогенной архитектуры (на ARM и FPGA) с разделением и изоляцией потоков данных и управления;
  • поддержку программирования на P4, C и C ++ на базе платформы Vitis™ Networking (рис. 18);
  • развертывание настраиваемых плагинов с аппаратным ускорением, запрограммированных на P4, HLS или RTL;
  • универсальное решение для контейнерных, виртуализированных развертываний на «голом железе»;
  • полный набор функций безопасности, включая IPsec, kTLS и SSL/TLS;
  • ускорение хранения для NVMe/TCP, Ceph и сервисов, включая сжатие и шифрование;
  • адаптация к меняющимся требованиям без замены оборудования;
  • аппаратная поддержка Root-of-Trust (RoT);
  • разгрузка Open Virtual Switch (OVS) и Virtio с эффективной коммутацией и маршрутизацией вместе с мощным процессором Arm A72 для сервисов на «голом железе» и разгрузки уровня управления;
  • отделение сетевых функций и сервисов (NFV Workload Acceleration) от выделенного оборудования для эффективного и высокопроизводительного ускорения;
  • поддержка механизмов формирования трафика и управления с выделенными независимыми очередями на оборудовании;

– поддержка smart world видео AI-решений, которые обеспечивают детерминированную производительность с низкой задержкой для самых требовательных видео приложений AI;

– новая платформа для ускоренной алгоритмической торговли2) позволяет разработчикам ПО создавать решения для AT с задержками менее микросекунды;

– запуск Xilinx App Store упрощает покупку и развертывание ускоренных приложений на картах Alveo™ локально и/или в облаке.

SmartNIC, DPU, IPU (часть 1) - 43

Рис. 18. Особенности Xilinx Alveo SN1000 SmartNIC.

FPGA Xilinx 16 нм с архитектурой UltraScale+™ и процессорной подсистемы A72 Arm® с поддержкой до 16 ядер.

Семейство Xilinx® Alveo™ SN-1000 – первые в отрасли решения компонуемых SmartNIC

Xilinx® Alveo™ SN1000 является первым в отрасли решениями семейства компонуемых SmartNICs, которые предлагают программно-аппаратное ускорение для всех функций разгрузки. SN-1000 SmartNIC напрямую разгружает ресурсоемкие задачи ЦП для оптимизации производительности сети с открытой архитектурой, которая может ускорить широкий спектр сетевых функций со скоростью линии.

Опция компонуемости Xilinx® Alveo™ SN1000 дает возможность создания собственных разгрузок или расширения существующих разгрузок для обработки новых протоколов и приложений.

Два примера наполнения различной функциональностью FPGA Xilinx® Alveo™ SN-1000 представлены на рис. 19.

SmartNIC, DPU, IPU (часть 1) - 44

SmartNIC, DPU, IPU (часть 1) - 45

SmartNIC, DPU, IPU (часть 1) - 46

Рис. 19. Примеры реализации опции компонуемости Xilinx Alveo SN1000.

Используя платформу Vitis™ Networking и стандартные промышленные языки программирования высокого уровня, такие как P4, C и C++, разработчики ПО могут создавать сетевые функции, протоколы и приложения, которые работают на аппаратном уровне на SmartNIC. Vitis Networking позволяет организациям быстро и легко создавать новые и настраивать существующие сетевые функции для работы с новыми протоколами и приложениями без замены оборудования, что гарантирует поддержку будущих инвестиций.

Основные преимущества использования Vitis Networking:

– поддержка простой настройки, не жертвуя производительностью;

– P4 идеально подходит для обработки «Match-Action»:

  • создан для высокопроизводительных сетей;
  • включает высокопроизводительные алгоритмические технологии CAM;

– Vitis RTL/HLS – зрелые инструменты разработчика для разгрузки любых вычислений или хранилищ на аппаратной скорости с мощной поддержкой языков высокого уровня;

– платформа плагинов Xilinx SmartNIC:

  • настройки могут быть легко встроены в поток SN1000 SmartNIC.

Open vSwitch (OVS) [6]

SN1000 SmartNIC обеспечивает программно-определяемое аппаратное ускорение для широкого диапазона сетевых операций, безопасности и разгрузки хранилищ, таких как Open vSwitch (OVS) и ускорение виртуализации (Virtio.net). Разгрузка безопасности включает IPsec, kTLS и SSL/TLS, а также приложения для ускоренного хранения, включая Virtio.blk, NVMe™ через TCP, Ceph, а также службы сжатия и шифрования.

Приложение Open vSwitch (OVS) Offload, реализованное на картах Xilinx® Alveo™ Data Center Accelerator, позволяет виртуальным машинам связываться друг с другом во внешнем мире.

Решения на основе программного обеспечения OVS не только интенсивно используют ЦП, что влияет на производительность системы, но также препятствует полному использованию доступной полосы пропускания. Выгрузив полную функциональность обработки пакетов на платформу Xilinx Alveo, пользователи могут разгрузить CPU и повысить производительность обработки пакетов.

Основные преимущества:

  • пропускная способность линии до 100 Гбит/с;
  • выгрузка таблицы потоков ядра;
  • анализ на основе P4 (контекст для определений Match-Action);
  • SR-IOV с драйверами DPDK (дополнительных драйверов не требуется);
  • идеальная платформа для ускорения сетей на основе NFV;
  • поддержка контроллера Openflow;
  • быстрая переадресация трафика между указанными vSwitch vPorts.

 

Данные о производительности OVS и загрузка CPU с/без использования Xilinx Alveo SN1000 представлены на рис. 20.

SmartNIC, DPU, IPU (часть 1) - 47

Рис. 20. Производительность OVS и утилизация CPU в зависимости от размера пакета.

“VMware определяет гибридную облачную архитектуру для приложений следующего поколения с повышенными требованиями к безопасности. Сетевые адаптеры SmartNIC будут играть критически важную роль в архитектуре VMware Cloud Foundation, предоставляя клиентам унифицированную модель управления, безопасности и отказоустойчивости, которая охватывает как голые, так и виртуализированные среды, в которых возможность компоновки смарт-карт Xilinx Alveo SN1000 обеспечит гибкое, интегрированное и квалифицированное решение для клиентов”, – отмечает Ли Касвелл (Lee Caswell), вице-президент по маркетингу, подразделение VMware Cloud Platform Business Unit.

Технические характеристики серии Xilinx Alveo™ SN-1000 SmartNIC представлены в табл. 7 [7].

SmartNIC, DPU, IPU (часть 1) - 48

Табл. 7. Технические характеристики серии Xilinx Alveo™ SN-1000 SmartNIC.

ATTO Technology

18 апр. 2023 г. компания ATTO Technology объявила (https://www.atto.com/pdfs/ATTO-PR-FastFrame-4-3-31-23.pdf) о выпуске новой линейки Ethernet-адаптеров SmartNIC четвертого поколения ATTO FastFrame™.

Линейка продуктов ATTO FastFrame SmartNIC четвертого поколения включает четыре уникальные модели (рис. 21), поддерживающие стандарты высокоскоростного Ethernet от 10GbE до 100GbE и высокопроизводительные x8 PCIe 3.0 или x16 PCIe 4.0.

SmartNIC, DPU, IPU (часть 1) - 49

SmartNIC, DPU, IPU (часть 1) - 50

Рис. 21. Семейство ATTO N412 FastFrame SmartNIC 4-го поколения со старшей моделью (внизу).

Благодаря скорости передачи данных до 100GbE и задержке всего 1 мкс сетевые адаптеры ATTO FastFrame SmartNIC идеально подходят для мультимедийных и развлекательных приложений, таких как постобработка видео, обработка изображений, архивирование и совместное использование файлов в рабочих группах, а также для ИТ-приложений, таких как анализ данных, кластеры высокопроизводительных вычислений (HPC), гиперконвергентные серверы, AI/ML/DL и решения для неструктурированных данных.

Сетевые адаптеры FastFrame SmartNIC поддерживаются ATTO Ethernet Suite, специальным приложением-установщиком, которое загружает соответствующие драйверы, утилиту управления ATTO 360™ и все зависимости, необходимые для передачи данных через RDMA. Ethernet Suite открывает доступ к сети Ethernet следующего поколения, автоматизируя исключительно сложный процесс настройки высокопроизводительной сети, включая внедрение RDMA.

Программное обеспечение ATTO 360 для настройки, мониторинга и аналитики — это приложение для оптимизации сети Ethernet, которое раскрывает весь потенциал сетей при использовании сетевых адаптеров ATTO FastFrame и адаптеров ATTO ThunderLink® Thunderbolt™ to Ethernet. Всего несколькими щелчками мыши с единой панели управления ATTO 360 достигает максимально возможной производительности сети благодаря предварительно настроенным профилям настройки и интеллектуальной диагностике, которая выявляет проблемы до того, как они могут возникнуть.

Сетевые адаптеры FastFrame SmartNIC имеют встроенные механизмы аппаратной разгрузки, включая разгрузку транспортного уровня ЦП и целевую разгрузку NVMe over Fabric для ускорения данных и снижения нагрузки на сервер. Установки, основанные на твердотельных накопителях, улучшат операции хранения благодаря встроенной поддержке NVMe.

Все модели имеют следующие характеристики (https://www.atto.com/products/ethernet-adapters/fastframe3-10-25-40-50-100-gbe-nics/gen4-25-40-50-100-gbe-nics/FFRMN412000):

  • интерфейс 10/25/40/50/100GbE (у каждой модели свой – см. рис.21):
    • задержка пинга 1us MPI через RoCE;
    • разгрузка ЦП транспортных операций;
    • гарантированная пропускная способность и услуги с низкой задержкой;
    • RDMA по конвергентному Ethernet;
    • качество обслуживания;
    • усовершенствованное предотвращение перегрузок;
    • технология Advanced Data Streaming (ADS™);
    • управление потоком на основе приоритетов (PFC);
    • расширенный выбор передачи (ETS);
    • протокол обмена DCB;
  • разгрузка (снижение нагрузки на ЦП):
    • разгрузка больших посылок (LSO);
    • разгрузка большого приема (LRO);
    • разгрузка сегментации TCP (TSO);
    • масштабирование на стороне приема (RSS);
    • масштабирование на стороне передачи (TSS);
  • поддержка протокола:
    • MPI, Платформа MPI;
    • TCP/UDP;
    • iSER;
    • RDMA для малого и среднего бизнеса;
    • поддержка MSI и MSI-X;
    • поддержка Jumbo-кадров до 9000 байт;
  • технические характеристики хост-шины:
    • механическое и электрическое соединение X16 PCI-Express 4.0;
  • поддержка драйверов: Windows®, Linux®.

Источники, доп. ресурсы

[1] AMD Expands Leadership Data Center Portfolio with New EPYC CPUs and Shares Details on Next-Generation AMD Instinct Accelerator and Software Enablement for Generative AI – https://www.amd.com/en/newsroom/press-releases/2023-6-13-amd-expands-leadership-data-center-portfolio-with.html, https:// www.amd.com/en/accelerators/pensando.

[2]  Pensando DSC-200 Distributed Services Card – https://www.amd.com/system/files/documents/pensando-dsc-200-product-brief.pdf.

[3] AMD Pensando™ Giglio Data Processing Unit, june 2023 – https://www.amd.com/system/files/documents/pensando-giglio-product-brief.pdf.

[4]  Achieve high throughput: A case study using a Pensando Distributed Services Card with P4 programmable softwaredefined networking pipeline. January 2022 – https://www.principledtechnologies.com/Pensando/DSC-200-performancepdf.

[5]  AMD PENSANDO SOFTWARE IN SILICON DEVELOPMENT KIT (SSDK). June 2023 – https://www.amd.com/system/files/documents/pensando-ssdk-product-brief.pdf.

[6]  OVS OFFLOAD Solution Brief – https://www.xilinx.com/content/dam/xilinx/publications/solution-briefs/partner/vvdn-ovs-solution-brief.pdf.

[7]  ALVEO™ SN1000 SmartNICs. Product Brief – https://www.xilinx.com/content/dam/xilinx/publications/product-briefs/xilinx-alveo-sn1000-product-brief.pdf.

[8] ADAPTIVE SMARTNICS FOR FUTURE DATA CENTER White Paper. REVISION 1.2023 – https://www.xilinx.com/content/dam/xilinx/publications/white-papers/adaptive_smartnic_whitepaper.pdf.

[9] The Xilinx Alveo SN1000: A Programmable, Composable, Portable SmartNIC Architecture. April 22, 2022 – https://docs.xilinx.com/v/u/en-US/ds989-sn1000.

[10] Alveo Accelerator Card Product Selection Guide (XMP451) – https://docs.xilinx.com/v/u/enUS/alveo-product-selection-guide.

Авторы: Гантимуров А.П., Калашник А.Г.

FavoriteLoadingОтслеживать

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Максимальный размер загружаемого файла: 0 Б. Вы можете загрузить: изображение, аудио, видео, документ, таблица, интерактив, текст, архив, код, другое. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файл сюда

Последние статьи

Top