Network Adapter RDMA Hardware Acceleration Resource Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In current computing clusters, sharing hardware acceleration resources between nodes leads to significant CPU and memory resource consumption due to data copying and processing overhead, which hampers performance and efficiency.
Innovation Solution
Implementing a method where a network adapter uses RDMA to directly access and process data in shared hardware acceleration resources, eliminating the need for CPU-mediated data transfer between nodes by mapping data buffer addresses to the CPU's addressing space, allowing for dynamic allocation and independent processing of hardware logical units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If hardware acceleration resources are shared between multiple nodes, then resource utilization is improved, but CPU and memory resource consumption increases due to data copying
Solution Approach 1:
The patent extracts the data copying operation from the CPU's responsibility by enabling the network adapter to perform direct memory access. The network adapter bypasses the CPU and memory subsystem by directly accessing the hardware acceleration resource's data buffer, thereby eliminating the harmful data copying process that consumes CPU and memory resources while preserving the beneficial resource sharing capability.
Solution Approach 2:
The network adapter acts as an intermediary between the requesting node and the hardware acceleration resource. It receives data from the network, directly writes it to the hardware acceleration resource's data buffer using RDMA, and triggers processing without involving the CPU. This intermediary role resolves the contradiction by enabling resource sharing while eliminating CPU/memory overhead.
2Productivity
If data is copied through CPU and memory for hardware acceleration processing, then processing can be performed, but resource occupation and consumption increase
Solution Approach 1:
The hardware acceleration resource performs self-service by having its data buffer directly accessible by the network adapter. The system enables the network adapter to write data directly to the hardware acceleration resource's data buffer and trigger processing autonomously, eliminating the need for CPU and memory involvement in data transfer. This self-service mechanism maintains processing productivity while reducing resource occupation.
3Adaptability or versatility
If hardware acceleration resources are distributed on different service nodes, then resource sharing is enabled, but data copying overhead increases
Solution Approach 1:
The patent replaces the mechanical data copying process (which involves CPU processing and memory operations) with a direct hardware-level data path. The network adapter uses RDMA to directly access the hardware acceleration resource's data buffer over the network, substituting the multi-step mechanical copying process with a streamlined direct access mechanism that eliminates time loss while preserving resource sharing capability.
Data Source
Figure 1~2(a)
Figure 2(b)
Figure 3
AI summary
Embodiments of the present invention provide a method, device, and system for implementing hardware acceleration processing, so as to reduce occupation and consumption of CPU and memory resources when different computer devices share a hardware acceleration resource. By means of the method for hardware acceleration processing provided in the embodiments of the present invention, MMIO processing is performed on a data buffer address of a hardware acceleration unit, so as to obtain an address in addressing space of a CPU. In addition, the network adapter has an RDMA or DMA function. Alternatively, a network adapter of a hardware acceleration device can directly send received data on which hardware acceleration processing is to be performed to a hardware acceleration processing unit. In this way, resource consumption is reduced when a CPU of the computer device receives and forwards the data on which hardware acceleration processing is to be performed, and in addition, storage space of a memory of the computer device is saved.