System and method for a shared write address protocol over a remote direct memory access connection
First Claim
1. A method comprising:
- issuing, by a computing device, a read operation to a flow control block of another computing device, via a remote direct memory access (RDMA) connection with the another computing device, to retrieve a transaction identifier of a last processed response of the another computing device;
determining, by the computing device, when sufficient space exists in a message pool on the another computing device to store data to be transmitted to the another computing device based on the retrieved transaction identifier and a size of the data; and
issuing, by the computing device, a write operation via the RDMA connection to transmit the data to the another computing device, when the determining indicates that sufficient space exists in the message pool on the another computing device to store the data.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a system and method for a shared write address protocol (SWAP) that is implemented over a remote direct memory address (RDMA) connection. Each party to a connection establishes a flow control block that is accessible to its partner via a RDMA READ operation. The novel protocol operates so that each module needs to have one outstanding RDMA READ operation at a time, i.e., to obtain the current flow control information from its partner. In operation, if data to be transmitted is less than or equal to a buffer size, an INLINE message data structure of the SWAP protocol is utilized to send the data to be target. However, if the data is greater than the buffer size, a second determination is made as to whether sufficient space exists in the message pool for the data. If insufficient space exists, the sender will wait until sufficient space exists before utilizing a novel WRITE operation of the SWAP protocol to transmit the data.
-
Citations
12 Claims
-
1. A method comprising:
-
issuing, by a computing device, a read operation to a flow control block of another computing device, via a remote direct memory access (RDMA) connection with the another computing device, to retrieve a transaction identifier of a last processed response of the another computing device; determining, by the computing device, when sufficient space exists in a message pool on the another computing device to store data to be transmitted to the another computing device based on the retrieved transaction identifier and a size of the data; and issuing, by the computing device, a write operation via the RDMA connection to transmit the data to the another computing device, when the determining indicates that sufficient space exists in the message pool on the another computing device to store the data. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
-
issue a read operation to a flow control block of another computing device, via a remote direct memory access (RDMA) connection with the another computing device, to retrieve a transaction identifier of a last processed response of the another computing device; determine when sufficient space exists in a message pool on the another computing device to store data to be transmitted to the another computing device based on the retrieved transaction identifier and a size of the data; and issue a write operation via the RDMA connection to transmit the data to the another computing device, when the determining indicates that sufficient space exists in the message pool on the another computing device to store the data. - View Dependent Claims (6, 7, 8)
-
-
9. A computing device comprising:
-
a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of optimizing communications over remote direct memory access (RDMA) connections; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to; issue a read operation to a flow control block of another computing device, via an RDMA connection with the another computing device, to retrieve a transaction identifier of a last processed response of the another computing device; determine when sufficient space exists in a message pool on the another computing device to store data to be transmitted to the another computing device based on the retrieved transaction identifier and a size of the data; and issue a write operation via the RDMA connection to transmit the data to the another computing device, when the determining indicates that sufficient space exists in the message pool on the another computing device to store the data. - View Dependent Claims (10, 11, 12)
-
Specification