Zurück zur Übersicht

Begriff

DPDK (Data Plane Development Kit)

Networking Performance S4
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Wenn du einen Router baust, der 1 Tbit/s schaffen muss (wie bei Telekommunikations-Providern), ist Linux zu langsam. Der Wechsel von User-Mode zu Kernel-Mode (Context Switch) kostet Zeit. DPDK ist die radikale Lösung: Kernel Bypass. Die Anwendung (Userspace) übernimmt die Kontrolle über die Netzwerkkarte. Der Linux-Kernel wird komplett ignoriert. Die App muss alles selbst machen (Treiber, Memory Management, TCP Stack). Dafür gibt es Zero Copy und keine Interrupts (Polling Mode). Die CPU fragt die Karte millionenfach pro Sekunde: "Hast du Daten? Hast du Daten?". Das verbraucht 100% CPU auf einem Core, aber die Latenz ist minimal.

Merksatz: Ein Satz von Bibliotheken und Treibern für die schnelle Paketverarbeitung, der es Anwendungen ermöglicht, direkt vom Userspace auf Netzwerkkarten zuzugreifen (Kernel Bypass), um extrem hohe Durchsatzraten und niedrige Latenzen zu erreichen.


Quick-Check

  1. Nachteil?
    Du verlierst alle Linux-Tools. tcpdump, iptables, netstat funktionieren nicht für DPDK-Interface (weil der Kernel sie nicht sieht). Debugging ist hart.
  2. XDP vs DPDK?
    DPDK = Maximale Performance, aber komplex und isoliert. XDP = Sehr gute Performance, aber integriert in Linux. Der Trend geht zu XDP für Cloud, DPDK für Telco.
  3. Sprache?
    Meist C/C++. Es gibt Wrapper für Go/Rust, aber Performance liegt im Detail.