RDMA Work Request Processing for High Throughput Traffic Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional RDMA implementations face inefficiencies due to context-switching between user space and kernel space, which limits traffic generation and throughput performance during stress testing of data centers.
Innovation Solution
The method involves an RDMA node utilizing both user space and kernel space, where an application in the user space posts an RDMA work request with a data element indicating multiple RDMA requests to be generated by software in the kernel space, thereby reducing context-switching and improving processor utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional RDMA implementations use context-switching between user space and kernel space, then software-based RDMA test solutions can be implemented, but traffic generation rate and throughput performance are limited
Solution Approach 1:
The patent extracts the RDMA request generation functionality from the user space application and places it directly in the kernel space driver. This allows the driver to generate multiple RDMA requests autonomously without requiring continuous context-switching to user space, thereby maintaining software-based test capability while significantly improving traffic generation rate.
Solution Approach 2:
The patent implements a work queue mechanism where user space applications pre-post multiple RDMA work requests into the kernel space driver. The driver then processes these pre-prepared requests autonomously, eliminating the need for frequent context-switches and enabling high-rate traffic generation while maintaining ease of software-based operation.
2Loss of time
If software executing in kernel space generates multiple RDMA requests autonomously, then context-switching overhead is reduced, but system complexity increases
Solution Approach 1:
The patent segments the RDMA request processing into distinct components: user space applications responsible for high-level test logic and request posting, and kernel space drivers responsible for autonomous request generation and network transmission. This segmentation reduces context-switching overhead while organizing the increased system complexity into manageable, well-defined functional blocks.
Data Source
AI summary
The subject matter described herein includes methods, systems, and computer readable media for improving remote direct memory access (RDMA) performance. A method for improving RDMA performance occurs at an RDMA node utilizing a user space and a kernel space for executing software. The method includes posting, by an application executing in the user space, an RDMA work request including a data element indicating a plurality of RDMA requests associated with the RDMA work request to be generated by software executing in the kernel space; and generating and sending, by the software executing in the kernel space, the plurality of RDMA requests to or via a system under test (SUT).


