GPU Hardware

DPU

Data Processing Unit — программируемый процессор на сетевой карте, который берёт на себя сеть, хранилище и безопасность, разгружая центральный процессор.

Что такое DPU

DPU (Data Processing Unit, процессор обработки данных) — специализированный процессор, размещённый на плате с сетевым интерфейсом. Его задача — снять с центрального процессора сервера всю инфраструктурную работу: обработку сетевого трафика, доступ к хранилищу, шифрование, изоляцию арендаторов.

Расшифровка буквально: Data Processing Unit. По аналогии с CPU (Central Processing Unit) и GPU (Graphics Processing Unit) — отсюда формула «третий процессор в сервере»: CPU считает логику приложения, GPU считает математику, DPU двигает данные.

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

Как устроен DPU

Блок Назначение
ARM-ядра Полноценный процессор со своей ОС (обычно Linux) прямо на карте
Сетевой контроллер Собственно сетевой адаптер, высокоскоростной Ethernet или InfiniBand
Аппаратные ускорители Шифрование, сжатие, разбор пакетов, регулярные выражения
Память и PCIeСобственная RAM и связь с хостом

Ключевая деталь: DPU — это самостоятельный компьютер внутри вашего сервера. У него своя ОС, свой IP, свой administrative domain. Хост может даже не иметь к нему доступа — и это не баг, а главная фича.

Основные представители: NVIDIA BlueField (ARM-ядра плюс сетевой контроллер до 400 Гбит/с в третьем поколении), AMD Pensando, Intel IPU, Marvell OCTEON. Программируется BlueField через SDK DOCA — примерно как GPU программируется через CUDA.

SmartNIC и DPU: в чём разница

Термины путают, и часто заслуженно — граница размытая. Практическое различие:

  • SmartNIC — сетевая карта с аппаратной разгрузкой отдельных функций (контрольные суммы, VXLAN, RDMA). Умеет то, что в неё зашили. Часто построена на FPGA или ASIC.
  • DPU — карта с полноценными процессорными ядрами и собственной ОС. На ней можно запускать произвольный софт: агента мониторинга, фаервол, инициатор хранилища.

Грубо: SmartNIC — ускоритель, DPU — сервер на плате.

Что на него выносят

  • Сеть: виртуальные коммутаторы (OVS), туннели VXLAN, правила VPC, балансировка, VLAN — целиком в железо карты.
  • Хранилище: NVMe over Fabrics. Хост видит локальный диск, физически данные лежат в сетевой СХД, а трансляцию делает DPU.
  • Безопасность: шифрование трафика на скорости линии, микросегментация, проверка целостности. Изоляция настоящая — правила живут вне досягаемости скомпрометированного хоста.
  • Виртуализация: часть работы гипервизора переезжает на карту, освобождая ядра под виртуальные машины клиентов.

Зачем DPU в облаке и GPU-кластерах

Экономика мультитенантности. Провайдеру нужно продавать ядра клиентам, а не тратить их на собственный оверхед. Классический пример — AWS Nitro: перенос виртуализации и сети на выделенные карты, после которого хост почти целиком отдаётся клиенту. Именно этот подход и сделал концепцию мейнстримом.

Безопасность. Когда управляющий слой живёт на DPU, а не на хосте, клиент может получить хоть root на голом железе — до сети и хранилища провайдера он не дотянется. Для bare-metal-аренды это ключевой момент.

GPU-кластеры. При обучении на многих узлах сеть — узкое место. DPU обслуживает RDMA-трафик и подкачку датасетов, не отвлекая CPU узла. Логика простая: если процессор занят разбором пакетов, он не успевает готовить батчи, и дорогие ускорители простаивают.

Нужен ли DPU вам

Честный ответ: скорее всего, вы им уже пользуетесь, не зная об этом. DPU — компонент инфраструктуры провайдера, а не то, что докупают к арендованному серверу. Работая на современном облачном инстансе, вы почти наверняка получаете сеть и диски через DPU.

Осмысленно думать о нём в двух случаях: если вы строите собственное облако и считаете, сколько ядер съедает инфраструктура, либо если проектируете кластер на сотни GPU, где сеть становится главной статьёй расходов.

Связанные термины

  • CPU — процессор, который DPU разгружает
  • GPU — третий участник связки CPU/GPU/DPU
  • FPGA — технология, из которой выросли первые SmartNIC
  • Сетевой адаптер — то, чем DPU является в базовой своей функции
  • Мультитенантность — задача, ради которой DPU и придумали
  • GPU-кластер — сценарий, где разгрузка сети даёт прямой выигрыш

Готовы запустить GPU-задачу?

Запустить GPU-сервер