Linux Foundation объявила о создании проекта Open Programmable Infrastructure (OPI) — открытой экосистемы стандартов для архитектур на базе DPU и IPU. Проект основан Dell Technologies, F5, Intel, Keysight, Marvell, NVIDIA и Red Hat. Цель — упростить API сетевых, дисковых и security-функций, чтобы приложения были переносимы между облаками и дата-центрами.
Разберём, что такое DPU и IPU, зачем нужен общий стандарт и как это касается администраторов Linux.
Что такое DPU
DPU (Data Processing Unit) — программируемый ускоритель, который разгружает процессор от сетевых, дисковых и инфраструктурных задач. Фактически это SmartNIC с собственными ядрами, памятью и возможностью запускать сервисы.
DPU может обрабатывать виртуальные сети, шифрование, хранилище и телеметрию, оставляя CPU для приложений. В облаках это позволяет уменьшить накладные расходы гипервизора.
# посмотреть сетевые устройства и их драйверы
lspci -nnk | grep -A3 -iE "ethernet|network"
ip -br link
ethtool -i eth0 2>/dev/null | head -20
# проверить offload-возможности
ethtool -k eth0 2>/dev/null | head -30
Чем DPU отличается от обычной NIC
Обычная сетевая карта выполняет фиксированные функции: передаёт пакеты, считает контрольные суммы, иногда разгружает TCP. DPU содержит программируемые блоки и может запускать собственное ПО.
Это значит, что инфраструктурные сервисы можно перенести с основного сервера на карту: файрвол, балансировку, шифрование, сбор метрик. Но такая гибкость требует стандартов, иначе каждый вендор предлагает свой API.
# проверить, какие offload включены
ethtool -k eth0 2>/dev/null | grep -E "on|off" | head -20
# SR-IOV
lspci | grep -i "virtual function"
ls /sys/class/net/ | head
Что такое IPU
IPU (Infrastructure Processing Unit) — родственная концепция, которую продвигает Intel. Термины часто используют взаимозаменяемо, но акценты разные: DPU ближе к сетевым ускорителям, IPU — к инфраструктурному процессору с полноценными ядрами.
Для администратора различие не принципиально: и то и другое разгружает хост и требует управления прошивкой, драйверами и обновлениями.
# посмотреть устройства и версии прошивок
lspci -nn | head -30
sudo fwupdmgr get-devices 2>/dev/null | head -30
dmesg | grep -iE "dpu|ipu|smartnic" | head
Задачи OPI
OPI хочет определить открытые API и модели развёртывания для DPU/IPU. Вместо того чтобы писать отдельную интеграцию под каждого вендора, разработчик получает общий интерфейс для сетевых, storage и security-функций.
Проект опирается на существующие открытые технологии: контейнеры, Kubernetes, DPDK, SPDK, P4 и другие. Идея — не изобретать всё заново, а согласовать слои.
# проверить, что установлено для контейнерной инфраструктуры
docker --version 2>/dev/null
podman --version 2>/dev/null
kubectl version --client 2>/dev/null | head
# DPDK/SPDK
pkg-config --modversion libdpdk 2>/dev/null
spdk --version 2>/dev/null
Почему это важно
Без стандарта рынок DPU фрагментирован: приложения привязаны к конкретному вендору, миграция дорога, а поддержка требует специалистов под каждую платформу. Общий API снижает эти издержки.
Для облачных провайдеров это означает переносимость нагрузок, для корпоративных дата-центров — меньше зависимости от одного поставщика.
# пример проверки сетевой топологии в облаке
ip route
ip -br link
# посмотреть, какие функции выполняет гипервизор
systemd-detect-virt
Риски и ограничения
- Стандарт молодой: спецификации могут меняться.
- Вендоры заинтересованы в собственных расширениях.
- DPU дороги и требуют квалификации.
- Отладка распределённых функций сложнее.
- Безопасность: DPU имеет доступ к трафику и данным.
Для небольшой инфраструктуры DPU пока избыточны. Выгода появляется при масштабе, где разгрузка CPU и централизованное управление окупают сложность.
# перед пилотом зафиксировать базовые метрики
mpstat 1 5
sar -n DEV 1 5
iostat -x 1 5
Что делать администратору сейчас
Следите за спецификациями OPI и поддержкой в дистрибутивах. Если планируете закупку SmartNIC, проверяйте не только характеристики, но и открытость драйверов, документации и инструментов обновления.
Требуйте от вендора поддержки стандартных интерфейсов и возможности запускать ваши контейнеры, а не только проприетарные агенты.
# проверить поддержку обновлений прошивки
fwupdmgr get-devices --verbose 2>/dev/null | head -40
# проверить открытость драйвера
modinfo 2>/dev/null | grep -E "license|description"
Связь с Kubernetes
В контейнерных средах DPU может предоставлять сеть и хранилище для подов, освобождая CPU узлов. Но интеграция требует плагинов CNI/CSI и понимания, где заканчивается ответственность платформы.
# посмотреть CNI-плагины
ls /etc/cni/net.d/ 2>/dev/null
kubectl get nodes -o wide 2>/dev/null
kubectl get pods -A 2>/dev/null | head
Безопасность и доверие
DPU видит сетевой трафик и может хранить ключи шифрования. Это делает его привлекательной целью: компрометация ускорителя обходит защиту хоста. Поэтому прошивка, подписи и обновления критичны.
# проверить Secure Boot и подписи модулей
mokutil --sb-state 2>/dev/null
dmesg | grep -i "module verification" | head
# проверить версии прошивок
fwupdmgr get-devices --verbose 2>/dev/null | grep -iE "device|version" | head -20
Требуйте от вендоров прозрачности: какие компоненты работают на устройстве, как обновляются, какие данные оно обрабатывает.
Итог
OPI — попытка Linux Foundation объединить рынок DPU/IPU вокруг открытых API. Проект поддерживают крупные вендоры, а цель — переносимость сетевых, дисковых и security-функций. Для администраторов это сигнал: при выборе ускорителей смотрите на открытость драйверов и стандарты, а не только на скорость. Массовое применение пока в дата-центрах, но направление важное.