DPU, «cопроцессоры для данных», набирают популярность, но пока не являются зрелыми

 

В новости об анонсе сопроцессора для SSD от Pliops, призванного разгрузить от этих задач CPU, упоминалось, что подобного рода решения разрабатывают и другие. Концепция «сопроцессора для данных» (data processing unit, DPU) уже в достаточной степени оформилась, но единства в архитектурном и программном подходе пока нет. Что может предложить современный рынок DPU?

С обработкой данных на стороне сетевого адаптера — самого периферийного устройства в любой серверной системе, активно экспериментировала ещё Mellanox. Сейчас, будучи частью NVIDIA, она продолжает начатую работу. Главной разработкой NVIDIA/Mellanox в этой сфере можно назвать чип BlueField-2, с одной стороны обеспечивающий функциональность типичного SmartNIC (один порт Ethernet класса 200G или два порта класса 100G), а с другой — поддержку NVMe over Fabrics и разгрузку центральных процессоров во всём, что касается задач ввода-вывода.

Это решение содержит как массив ARM-ядер, так и специализированные ASIC-блоки ускорения различных функций. Дополняется это наличием набортных 16 Гбайт оперативной памяти DDR4. NVIDIA видит DPU, такие, как BlueField-2, частью связки «CPU + GPU + DPU». Благодаря использованию архитектуры ARM такой подход универсален и его разделяют, к примеру, аналитики Wells Fargo.

Архитектура AWS Nitro

Архитектура AWS Nitro

Но на рынке существуют и другие игроки, активно внедряющие идеи, заложенные в концепции DPU. К ним можно отнести одного из крупнейших провайдеров облачных услуг — Amazon Web Services. Она разработала собственный DPU-ускоритель, плату Nitro. В общих чертах это решение похоже на NVIDIA/Mellanox BlueField-2, но ASIC там используется другой, собственной разработки AWS.

Инстансы Elastic Compute Cloud запускаются с использованием таких ускорителей, работающих на шине PCI Express. AWS не ограничивает их единственным предложением, а предоставляет различные оптимизированные под задачи заказчика версии — ориентированные на вычисления, машинное обучение, хранение и обработку данных и другие сценарии. AWS Nitro также содержит реализацию NVMe и NVMe-OF; похоже, это станет общим местом всех DPU.

Архитектура Diamanti

Архитектура Diamanti

Над похожим проектом работает компания Diamanti, разрабатывающая линейку выделенных гиперконвергентных серверов, оптимизированных для запуска контейнеров Kubernetes и выполняющих эту задачу лучше стандартных серверов. В серию входят модели D10, D20 и G20, и в общем виде они мало чем отличаются от обычных машин, но машины Diamanti содержат два уникальных компонента — NVMe-контроллер и 40GbE-контроллер Ethernet с поддержкой Kubernetes CNI и SR-IOV.

Решения Diamanti интересы тем, что используют два раздельных ускорителя вместо одного, и это имеет свои преимущества: скажем, скорости сетевого подключения 40 Гбит/с в ближайшее время может оказаться недостаточно, но для соответствия современным требованиям в сервере Diamanti будет достаточно сменить сетевой ускоритель, не трогая плату NVMe-контроллера, отвечающую за общение с дисковой подсистемой.

Fungible предлагает сделать DPU центром всей системы

Fungible предлагает сделать DPU центром всей системы

Также заслуживает упоминания компания Fungible, о которой мы рассказывали читателям в начале этого года. Именно она одной из первых озвучила термин DPU. На момент первого анонса, в феврале 2020 года готового ускорителя на руках у Fungible ещё не было. Но концепция DPU, пожалуй, проработана у Fungible лучше всего: предполагается, что в таких системах весь трафик, от сетевого и содержимого, пересылаемого из памяти в ЦП, до данных, передаваемых графическому процессору, будет проходить через DPU.

«Процессор обработки данных» в представлении Fungible станет звеном, объединяющем все компоненты вычислительной системы, будь то процессоры, GPU, FPGA-ускорители или массивы флеш-памяти. В качестве системы межсоединений компания планирует использовать шину TrueFabric собственной разработки, отличающуюся низким уровнем задержек. Готовое решение Fungible должна представить уже в этом году.

Архитектура Pensando Capri

Наконец, компания Pensando, в конце 2019 года начавшая сотрудничество с известным производителем СХД NetApp, уже поставляет ускорители Distributed Services Card, DSC-100. Они сочетают в едином чипе и одной плате функции, которые Diamanti решает с помощью двух раздельных карт; как уже было сказано, у такого подхода есть и минусы — заменять ускоритель придётся целиком, даже если «ускорительная» часть ещё способна на многое, а ускорить требуется лишь сетевое подключение.

В основе DSC-100 лежит процессор Capri, с сетевой стороны предоставляющий пару портов 100GbE, имеющих общий буфер пакетов. С этим буфером общается полностью программируемый процессор обработки данных, но имеются в составе чипа и классические ARM-ядра, а также «жесткие» ускорители, например, криптографический. Программируемая, «жёсткая» и ARM-части общаются посредством когерентной системы межсоединений, которая подключена к контроллеру PCIe и массиву оперативной памяти. В целом решение напоминает NVIDIA/Mellanox BlueField-2.

К сожалению, ни одно из описанных решений пока не успело стать стандартным для индустрии. Каждое из них имеет свои достоинства и недостатки, а главное — несовместимую между собой программную часть. Это делает внедрение DPU в имеющиеся структуры достаточно сложным процессом: надо не ошибиться в выборе поставщика и разработчика, а кроме того, требуется отдельная покупка, инсталляция и затраты на обслуживание и поддержку.

Лишь такие гиганты, как AWS, могут полностью обеспечить себя идеальным для своих задач DPU. Иными словами, «сопроцессоры данных» пока представляют собой нишевые устройства. Для того, чтобы они стали по-настоящему популярными, нужен единый унифицированный стандарт архитектуры — такой же, какой обеспечил в своё время универсальность и кросс-совместимость графических процессоров.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER. | Можете написать лучше? Мы всегда рады новым авторам.

Источник:

Постоянный URL: https://servernews.ru/1017218
Поделиться:  

Комментарии

Система Orphus