Delaying acknowledgment of an operation until operation completion confirmed by local adapter read operation
First Claim
1. A computer program product for facilitating processing in a computing environment, the computer program product comprising a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method, the method comprising:
- receiving at a receiving adapter of the computing environment from a sending adapter of the computing environment a write operation to be performed by the receiving adapter;
performing the write operation by the receiving adapter to write data to memory of the computing environment;
determining by the receiving adapter whether the write operation has completed, wherein the determining comprises performing by the receiving adapter a read operation to confirm the write operation has completed in that the data has been written to the memory, the read operation initiated locally by the receiving adapter and reading only a portion of the data that has been written by the write operation to determine the write operation has completed, and wherein the read operation is absent a comparing of the written data and the read data; and
based on determining via the read operation that the write operation has completed, sending an acknowledgment to the sending adapter.
1 Assignment
0 Petitions
Accused Products
Abstract
A request to perform an operation, such as a remote direct memory access (RDMA) write operation or a send operation that writes to memory, is sent from a sending input/output (I/O) adapter (e.g., an RDMA-capable adapter) to a receiving I/O adapter. The receiving I/O adapter receives the request and initiates performance of the operation, but delays sending an acknowledgment for the operation. The acknowledgment is delayed until the operation is complete (i.e., until the memory is updated and the data is visible to the remote processor), as determined by a read operation initiated and performed by the receiving I/O adapter transparent to the sending I/O adapter.
-
Citations
19 Claims
-
1. A computer program product for facilitating processing in a computing environment, the computer program product comprising a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method, the method comprising:
-
receiving at a receiving adapter of the computing environment from a sending adapter of the computing environment a write operation to be performed by the receiving adapter; performing the write operation by the receiving adapter to write data to memory of the computing environment; determining by the receiving adapter whether the write operation has completed, wherein the determining comprises performing by the receiving adapter a read operation to confirm the write operation has completed in that the data has been written to the memory, the read operation initiated locally by the receiving adapter and reading only a portion of the data that has been written by the write operation to determine the write operation has completed, and wherein the read operation is absent a comparing of the written data and the read data; and based on determining via the read operation that the write operation has completed, sending an acknowledgment to the sending adapter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system for facilitating processing in a computing environment, the computer system comprising:
a receiving adapter configured to perform a method, said method comprising; receiving at the receiving adapter from a sending adapter a write operation to be performed by the receiving adapter; performing the write operation by the receiving adapter to write data to memory of the computing environment; determining by the receiving adapter whether the write operation has completed, wherein the determining comprises performing by the receiving adapter a read operation to confirm the write operation has completed in that the data has been written to the memory, the read operation initiated locally by the receiving adapter and reading only a portion of the data that has been written by the write operation to determine the write operation has completed, and wherein the read operation is absent a comparing of the written data and the read data; and based on determining via the read operation that the write operation has completed, sending an acknowledgment to the sending adapter. - View Dependent Claims (11, 12, 13, 14, 15)
-
16. A method of facilitating processing in a computing environment, said method comprising:
-
receiving at a receiving adapter of the computing environment from a sending adapter of the computing environment a write operation to be performed by the receiving adapter; performing the write operation by the receiving adapter to write data to memory of the computing environment; determining by the receiving adapter whether the write operation has completed, wherein the determining comprises performing by the receiving adapter a read operation to confirm the write operation has completed in that the data has been written to the memory, the read operation initiated locally by the receiving adapter and reading only a portion of the data that has been written by the write operation to determine the write operation has completed, and wherein the read operation is absent a comparing of the written data and the read data; and based on determining via the read operation that the write operation has completed, sending an acknowledgment to the sending adapter. - View Dependent Claims (17, 18)
-
-
19. A computer program product for facilitating processing in a computing environment, the computer program product comprising a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method, the method comprising:
-
receiving at a receiving adapter of the computing environment from a sending adapter of the computing environment a first operation to be performed by the receiving adapter, the first operation being associated with a first acknowledgment type; performing the first operation by the receiving adapter; based on the first acknowledgment type indicating non-delayed acknowledgment, sending a receipt acknowledgment to the sending adapter indicating receipt of the first operation, the receipt acknowledgment not indicating completion of the first operation; receiving at the receiving adapter from the sending adapter a second operation to be performed by the receiving adapter, the second operation being associated with a second acknowledgment type; performing the second operation by the receiving adapter, the second operation being a write operation to write data to memory of the computing environment, the computing environment having ordering rules that permit a read operation to complete only based on pending write operations to memory having completed; based on the second acknowledgment type indicating delayed acknowledgment, determining by the receiving adapter whether the second operation has completed in that the data is written to memory, wherein the determining comprises performing by the receiving adapter a read operation to confirm the second operation has completed, the read operation initiated locally by the receiving adapter and completing, based on the ordering rules, only if the write operation has completed; and based on determining via completion of the read operation that the second operation has completed, sending a completion acknowledgment to the sending adapter.
-
Specification