OFFLOADING OPERATIONS FOR MAINTAINING DATA COHERENCE ACROSS A PLURALITY OF NODES
First Claim
1. A method for offloading, from a set of one or more primary processing units, one or more data coherence operations in a cluster that maintains application level data coherence across nodes in the cluster, the method comprising:
- utilizing a data coherence offload engine of a first node in the cluster to perform the one or more data coherence operations to reduce workload on the set of primary processing units responsive to a request from the primary processing units at the first node; and
communicating one or more result of the one or more data coherence operations performed by the data coherence offload engine to the first of the primary processing units,wherein the data coherence offload engine is distinct from the set of primary processing units.
1 Assignment
0 Petitions
Accused Products
Abstract
Offloading data coherence operations from a primary processing unit(s) executing instantiated code responsible for data coherence in a shared-cache cluster to a data coherence offload engine reduces resource consumption and allows for efficient sharing of data in accordance with the data coherence protocol. Some of the data coherence operations, such as consulting and maintaining a directory, generating messages, and writing a data unit can be performed by a data coherence offload engine. The data coherence offload engine indicates availability of the data unit in the memory to the appropriate instantiated code. Hence, the instantiated code (the corresponding primary processing unit) is no longer burdened with some of the work load of data coherence operations. Migration of tasks from a primary processing unit(s) to data coherence offload engines allows for efficient retrieval and writing of a requested data unit.
-
Citations
19 Claims
-
1. A method for offloading, from a set of one or more primary processing units, one or more data coherence operations in a cluster that maintains application level data coherence across nodes in the cluster, the method comprising:
-
utilizing a data coherence offload engine of a first node in the cluster to perform the one or more data coherence operations to reduce workload on the set of primary processing units responsive to a request from the primary processing units at the first node; and communicating one or more result of the one or more data coherence operations performed by the data coherence offload engine to the first of the primary processing units, wherein the data coherence offload engine is distinct from the set of primary processing units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 14, 15)
-
-
8. A node in a shared-cache cluster comprising:
-
one or more primary processing units operable to instantiate code that performs one or more operations to maintain application level data coherence in the shared-cache cluster; a memory; an interconnect adapter operable to communicatively couple the node to the shared-cache cluster and having a plurality of receive and transmit buffers and header buffers; and a data coherence offload engine coupled with the interconnect adapter, the memory, and at least one of the one or more primary processing units, the data coherence offload engine operable to perform at least one of the one or more operations to maintain data coherence and operable to defer to the one or more primary processing units for complex operations. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
16. An apparatus comprising:
-
means for performing one or more data coherence operations that correspond to a data unit request in accordance with an application level data coherence protocol of a shared-cache cluster, wherein a primary processing unit initiates the data unit request; and means for writing a requested data unit into a memory; means for indicating to the primary processing unit availability of a requested data unit in the memory. - View Dependent Claims (17, 18, 19)
-
Specification