Efficient region coherence protocol for clustered shared-memory multiprocessor systems
First Claim
1. A method of controlling region coherence in a clustered shared-memory multiprocessor system, the method comprising:
- generating a request by a processor for a line of data storable in a system memory;
determining, via examination of at least one entry in a plurality of entries of a region coherence array, at least one level of a multi-level interconnect hierarchy which has recently cached at least one line of data of a region of the system memory, such that the region includes the requested line of data, wherein each entry in the region coherence array has one or more of a valid bit, one or more parity bits, a region address tag, and a plurality of line-count bits, and a non-zero bit, and wherein each entry in the region coherence array also has a region coherence state field, the region coherence state field having one region coherence state bit per level of the multi-level interconnect hierarchy; and
updating the at least one entry in the region coherence array associated with the requesting processor responsive to determining the at least one level of the multi-level interconnect hierarchy.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method of a region coherence protocol for use in Region Coherence Arrays (RCAs) deployed in clustered shared-memory multiprocessor systems which optimize cache-to-cache transfers by allowing broadcast memory requests to be provided to only a portion of a clustered shared-memory multiprocessor system. Interconnect hierarchy levels can be devised for logical groups of processors, processors on the same chip, processors on chips aggregated into a multichip module, multichip modules on the same printed circuit board, and for processors on other printed circuit boards or in other cabinets. The present region coherence protocol includes, for example, one bit per level of interconnect hierarchy, such that the one bit has a value of “1” to indicate that there may be processors caching copies of lines from the region at that level of the interconnect hierarchy, and the one bit has a value of “0” to indicate that there are no cached copies of any lines from the region at that respective level of the interconnect hierarchy.
15 Citations
20 Claims
-
1. A method of controlling region coherence in a clustered shared-memory multiprocessor system, the method comprising:
-
generating a request by a processor for a line of data storable in a system memory; determining, via examination of at least one entry in a plurality of entries of a region coherence array, at least one level of a multi-level interconnect hierarchy which has recently cached at least one line of data of a region of the system memory, such that the region includes the requested line of data, wherein each entry in the region coherence array has one or more of a valid bit, one or more parity bits, a region address tag, and a plurality of line-count bits, and a non-zero bit, and wherein each entry in the region coherence array also has a region coherence state field, the region coherence state field having one region coherence state bit per level of the multi-level interconnect hierarchy; and updating the at least one entry in the region coherence array associated with the requesting processor responsive to determining the at least one level of the multi-level interconnect hierarchy. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A region coherence protocol control system, comprising:
-
a clustered shared-memory multiprocessor system, including; a processor included within a multi-level interconnect hierarchy of the multiprocessor system; a region coherence array associated with the processor to provide region coherence status of a region of the system memory, such that the region includes the requested line of data; and a system memory having stored thereon instructions, that when executed by the processor; generate a request for a line of data storable in a system memory; determine via examination of at least one entry in a plurality of entries of the region coherence array at least one level of a multi-level interconnect hierarchy which has recently cached at least one line of data of a region of the system memory, such that the region includes the requested line of data, wherein each entry in the region coherence array has one or more of a valid bit, one or more parity bits, a region address tag, and a plurality of line-count bits, and a non-zero bit, and wherein each entry in the region coherence array also has a region coherence state field, the region coherence state field having one region coherence state bit per level of the multi-level interconnect hierarchy; and update the at least one entry in the region coherence array associated with the requesting processor responsive to determining the at least one level of the multi-level interconnect hierarchy. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer program product, comprising:
-
a tangible computer storage medium; and program code embodied in said tangible computer storage medium that when executed by a computer provides functionality, including; generating a request by a processor for a line of data storable in a system memory; determining via examination of at least one entry in a plurality of entries of a region coherence array at least one level of a multi-level interconnect hierarchy which has recently cached at least one line of data of a region of the system memory, such that the region includes the requested line of data, wherein each entry in the region coherence array has one or more of a valid bit, one or more parity bits, a region address tag, and a plurality of line-count bits, and a non-zero bit, and wherein each entry in the region coherence array also has a region coherence state field, the region coherence state field having one region coherence state bit per level of the multi-level interconnect hierarchy; and updating the at least one entry in the region coherence array associated with the requesting processor responsive to determining the at least one determined level of the multi-level interconnect hierarchy. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification