Background and Requirements
Overview
In data center and cloud scenarios, Moore's Law fails. The CPU computing power growth rate of general processing units slows down, while the network I/O speed and performance keep increasing. The processing capability of current general-purpose processors cannot keep up with the I/O processing requirements of networks and drives. In traditional data centers, more and more general-purpose CPU computing power is consumed by I/O and management plane. Such resource loss is called "datacenter tax". According to AWS statistics, datacenter taxes may account for more than 30% of the computing power of data centers, and even more in specific scenarios.
The data processing unit (DPU) is developed to free the computing resources from the datacenter taxes. The management plane, network, storage, and security capabilities are offloaded to the DPU for processing acceleration, reducing costs and improving efficiency. Currently, mainstream cloud vendors, such as AWS, Alibaba Cloud, and Huawei Cloud, offload the management plane and related data planes to self-developed processors, achieving 100% sales of data center computing resources.
Currently, DPU is undergoing rapid development. Cloud and big data scenarios have strong demands for DPUs. Many DPU startups have launched different DPU products. To meet such requirements, cloud and big data vendors need to consider how to integrate and use different DPU products. DPU vendors also need to adapt device drivers to user OSs. openEuler builds DPU-OS to solve the problem of DPU adaptation for DPU vendors and users. In addition, the OS on the DPU is used to accelerate some services. Therefore, the performance of DPU-OS is optimized and accelerated. DPU-related acceleration capabilities can be built based on openEuler and embedded in DPU-OS to build a DPU software ecosystem.
DPU-OS Requirement Analysis and Design
DPU Status Quo and OS Requirements
DPUs typically have the following characteristics and problems:
Limited general processing capabilities and resources
Currently, the DPU is still in the early stage of development, and the hardware is still evolving. In addition, the current hardware specifications are low due to the limitation of the DPU power supply. Mainstream DPUs often have 8 to 24 general-purpose processor cores with weak single-core capability and limited amount of memory, usually 16 to 32 GB. And the local storage space of a DPU ranges from dozens of GB to hundreds of GB. These restrictions need to be taken into consideration during the design of an OS that runs on DPUs.
Various DPU OS Installation Modes
The variety of DPU vendors and products result in different installation and deployment modes of OSs, including PXE network installation, USB flash drive installation, and custom installation (using an image delivered by the host).
DPU Performance Requirements
DPUs are required to have strong performance in their application scenarios. Compared with common server OSs, a DPU OS may have to support some specific features, such as vDPU for device passthrough and hot migration, vendor-specific driver support, seamless offload of DPU processes, custom optimized user mode data plane acceleration tools (for example, DPDK, SPDK, and OVS), and DPU management and monitoring tools.
Based on the preceding DPU status, the requirements for DPU-OS are as follows:
Lightweight installation package
The openEuler system image is tailored to reduce the space occupied by unnecessary software packages. System services are optimized to reduce the resource overhead.
Tailoring Configurations and Tool Support
Tailoring configuration and tool support are provided. Users and DPU vendors can customize the tailoring based on their requirements. openEuler provides ISO reference implementation.
Customized kernel and system for ultimate performance
The customized kernel and related drivers provide competitive DPU kernel features. The customized acceleration components enable DPU hardware acceleration. The optimized system configurations deliver better performance. DPU management and control tools facilitate unified management.
DPU-OS Design
Figure 1 DPU-OS overall design

As shown in Figure 1, DPU-OS contains five layers:
Kernel layer: The kernel configurations are customized to be lightweight, with unnecessary kernel features and modules removed. Specific kernel features are enabled to provide high-performance DPU kernel capabilities.
Driver layer: The native openEuler drivers are tailored to keep the minimum collection. Some DPU vendor drivers are integrated to natively support related DPU hardware.
System configuration layer: sysctl and proc are configured for optimal performance of DPU-related services.
Peripheral package layer: openEuler peripheral packages are tailored to keep the minimum collection. A set of DPU-related customization tools are provided.
System service layer: The native service startup items are optimized to reduce unnecessary system services and minimize the system running overhead.
The five-layer design makes DPU-OS lightweight with ultimate performance. This solution is a long-term design and strongly depends on the software and hardware ecosystem of DPUs. In the first phase, this solution is tailored based on openEuler imageTailor.
For details about how to tailor DPU-OS, see DPU-OS Tailoring Guide. For details about how to verify and deploy DPU-OS, see DPU-OS Deployment Verification Guide.
NOTE:
Currently, DPU-OS is tailored with imageTailor based on the existing openEuler kernel and peripheral packages to provide a lightweight OS installation image. In the future, related kernel and peripheral package features can be developed and integrated based on actual requirements.




