Reading Time: 3 minutes

Data Processing Unit (DPU) is a programmable computer processor that is usally tightly integrates a general-purpose CPU with network interface card (NIC) hardware.

Sometimes they are called “IPUs” (for “Infrastructure Processing Unit”) or “SmartNICs” (because actually they are implemented in some special Network Interface Cards).

A DPU is a system on a chip that combines:

  • Industry-standard, high-performance, software-programmable multi-core CPU
  • High-performance network interface
  • Flexible and programmable acceleration engines

Usually there is an ARM CPU (with a interesting number of cores) as well as a Programable Accelerator with a high-speed interconnect between the two ports (or more) ranging from 10Gb to 100Gb depending on the vendor, and a separate ethernet port for management. There is enough RAM (32 or 64 GB) and a local storage.

The DPU, or Data Processing Unit, is focused on moving data within the data center. While a CPU and GPU are focused on compute, the DPU is in many ways optimized for data movement and offload some specific operation from the motherboard’s CPU(s).

The DPU can be used as a stand-alone embedded processor. But it’s more often incorporated into a SmartNIC, a network interface controller used as a critical component in a next-generation server.

The available resources are quite impressive, for example Nvidia BlueField-3 DPU has:

  • 1 or 2 ports with up to 400 Gb/s connectivity
  • Up to 16 Armv8.2+ A78 Hercules cores
  • 32GB on-board DDR5 memory with ECC error protection support
  • 128GB on-board SSD

Amazon AWS was really a pioneer in this space. AWS Nitro was an early SmartNIC design that focused on bringing secure networking, storage, security, and a system controller to the AWS ecosystem.

Actually the main players are:

Note that the DPU follow in the generic xPU concept : specialized processor units that can provide different benefits.

For more informations see also: