Methods and apparatus for maintaining remote cluster state information
First Claim
1. A computer system, comprising:
- a home cluster including a first plurality of processors and a home cache coherence controller associated with a coherence directory, the coherence directory having state information corresponding to home cluster memory lines cached remotely;
a remote cluster including a second plurality of processors and a remote cache coherence controller, the remote cache coherence controller configured to receive a non-change probe associated with a memory line from the home cluster and probe remote cluster nodes to obtain cache state information for the memory line, wherein the non-change probe is initiated by the home cluster cache coherence controller.
11 Assignments
0 Petitions
Accused Products
Abstract
According to the present invention, methods and apparatus are provided for increasing the efficiency of data access in a multiple processor, multiple cluster system. Mechanisms for improving the accuracy of information available to a cache coherence controller are provided in order to allow the cache coherence controller to reduce the number of transactions in a multiple cluster system. Non-change probes and augmented non-change probe responses are provided to acquire state information in remote clusters without affecting the state of the probed memory line. Augmented probe responses associated with shared and invalidating probes are provided to update state information in a coherence directory during read and read/write probe requests.
84 Citations
85 Claims
-
1. A computer system, comprising:
-
a home cluster including a first plurality of processors and a home cache coherence controller associated with a coherence directory, the coherence directory having state information corresponding to home cluster memory lines cached remotely; a remote cluster including a second plurality of processors and a remote cache coherence controller, the remote cache coherence controller configured to receive a non-change probe associated with a memory line from the home cluster and probe remote cluster nodes to obtain cache state information for the memory line, wherein the non-change probe is initiated by the home cluster cache coherence controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for probing nodes, the method comprising:
-
generating a non-change probe associated with a memory line at a home cluster having a coherence directory; forwarding the non-change probe to a remote cluster, wherein the remote cluster is configured to receive the non-change probe and probe remote cluster nodes to obtain cache state information associated with the memory line, wherein the non-change probe is initiated by a home cluster cache coherence controller. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A coherence controller, comprising:
-
means for generating a non-change probe associated with a memory line at a home cluster; means for forwarding the non-change probe to a remote cluster, wherein the remote cluster is configured to receive the non-change probe and probe remote cluster nodes to obtain cache state information associated with the memory line, wherein the non-change probe is initiated periodically to update the coherence directory. - View Dependent Claims (30, 31, 32, 33, 34, 35)
-
-
36. A computer system, comprising:
-
a home cluster including a first plurality of processors and a home cache coherence controller associated with a coherence directory, the coherence directory having state information corresponding to home cluster memory lines cached remotely, wherein the home cache coherence controller receives a probe associated with a memory line from a home cluster processor; a remote cluster including a second plurality of processors and a remote cache coherence controller, the remote cache coherence controller configured to receive a probe from the home cluster cache coherence controller and probe remote cluster nodes to obtain an augmented probe response for the memory line, wherein cache state information includes a shared/exclusive indicator. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
-
52. A method for probing cache lines, the method comprising:
-
receiving a probe request associated with a memory line from a local processor; forwarding a probe associated with the probe request to a remote cluster of processors, wherein the remote cluster is configured to provide an augmented probe response, the augmented probe response having cache state information and probe response information for the memory line, wherein cache state information includes a shared/exclusive indicator. - View Dependent Claims (53, 54, 55, 56, 57, 58)
-
-
59. A controller, the controller comprising:
-
means for receiving a probe request associated with a memory line from a local processor; means for forwarding a probe associated with the probe request to a remote cluster of processors, wherein the remote cluster is configured to provide an augmented probe response, the augmented probe response having cache state information and probe response information for the memory line, wherein cache state information includes a shared/exclusive indicator.
-
-
60. A computer system, comprising:
-
a request cluster including a first plurality of processors and a request cache coherence controller, wherein the request cache coherence controller is configured to receive a request associated with a memory line from a request cluster processor and forward the request; a home cluster including a second plurality of processors and a home cache coherence controller associated with a coherence directory, the coherence directory having state information corresponding to home cluster memory lines cached remotely, wherein the home cache coherence controller receives the forwarded request from the request cluster; a remote cluster including a third plurality of processors and a remote cache coherence controller, the remote cache coherence controller configured to receive a probe associated with the memory line from the home cluster cache coherence controller and probe remote cluster nodes to obtain an augmented probe response for the memory line having cache state information and probe response information for the memory line, wherein cache state information includes a shared/exclusive indicator. - View Dependent Claims (61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84)
-
-
77. A method for probing cache lines, the method comprising:
-
receiving a probe request associated with a memory line from a request cluster of processors; accessing a coherence directory to identify a remote cluster for probing; forwarding a probe associated with the probe request to the remote cluster of processors, wherein the remote cluster is configured to provide an augmented probe response, having cache state information and probe response information for the memory line, wherein cache state information includes a shared/exclusive indicator.
-
-
85. A cache coherence controller, comprising:
-
means for receiving a probe request associated with a memory line from a request cluster of processors; means for accessing a coherence directory to identify a remote cluster for probing; means for forwarding a probe associated with the probe request to the remote cluster of processors, wherein the remote cluster is configured to provide an augmented probe response, having cache state information and probe response information for the memory line, wherein cache state information includes a shared/exclusive indicator.
-
Specification