Method and system for conditional remote direct memory access write
First Claim
1. A method for conditional execution of a remote direct memory access (RDMA) write, the method comprising:
- receiving, by a host channel adapter, at least one message comprising an atomic operation and the RDMA write from a requester system, wherein the RDMA write is to write to a memory location on a host connected to the host channel adapter;
obtaining, by the host channel adapter, a descriptor corresponding to the RDMA write;
determining, from the descriptor, that the RDMA write is a conditional RDMA write conditioned on a successful execution of the atomic operation;
queuing, based on determining that the RDMA write is the conditional RDMA write, the conditional RDMA write to be conditionally executed based on a success indicator of the atomic operation;
executing, after queuing the conditional RDMA write, the atomic operation, wherein execution of the atomic operation is successful;
maintaining, by the host channel adapter, a state of the atomic operation by setting the success indicator to indicate the successful execution of the atomic operation when execution of the atomic operation is successfully completed; and
in response to setting the success indicator to indicate the successful execution, executing, by the host channel adapter, the conditional RDMA write to write to the memory location on the host.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for conditional execution of a remote direct memory access (RDMA) write includes a host channel adapter receiving at least one message that includes an atomic operation and the RDMA write. The host channel adapter obtains a descriptor corresponding to the RDMA write, and determines, from the descriptor, that the RDMA write is a conditional RDMA write conditioned on a successful execution of the atomic operation. Based on determining that the RDMA write is the conditional RDMA write, the conditional RDMA write is queued to be conditionally executed based on a success indicator of the atomic operation. After queuing the RDMA write, the atomic operation is executed successfully. In response to the successful execution, the host channel adapter executes the conditional RDMA write to write to the memory location on the host.
-
Citations
20 Claims
-
1. A method for conditional execution of a remote direct memory access (RDMA) write, the method comprising:
-
receiving, by a host channel adapter, at least one message comprising an atomic operation and the RDMA write from a requester system, wherein the RDMA write is to write to a memory location on a host connected to the host channel adapter; obtaining, by the host channel adapter, a descriptor corresponding to the RDMA write; determining, from the descriptor, that the RDMA write is a conditional RDMA write conditioned on a successful execution of the atomic operation; queuing, based on determining that the RDMA write is the conditional RDMA write, the conditional RDMA write to be conditionally executed based on a success indicator of the atomic operation; executing, after queuing the conditional RDMA write, the atomic operation, wherein execution of the atomic operation is successful; maintaining, by the host channel adapter, a state of the atomic operation by setting the success indicator to indicate the successful execution of the atomic operation when execution of the atomic operation is successfully completed; and in response to setting the success indicator to indicate the successful execution, executing, by the host channel adapter, the conditional RDMA write to write to the memory location on the host. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A responder communication adapter for conditional execution of a remote direct memory access (RDMA) write comprising:
-
a network port configured to; receive at least one message comprising a request to perform an atomic operation and the RDMA write from a requester system, wherein the RDMA write is to write to a memory location on a host connected to the responder communication adapter; a responder processing logic connected to the network port and configured to; obtain a descriptor corresponding to the RDMA write; determine, from the descriptor, that the RDMA write is a conditional RDMA write conditioned on a successful execution of the atomic operation; queue, based on determining that the RDMA write is the conditional RDMA write, the conditional RDMA write to be conditionally executed based on a success indicator of the atomic operation; execute, after queuing the conditional RDMA write, the atomic operation resulting in the successful execution; maintain a state of the atomic operation by setting the success indicator to indicate the successful execution of the atomic operation when execution of the atomic operation is successfully completed; and in response to setting the success indicator to indicate the successful execution, execute the conditional RDMA write to write to the memory location on the host. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable medium storing instructions for conditional execution of a remote direct memory access (RDMA) write, the instructions comprising functionality for causing a computer system to:
-
receive at least one message comprising an atomic operation and the RDMA write from a requester system, wherein the RDMA write is to write to a memory location on a host connected to a host channel adapter; obtain a descriptor corresponding to the RDMA write; determine, from the descriptor, that the RDMA write is a conditional RDMA write conditioned on a successful execution of the atomic operation; queue, based on determining that the RDMA write is the conditional RDMA write, the conditional RDMA write to be conditionally executed based on a success indicator of the atomic operation; execute, after queuing the conditional RDMA write, the atomic operation resulting in the successful execution; maintain a state of the atomic operation by setting the success indicator to indicate the successful execution of the atomic operation when execution of the atomic operation is successfully completed; and in response to setting the success indicator to indicate the successful execution, execute the conditional RDMA write to write to the memory location on the host. - View Dependent Claims (17, 18, 19, 20)
-
Specification