Data Processing Unit
# Data Processing Unit

Eine Data Processing Unit (kurz DPU, englisch für Datenverarbeitungseinheit) ist ein programmierbarer Hardwarebeschleuniger, der speziell für die Verarbeitung von Daten ausgelegt ist. Sie werden in Rechenzentren eingesetzt, speziell in solchen, die datenzentrierte Workloads erwarten.
DPUs sind Prozessoren, die im Gegensatz zu CPUs deutlich mehr, dafür aber leistungsschwächere Kerne besitzen. Dadurch wird ein höherer Parallelisierungsgrad erreicht, was die zeitgleiche Verarbeitung von großen Datenmengen beschleunigt.
Data Processing Units werden von gewissen Anbietern, beispielsweise Intel, als Intelligence Processing Units (IPUs) bezeichnet. Der Unterschied ist minimal: IPUs sind vom Aufbau grundsätzlich baugleich, sind aber häufig speziell für Machine Learning und KI-Workloads ausgelegt.

## Verwendung

DPUs werden für datenzentrische Workloads eingesetzt, wie etwa die Bearbeitung, Speicherung oder Verschlüsselung von Daten. Sie kommen unter anderem in Datenzentren zum Einsatz, die beispielsweise künstliche Intelligenzen, Analyseverarbeitungen oder andere Prozesse mit einem hohen Input/Output hosten. Durch die Offloading von rechenintensiven Netzwerkaufgaben von der Haupt-CPU können DPUs die verfügbare Rechenleistung erhöhen. Somit tragen sie dazu bei, die Gesamtleistungsfähigkeit der Serverinfrastruktur zu optimieren und den Bedarf an Ressourcen für das Hosting von Diensten in der Cloud zu senken.
Datenverarbeitungseinheiten werden vermehrt von Cloud-Computing-Anbietern eingesetzt.

## Geschichte

DPUs haben sich ursprünglich aus Netzwerkkarten (NICs) entwickelt. Diese begannen, Netzwerkprozesse von der CPU auszulagern und diese damit zu entlasten. Mit intelligenten Netzwerkkarten (Smart NICs) kam dann die Möglichkeit der Programmierung. DPUs sind eine fortgeschrittene Version davon.