Data Plane Development Kit (DPDK) - набір бібліотек data plane та драйверів мережевих карт для швидкої обробки пакетів. DPDK забезпечує програмний фреймворк для Intel x86 процесорів та дозволяє швидку розробку мережевих додатків для пакетів даних високої швидкості.Simon Stanley,All Change for Packet Processing , Heavy Reading, 2013Shamus McGillicudy, Intel DPDK, switch and server ref designs push SDN ecosystem forward , SearchSDN, April 2013 Він підтримує процесори починаючи з Intel Atom та закінчуючи Intel Xeon, підтримка інших процесорних архітектури, таких як IBM POWER8, в процесі розробки."DPDK: Data Plane Development Kit – What it is" . dpdk.org. dpdk.org. DPDK розповсюджується та підтримується відповідно до умов відкритої Simon Stanley,DPDK Goes Open-Source , Intel Embedded Community, May 2013 ліцензії BSD.
Огляд DPDK фреймворк створює набір бібліотек для особливих апаратних/програмних середовищ через створення Рівня Абстракції Середовища ().Intel Corporation, Intel® Data Plane Development Kit: Programmers Guide , November 2012 EAL приховує специфіку середовища та забезпечує стандартний програмний інтерфейс до бібліотек, доступних апаратних прискорювачів та інших апаратних елементів та елементів операційних систем (Linux, FreeBSD). Як тільки EAL створено для особливого середовища, розробники посилаються до бібліотек щоб створити свої додатки. Наприклад, EAL забезпечує фреймворки для підтримки Linux, FreeBSD, Intel IA 32- чи 64-бітні чи IBM Power8.
EAL також надає додаткові сервіси включаючи часові посилання, PCIe шину доступу, функції відстежування і налагодження та операції сигналізацій.
DPDK впроваджує модель низького навантаження для продуктивновності швидкого data plane та має доступ до пристроїв через опитування що усуває перевантаження обробки переривань.
DPDK також включає програмні приклади що висвітлюють найкращі практики архітектур програмного забезпечення, підказки для дизайну структури даних та зберігання, профілювання додатків і утиліти налагодження продуктивності та підказки, що показують основні недоліки продуктивності мережі.
Бібліотеки DPDK включає бібліотеки data plane та оптимізовані NIC драйвера для:Intel Communications Infrastructure Division, Intel® Data Plane Development Kit Overview , December 2012 Менеджера черг, що впроваджує неблокуючі черги Менеджера буферів, що заздалегідь виділяє фіксований розмір буферів Менеджер пам'яті, що виділяє пули об'єктів в пам'яті та використовує кільце для збереження вільних об'єктів; впевнюючись що об'єкти рівномірно розподілені на всіх DRAM каналах Драйверів режиму опитування (PMD), що розроблені для роботи без асинхронних оповіщень, зменшуючи накладні витрати Пакетного фреймворку, що являє собою набір бібліотек, які допомагають розробляти додатки для обробки пакетів Всі бібліотеки зберігаються в директоріях dpdk/lib/librte_*
Плагіни EAL дозволяє завантажувати деякі плагіни використовуючи опцію -d file.so без перекомпіляції будь-якого додатку, що використовує DPDK бібліотеки. Доступні наступні плагіни: librte_pmd_virtio.so — забезпечує PMD Ethernet рівень, який підтримує Virtio паравіртуалізовані NIC; librte_pmd_vmxnet3.so — забезпечує PMD Ethernet шар, який підтримує Vmxnet3 паравіртуалізовані NIC; librte_pmd_memnic_copy.so — забезпечує Віртуальний PMD Ethernet шар через спільну пам'ять, що базується на 2 копіях пам'яті пакету; librte_pmd_mlx4.so — забезпечує PMD Ethernet шар для Mellanox ConnectX-3 40G NIC; librte_crypto_nitrox.so — забезпечує криптографічний шар для PCI плат Cavium Nitrox; librte_crypto_quickassist.so — забезпечує криптографічний рівень для PCI плат Intel Cave Creek.
Середовище DPDK був розроблений для використання в режимі голого заліза, що наразі є застарілим. Фактично DPDK EAL забезпечує підтримку Linux чи FreeBSD додатків режиму користувача.
EAL може бути розширений для підтримки будь-яких процесорів.
Екосистема Не враховуючи 6WIND та Intel, які є основними розробниками DPDK, декілька виробників також підтримують DPDK в своїх продуктах а деякі пропонують додаткові трейнінги, підтримку та професійні сервіси. Список виробників які анонсували підтримку DPDK включає: 6WINDPRWeb, 6WIND Extends Portable Packet Processing Software to Support Intel® Data Plane Development Kit , September 2011 Aricent Aricent, , January, 2015 ALTEN Calsoft LabsCalsoft Labs to offer professional services and support for Intel® Data Plane Development Kit , ALTEN Calsoft Labs, 18 February 2014, retrieved 2014-10-28 AdvantechCOTS Journal, ATCA Blade Serves Up Xeon E5-2600 Processor , June 2012 BrocadeBrocade vRouter RadisysMarketWatch, Radisys Delivers Industry's First 40G Solution for Intel(R) Data Plane Development Kit, September 2012 TietoTieto, Tieto provides professional software services and support for the Intel® Data Plane Development Kit , February 2012 Wind RiverReuters, Wind River Delivers Support and Services for Intel Data Plane Development Kit for High-Performance Packet Processing , May 2012 LannerGet Flying with the Intel Data Plane Development Kit , Lanner Electronics Inc., 20 February 2013, retrieved 2013-07-11 Mobica http://www.mobica.com/index.php Missing or empty |title= (help)
Проекти 25 лютого 2015 проект pfSense опублікував дорожню карту, в якій розробник Jim Thompson анонсував переписування ядра pfSense—включаючи pf, network packet переправляння та shaping, агрегацію каналів, IPSec—використовуючи Intel's DPDK: "Ми маєм ціль бути готовими пересилати через фільтр пакетів хоча б на швидкості 14.88Mpps. Що є граничною на 10Gbps порті. Зараз просто не має способу використовувати стек ядра FreeBSD (чи linux) для даного типу навантаження."Thompson, Jim.
Посилання