NIC Queue Dispatch Validation for RDMA Congestion Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face inefficiencies in remote direct memory access (RDMA) due to blind queue scheduling and congestion control, leading to failed scheduling and performance degradation.
Innovation Solution
A method that determines the dispatch state of a target queue based on activity and credit values before dispatch, ensuring valid dispatch mechanisms are used, thereby improving the success rate of queue dispatch and enhancing network interface card performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If blind queue scheduling is performed without checking dispatch state, then queue dispatch can be attempted immediately, but the dispatch may fail due to congestion control, wasting scheduling time and degrading performance
Solution Approach 1:
The patent applies preliminary action by checking the dispatch state (activity and credit value) of the target queue before attempting dispatch. This preliminary check ensures that dispatch only proceeds when the queue is in a valid state, preventing failed dispatch attempts and wasting time. The doorbell signal triggers this preliminary state verification before the actual dispatch operation.
2Reliability
If congestion control authorization is checked before dispatch, then dispatch validity can be ensured, but additional state determination steps are required
Solution Approach 1:
The patent implements self-service by having the network interface card autonomously determine its own dispatch state (activity and credit value) and validate whether dispatch is permitted. The system checks its internal congestion control authorization status without requiring external verification, enabling reliable dispatch validation while maintaining operational simplicity through self-monitoring mechanisms.
Data Source
AI summary
A data processing method, a network interface card, an electronic device, and a storage medium. The method includes: determining a target dispatch queue to be dispatched from a host memory in response to a doorbell signal sent by a target host, where the doorbell signal indicates that there is a target message to be sent; determining a current target dispatch state of the target dispatch queue, where the target dispatch state is obtained based on an activity and a credit value corresponding to the target work queue element; determining whether a dispatch mechanism corresponding to the target dispatch queue is valid based on the target dispatch state, where the dispatch mechanism indicates whether the target dispatch queue is allowed to be dispatched; and performing a dispatch operation on the target work queue element and the target message in response to the dispatch mechanism being valid.


