SmartNIC Remote Memory Offloading for Passive Memory Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing user-space runtime library based remote memory systems introduce significant CPU computing and management overhead at memory nodes due to the need for management units and network protocol stack CPU polling, limiting complete disaggregation of memory and computing resources.
Innovation Solution
A SmartNIC offloading based remote memory system that utilizes a System-on-a-Chip (SoC) on the SmartNIC to offload management of remote memory nodes, enabling in-network management and one-sided RDMA access, reducing CPU involvement at memory nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If user-space runtime library based remote memory access is implemented, then application semantics and fine-granularity access are enabled, but CPU resources at memory nodes are heavily consumed due to management unit overhead and network protocol stack polling
Solution Approach 1:
The patent extracts the management unit and network protocol stack polling functions from the memory node CPU, relocating them to the SmartNIC. This allows the memory node to operate passively without active CPU intervention, while the SmartNIC handles all management operations including address translation and RDMA packet processing
Solution Approach 2:
The SmartNIC acts as an intermediary between the compute node and memory node, handling all remote memory access management. It translates object IDs to physical addresses, manages RDMA queue pairs, and processes network packets, freeing the memory node CPU from these overhead tasks
2Manufacturing precision
If management units are deployed at remote memory nodes to process remote access requests, then object-granularity access is achieved, but computing overhead is introduced at memory nodes
Solution Approach 1:
The management unit is extracted from the memory node and relocated to the SmartNIC. The SmartNIC now performs object ID to physical address translation and manages fine-granularity access control, while the memory node structure is simplified to only contain passive memory arrays without complex management logic
Solution Approach 2:
The SmartNIC serves as an intermediary that handles all address translation and access control operations. It maintains the object ID to physical address mapping tables and performs precise address translation for fine-granularity access, eliminating the need for complex management units at memory nodes
3Reliability
If CPU polling is used for network packet reception at memory nodes, then reliable data reception is ensured, but CPU resources are always occupied
Solution Approach 1:
The network protocol stack and packet reception polling functions are extracted from the memory node CPU and relocated to the SmartNIC. The SmartNIC autonomously handles RDMA packet reception, parsing, and processing, ensuring reliable data reception without occupying memory node CPU resources
Solution Approach 2:
The SmartNIC performs self-service by autonomously handling all network communication tasks including packet reception, address translation, and memory access operations. It manages its own RDMA queue pairs and completion queues without requiring CPU intervention, freeing the memory node CPU for other productive tasks
Data Source
AI summary
A SmartNIC offloading based remote memory system pertains to the field of communication technology and includes a compute node, a SmartNIC and a memory node. The compute node sends a remote memory access request to the SmartNIC. The SmartNIC is used to parse the remote memory access request and access the memory node. The memory node initializes and saves remote memory. The SmartNIC includes a remote memory access request handling module, a data address management module and an RDMA communication front end, and the memory node includes an RDMA communication back end. Use of the remote memory system includes an initialization stage, an application registration stage and a running stage. The system offloads management overhead from the memory node to the SmartNIC, achieving in-network management of remote memory.


