US 12,242,413 B2
Methods, systems and computer readable media for improving remote direct memory access performance
Nitesh Kumar Singh, Mukundapur (IN); Rakhahari Bhunia, Kolkata (IN); Abhijit Singha, Kolkata (IN); and Sujoy Nandy, Howrah (IN)
Assigned to KEYSIGHT TECHNOLOGIES, INC., Santa Rosa, CA (US)
Filed by Keysight Technologies, Inc., Santa Rosa, CA (US)
Filed on Aug. 27, 2021, as Appl. No. 17/460,146.
Prior Publication US 2023/0066835 A1, Mar. 2, 2023
Int. Cl. G06F 15/173 (2006.01); G06F 13/16 (2006.01); G06F 15/167 (2006.01)
CPC G06F 15/17331 (2013.01) [G06F 13/1621 (2013.01); G06F 13/1642 (2013.01); G06F 15/167 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A method for improving remote direct memory access (RDMA) performance, the method comprising:
at a remote direct memory access (RDMA) client utilizing a user space and a kernel space for executing software:
posting, by an application executing in the user space, a single RDMA work request including a data element indicating a plurality of RDMA requests associated with the single RDMA work request to be generated by software executing in the kernel space, wherein the data element includes a work queue entry loop count parameter comprising a positive integer indicating the number of RDMA requests in the plurality of RDMA requests;
in response to the single RDMA work request and, using the work queue entry loop count parameter of the single RDMA work request, generating and sending, by the software executing in the kernel space, the plurality of RDMA requests to an RDMA server via a system under test (SUT), wherein the plurality of RDMA requests are identical, the SUT comprises at least one network switch located between the RDMA client and the RDMA server, and sending the RDMA requests to the RDMA server via the SUT includes stress testing the at least one network switch by flooding the at least one network switch with data packets carrying the RDMA requests; and
after determining, by the software executing in kernel space, that operations requested by the plurality of RDMA requests have been completed, posting, by the software executing in kernel space, a notification indicating that processing of the single RDMA work request is completed.