DPU: One of the Three Pillars of Computing Going Forward
As the computing landscape evolves, the emergence of Data Processing Units (DPUs) is reshaping the future of data centers and computing architectures. In this article, we delve into the significance and role of DPUs in this domain and compare them with the traditional Central Processing Units (CPUs) and Graphics Processing Units (GPUs).
What Is DPU?
A Data Processing Unit (DPU) is a specialized hardware accelerator designed to handle networking, storage, and computing tasks in data centers, which will join CPUs and GPUs as one of the three pillars of computing. As a new type of programmable processor, DPU combines three key elements and is a system on a chip (SoC), that combines:
Powerhouse Processing: The DPU encompasses an industry-standard, high-performance, software-programmable, multi-core CPU, tightly integrated with other SoC components, leveraging the widely adopted Arm architecture.
Lightning-Fast Data Transfer: With its high-performance network interface, the DPU excels in parsing, processing, and transferring data at the line rate of the network, or the speed of the rest of the network, to GPUs and CPUs.
Versatile Acceleration: Equipped with a rich set of flexible and programmable acceleration engines, these engines offload and enhance applications performance in AI, machine learning, zero-trust security, telecommunications, storage, and more.
CPU vs GPU vs DPU: What’s the Difference between Them？
Many people are probably already familiar with the central processing unit. Flexible and responsive, for many years CPUs were the sole programmable element in most computers. More recently, GPUs have become more important, they were originally used for real-time graphics and are now essential for artificial intelligence, deep learning, and big data analytics. Over the past decade, computing has expanded beyond PCs and servers, with DPUs becoming the third member of the data-centric accelerated computing model. There are some differences in function, design and application between CPU, GPU and DPU.
1. Functionality and Usage: The CPU is suitable for various general computing tasks, the GPU is for accelerated computing, and the DPU, which moves data around the data center, does data processing
2. Design and Architecture: CPU utilizes a complex general-purpose processor architecture, offering higher flexibility and programmability, GPU adopts a highly parallel architecture used for accelerating graphics processing and computationally intensive tasks, but its flexibility in general computing is relatively lower. DPU's design primarily focuses on data processing and network function acceleration, integrating various hardware accelerators and optimization features to provide high-performance and low-latency data processing solutions.
3. Application Areas: CPU is widely used in desktop computers, servers, and mobile devices, GPU is primarily used in areas such as graphics rendering, gaming, scientific computing, and machine learning, suitable for tasks requiring large-scale parallel computing, DPU is mainly used in data centers and network devices to accelerate tasks such as packet processing, traffic management, and secure encryption, providing high-performance data processing and network function acceleration.
|Functionality and Usage
|Various general computing task
|Move data around the data center
|Design and Architecture
|Complex processor architecture
|Highly parallel architecture
|Integrate hardware accelerators
|Desktop computers, servers, mobile devices
|Large-scale parallel computing
|Data centers and network devices
Also check-Deep Comparison Between Server CPU and GPU
DPUs Integrated into SmartNICs
The DPU can operate as a standalone embedded processor. However, it is most commonly integrated into a SmartNIC, a network interface controller that is a vital component in a next-generation server.
Other devices claiming to be DPUs lack key components of the three crucial elements mentioned above including powerhouse processing, lightning-fast data transfer and versatile acceleration.
For example, some suppliers employ proprietary CPUs that do not take advantage of the Arm CPU ecosystem's extensive development and application infrastructure. Others proclaim to have DPUs but make the mistake of relying only on the embedded CPU for data route processing.
Ten Acceleration and Hardware Capabilities of DPU
So what is a real DPU? Generally speaking, there are ten capabilities the network data path acceleration engines need to be able to deliver:
1. OVS implementation through data packet parsing, matching, and manipulation.
2. RDMA data transport acceleration for Zero Touch RoCE.
3. GPU Direct accelerators allow direct networked data feeding to GPUs, bypassing the CPU.
4. TCP acceleration with features like RSS, LRO, and checksum.
5. Network virtualization for VXLAN, Geneve overlays, and VTEP offload.
6. Traffic shaping accelerator for multimedia streaming and content distribution networks.
7. Precision timing accelerators for telco cloud RAN and 5G capabilities.
8. Crypto acceleration for inline IPSEC and TLS.
9. Virtualization support for SR-IOV, VirtIO, and para-virtualization.
10. Secure isolation with root of trust, secure boot, firmware upgrades, authenticated containers and application lifecycle management.
Some so-called DPUs only specialize in a few functions, while others attempt to offload the datapath using proprietary processors. However, this approach is inadequate for the vast scale and complexity of data centers.
The worst attempt is to use proprietary processors to offload the datapath. While good for prototyping, this is a fool’s errand because of the scale, scope and breadth of data centers.
In short, Data Processing Units (DPUs) have emerged as one of the three pillars in the realm of computing, alongside CPUs and GPUs. With their ability to efficiently handle data movement and processing within data centers, DPUs play a vital role in enabling cloud-scale computing and meeting the demands of modern applications.