Complex Remote Update Programming Idiom Accelerator
First Claim
1. A method, in a data processing system, for performing a remote update, the method comprising:
- detecting, by a remote update programming idiom accelerator of the data processing system, a complex remote update programming idiom in an instruction sequence of a thread running on a processing unit, wherein the complex remote update programming idiom includes a read operation for reading data from a storage location at a remote node, a sequence of instructions for performing an update operation on the data to form result data, and a write operation for writing the result data to the storage location at the remote node;
determining, by the remote update programming idiom accelerator, whether the sequence of instructions is longer than an instruction size threshold; and
responsive to a determination that the sequence of instructions is not longer than the instruction size threshold, transmitting the complex remote update programming idiom from the remote update programming idiom accelerator to the remote node to perform the update operation on the data at the remote node.
2 Assignments
0 Petitions
Accused Products
Abstract
A remote update programming idiom accelerator is configured to detect a complex remote update programming idiom in an instruction sequence of a thread. The complex remote update programming idiom includes a read operation for reading data from a storage location at a remote node, a sequence of instructions for performing an update operation on the data to form result data, and a write operation for writing the result data to the storage location at the remote node. The remote update programming idiom accelerator is configured to determine whether the sequence of instructions is longer than an instruction size threshold and responsive to a determination that the sequence of instructions is not longer than the instruction size threshold, transmit the complex remote update programming idiom to the remote node to perform the update operation on the data at the remote node.
-
Citations
18 Claims
-
1. A method, in a data processing system, for performing a remote update, the method comprising:
-
detecting, by a remote update programming idiom accelerator of the data processing system, a complex remote update programming idiom in an instruction sequence of a thread running on a processing unit, wherein the complex remote update programming idiom includes a read operation for reading data from a storage location at a remote node, a sequence of instructions for performing an update operation on the data to form result data, and a write operation for writing the result data to the storage location at the remote node; determining, by the remote update programming idiom accelerator, whether the sequence of instructions is longer than an instruction size threshold; and responsive to a determination that the sequence of instructions is not longer than the instruction size threshold, transmitting the complex remote update programming idiom from the remote update programming idiom accelerator to the remote node to perform the update operation on the data at the remote node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10)
-
-
9. A method, in a data processing system, for performing a remote update, the method comprising:
-
determining an instruction size threshold value for the data processing system; sending the instruction size threshold value for the data processing system to each remote node connected to the data processing system within a heartbeat message; receiving, at a remote update programming idiom accelerator within the data processing system, a complex remote update programming idiom from a remote node, wherein the complex remote update programming idiom includes a read operation for reading data from a storage location local to the data processing system, at least one update operation for performing an operation on the data to form result data, and a write operation for writing the result data to the storage location local to the data processing system, wherein the sequence of instructions is not longer than the instruction size threshold value; reading, by the remote update programming idiom accelerator, the data from the storage location local to the data processing system; executing, by the remote update programming idiom accelerator, the sequence of instructions to perform the update operation on the data to form the result data; writing, by the remote update programming idiom accelerator, the result data to the storage location local to the data processing system; and returning a completion notification from the remote update programming idiom accelerator to the remote node informing the remote node that processing of the complex remote update programming idiom has been completed on the data processing system.
-
-
11. A data processing system, comprising:
-
at least one processing unit executing a thread; and a remote update programming idiom accelerator, wherein the remote update programming idiom accelerator is configured to detect a complex remote update programming idiom in an instruction sequence of the thread, wherein the complex remote update programming idiom includes a read operation for reading data from a storage location at a remote node, a sequence of instructions for performing an update operation on the data to form result data, and a write operation for writing the result data to the storage location at the remote node; wherein the remote update programming idiom accelerator is configured to determine whether the sequence of instructions is longer than an instruction size threshold and responsive to a determination that the sequence of instructions is not longer than the instruction size threshold, transmit the complex remote update programming idiom to the remote node to perform the update operation on the data at the remote node. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification