RDMA Flow Control Mechanism for Buffer Overflow Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current flow control protocols in RDMA/iWARP technology require taking completions for every send operation, leading to suboptimal efficiency due to increased software processing and network interface controller cycles, which can cause performance degradation.
Innovation Solution
Implementing a flow control method that manages send buffers at the sending peer to prevent overflow of the receiving peer's receiver credits, allowing send operations to be performed without taking completions, by ensuring the number of send buffers is greater than or equal to the maximum receiver credits and using notifications for buffer re-use validation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If completions are taken for every send operation, then reliability of data transfer is ensured, but software processing overhead increases and efficiency deteriorates
Solution Approach 1:
The patent segments the completion processing requirement by introducing a threshold-based mechanism. Instead of requiring completions for every single send operation, the system accumulates send operations and processes completions only when the threshold is reached. This segmentation reduces the frequency of completion processing while maintaining data transfer reliability through controlled batches.
Solution Approach 2:
The patent implements preliminary action by pre-allocating buffer credits and establishing flow control parameters before data transfer begins. The receiver pre-announces available buffer credits, and the sender configures send buffers accordingly in advance. This preliminary setup enables the sender to proceed with multiple send operations without immediately requiring completions, thus improving efficiency while maintaining reliability through pre-established flow control.
2Reliability
If the number of send buffers is increased to prevent overflow, then flow control reliability is improved, but memory usage increases
Solution Approach 1:
The patent applies dynamics by making the send buffer allocation adaptive rather than static. The number of send buffers is dynamically adjusted based on the receiver's announced buffer credits and the threshold parameter. This dynamic allocation allows the system to maintain sufficient buffers for flow control reliability while avoiding excessive memory usage by scaling buffer count to actual transfer needs.
Solution Approach 2:
The patent changes the parameter of buffer credit announcement from a fixed value to a configurable threshold parameter. By allowing the threshold to be adjusted, the system can optimize the balance between flow control reliability and memory usage. The receiver can announce different credit values based on available memory, and the sender adjusts send buffer allocation accordingly, achieving parameter-based optimization.
Data Source
AI summary
In a flow control method, operation flow is controlled on a per connection basis. The method comprises managing a sending peer to prevent overflow of a receiving peer's receiver credits and allocating a number of send buffers at the sending peer greater than or equal to the maximum number of receiver credits that can be indicated by the receiving peer. The technique prevents the sending peer from overflowing its set of send buffers, arising due to re-use, without taking completions on operations queued to a Send Queue.


