DPDPU: Data Processing with DPUs

Jiasheng Hu,Philip A. Bernstein,Jialin Li,Qizhen Zhang
2024-07-27
Abstract:Improving the performance and reducing the cost of cloud data systems is increasingly challenging. Data processing units (DPUs) are a promising solution, but utilizing them for data processing needs characterizing the new hardware and recognizing their capabilities and constraints. We hence propose DPDPU, a platform for holistically exploiting DPUs to optimize data processing tasks that are critical to performance and cost. It seeks to fill the semantic gap between DPUs and data processing systems and handle DPU heterogeneity with three engines dedicated to compute, networking, and storage. This paper describes our vision, DPDPU's key components, their associated utilization challenges, as well as the current progress and future plans.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?
The paper aims to address the challenges of performance improvement and cost reduction in cloud data systems, particularly for compute-intensive tasks, high-bandwidth I/O operations, and issues arising from resource disaggregation (such as storage disaggregation). To tackle these problems, the authors propose a new framework called DPDPU (Data Processing with DPUs). ### Research Objectives 1. **Low computational efficiency**: As data volumes grow, the speed improvements of general-purpose processors cannot keep up with demand, leading to performance degradation in compute-intensive tasks. 2. **High cost of high-bandwidth I/O**: Although I/O device speeds have increased, the number of CPU instructions required per byte of access remains almost unchanged, consuming more CPU resources. 3. **Overheads from resource disaggregation**: With the evolution of data center architectures, the separation of compute and storage resources has intensified network communication, further increasing performance and cost challenges. ### Solution The paper proposes using Data Processing Units (DPUs) as a solution and designs a framework called DPDPU to fully leverage the advantages of DPUs. #### Advantages of DPUs - DPUs are system-on-chips (SoCs) equipped with optimized data path hardware resources, including energy-efficient CPU cores, hardware accelerators, network processors, etc. - DPUs can operate independently of the host, reducing the need for modifications to host applications, making them easier to port and adopt. - DPUs can offload I/O processing from the host at line rate, reducing host resource consumption. #### DPDPU Framework - **Compute Engine**: Used for executing compute-intensive tasks such as data compression, encryption, and database operations. - **Network Engine**: Offloads network communication primitives, improving network I/O efficiency. - **Storage Engine**: Utilizes direct storage device access to improve the performance of local and disaggregated storage while reducing costs. These three components work together through carefully designed interfaces to address the aforementioned challenges. Additionally, DPDPU provides an abstraction layer that makes it easier for developers to write and port data system programs based on DPUs, overcoming hardware differences between various DPUs. ### Main Contributions - The paper provides a detailed analysis of the performance and cost efficiency challenges in cloud data processing and demonstrates the potential of DPUs in addressing these challenges. - It presents the overall vision of DPDPU and the design of its key components. - It discusses the challenges faced by each component of DPDPU and their corresponding high-level designs. - It reviews related work and reports on the current research progress and future plans for DPDPU.