RDMA Request Dependency Handling for Lower-Latency Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional RDMA systems suffer from high latency and CPU intensity due to the upper application layer's need to process and wait for the completion of previous requests before issuing new ones, leading to inefficient data communication.
Innovation Solution
Implement a method and controller that enable conditional and dynamic dependencies between requests using remote direct memory access, allowing the network interface controller to evaluate and execute requests based on dependency information, offloading the CPU from this task.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the upper application layer processes and waits for completion of previous requests before issuing new ones, then request execution order is maintained, but latency increases and CPU cycles are consumed
Solution Approach 1:
The patent applies preliminary action by allowing the upper application layer to issue multiple requests in advance without waiting for their completion. Requests are pre-issued into the RNIC queue with dependency metadata, enabling parallel processing while maintaining logical execution order through hardware-based dependency tracking. This resolves the contradiction by eliminating the sequential wait-time while preserving correct execution semantics.
Solution Approach 2:
The RNIC acts as an intermediary between the upper application layer and the network, taking over the responsibility of tracking request dependencies and managing execution order. The dependency metadata structure serves as an intermediary mechanism that captures request relationships, allowing the hardware to enforce execution semantics without CPU intervention. This transfers the burden from software to hardware, reducing latency and CPU consumption.
2Reliability
If the upper application layer tracks and processes results of RDMA memory operations, then correct execution is ensured, but CPU cycles are consumed and memory utilization increases
Solution Approach 1:
The RNIC performs self-service by autonomously tracking request dependencies and managing execution without requiring upper application layer intervention. The dependency metadata enables the hardware to automatically determine which requests can be executed based on completion status of previous requests, ensuring correctness while eliminating the need for CPU-based tracking and processing.
Solution Approach 2:
The patent substitutes the software-based dependency tracking mechanism (mechanical system in software terms) with a hardware-based mechanism implemented in the RNIC. The dependency metadata structure and associated hardware logic replace the need for software loops and conditionals that previously consumed CPU cycles, achieving the same reliability function with significantly lower computational overhead.
3Productivity
If multiple requests are issued simultaneously, then throughput increases, but dependency management complexity increases
Solution Approach 1:
The patent introduces dependency metadata as a new parameter attached to each request, which encodes the execution dependencies in a structured format. This parameter change enables the RNIC to automatically manage complex dependency relationships among multiple simultaneous requests without increasing software complexity. The metadata includes fields for tracking completion status and defining execution conditions, allowing hardware-based automated management.
Data Source
AI summary
A method processes data requests from a requester to a responder over a network by using remote direct memory access. The method includes the requester issuing two or more requests into a work queue of a network interface controller. The method further includes the network interface controller executing the queued requests by sending them to the responder, and receiving responses to the sent request from the responder. One or more given requests each includes dependency information related to the response from the responder to one or more previous requests in the work queue, the method further includes, before executing the given request by the network interface controller, evaluating the dependency information and executing the given request depending on the result of the evaluation.


