RDMA Flow Control via Receipt Acknowledgment for Page Fault Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RDMA systems face inefficiencies and page faults due to the need for pre-pinned memory regions, leading to increased memory usage and latency under heavy traffic loads, with implicit memory registration schemes failing to effectively manage page faults and resulting in packet retransmissions and congestion.

Innovation Solution

Implementing explicit flow control mechanisms that provide explicit data flow acknowledgments and back pressure to the remote RDMA device, using a Receipt Acknowledgment (RACK) message to manage page faults and optimize memory allocation, reducing unnecessary packet transfers and congestion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If pre-pinned memory regions are allocated for all RDMA transfers, then page faults are avoided and transfer reliability is improved, but system memory consumption increases significantly

Engineering Contradiction:
Improvetransfer reliabilityVSAvoidsystem memory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary memory registration with the RNIC before actual data transfers occur. The RNIC is notified of upcoming memory regions that will be used for RDMA operations, allowing it to prepare appropriate flow control parameters and buffer allocations in advance. This preliminary action enables the system to handle page faults more effectively without requiring all memory to be pre-pinned, thus reducing overall memory consumption while maintaining transfer reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements explicit flow control mechanisms where the RNIC provides feedback to the remote system about memory availability and transfer status. Through acknowledgments and status reports, the system receives real-time information about memory registration status and page fault conditions, allowing dynamic adjustment of flow control parameters. This feedback loop enables reliable transfers by detecting and handling page faults promptly without requiring excessive pre-allocation of memory resources.

Inventive Principle:
Principle #23Feedback

2Loss of time

If memory is overallocated to address worst-case traffic conditions, then page faults are minimized, but memory resources are wasted under normal load conditions

Engineering Contradiction:
Improvepage fault frequencyVSAvoidmemory allocation
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts memory allocation and flow control parameters based on actual traffic conditions and registration status. Rather than statically overallocating memory to handle worst-case scenarios, the RNIC monitors memory registration progress and adapts its buffer allocations and flow control settings in real-time. This dynamic approach ensures adequate memory availability during high traffic while avoiding waste during normal operations, reducing both page faults and unnecessary memory consumption.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If implicit memory registration is used without explicit flow control, then memory management flexibility is improved, but packet retransmissions increase due to undetected page faults

Engineering Contradiction:
Improvememory management flexibilityVSAvoiddata transfer reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements explicit flow control mechanisms where the RNIC provides feedback to the remote system about memory availability and transfer status. Through acknowledgments and status reports, the system receives real-time information about memory registration status and page fault conditions, allowing dynamic adjustment of flow control parameters. This feedback loop enables reliable transfers by detecting and handling page faults promptly without requiring excessive pre-allocation of memory resources.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The RNIC acts as an intermediary between the remote system and local memory, mediating the implicit memory registration process with explicit flow control. It monitors memory registration status, detects page faults, and manages the coordination between remote senders and local memory allocation. This intermediary role allows the system to maintain memory management flexibility while ensuring data transfer reliability through active monitoring and control.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the RNIC acts as a memory management unit with synchronization, then page fault tolerance is improved, but data stream latency increases under heavy system load

Engineering Contradiction:
Improvepage fault toleranceVSAvoiddata stream latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary memory registration with the RNIC before actual data transfers occur. The RNIC is notified of upcoming memory regions that will be used for RDMA operations, allowing it to prepare appropriate flow control parameters and buffer allocations in advance. This preliminary action enables the system to handle page faults more effectively without requiring all memory to be pre-pinned, thus reducing overall memory consumption while maintaining transfer reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9176911B2Explicit flow control for implicit memory registration
Publication Date: 2015.11.03 INTEL CORP
  • US9176911B2 patent drawing
  • US9176911B2 patent drawing
  • US9176911B2 patent drawing

AI summary

Methods, apparatus and systems for facilitating explicit flow control for RDMA transfers using implicit memory registration. To setup an RDMA data transfer, a source RNIC sends a request to allocate a destination buffer at a destination RNIC using implicit memory registration. Under implicit memory registration, the page or pages to be registered are not explicitly identified by the source RNIC, and may correspond to pages that are paged out to virtual memory. As a result, registration of such pages result in page faults, leading to a page fault delay before registration and pinning of the pages is completed. In response to detection of a page fault, the destination RNIC returns an acknowledgment indicating that a page fault delay is occurring. In response to receiving the acknowledgment, the source RNIC temporarily stops sending packets, and does not retransmit packets for which ACKs are not received prior to retransmission timeout expiration.