Выпуск DPDK 18.02, фреймворка для высокопроизводительных сетевых приложений

Состоялся релиз фреймворка DPDK (Data Plane Development Kit), предоставляющего средства для создания высокопроизводительных сетевых приложений, напрямую работающих с сетевым оборудованием и обрабатывающих пакеты минуя сетевой стек ядра. В качестве первичной платформы заявлен Linux, но имеется ограниченный по своим возможностям вариант для FreeBSD. Исходные тексты библиотек и драйверов поставляются под лицензией BSD, а компоненты для ядра Linux доступны под GPLv2.

Разработчикам предлагается набор библиотек для низкоуровневой работы с сетевыми адаптерами, взаимодействия в многоядерных системах, задействования кольцевых буферов и больших страниц памяти («huge page»). При помощи данных библиотек можно принимать и отправлять сетевые пакеты с выполнением минимального числа циклов CPU (около 80 циклов на пакет), создавать быстрые системы захвата трафика (аналоги tcpdump) и разрабатывать высокопроизводительные компоненты сетевого стека.

При этом DPDK сам по себе не является сетевым стеком, а лишь предоставляет низкоуровневую функциональность на безе которой можно создавать реализации виртуализированных компонентов сетей (NFV, Network Functions Virtualization). Например, DPDK уже применяется в проекте OPNFV (Open Platform for NFV Project) для разработки виртуальных реализаций пограничных контроллеров сессий (SBC), коммутаторов, балансировщиков нагрузки, межсетевых экранов, систем обнаружения атак и WAN-ускорителей. Разработка DPDK ведётся под эгидой организации Linux Foundation при участии компаний ARM, AT&T, Cavium, Intel, Mellanox, NXP, Red Hat, ZTE, Huawei и Wind River.

В новом выпуске сохранена полная совместимость с версией 17.11 на уровне ABI (можно обновить библиотеки без пересборки приложений). Добавлена поддержка новых классов устройств rawdev и bbdev (Wireless Base Band для ускорения обработки 3gpp Layer 1), представлен ethernet-драйвер AVF (Adaptive Virtual Function) и драйвер для поддержки платформы Hyper-V, расширены возможности драйверов igb, mlx5, mlx4, ixgbe и i40e, добавлены новые eventdev-драйверы DPAA (Data Path Acceleration Architecture) и OPDL (Ordered Packet Distribution Library), а также поддержка ускорения вычислений IPsec при помощи DPAA. Реализована экспериментальная поддержка систем сборки meson и ninja.

© OpenNet