Power-aware line intervention for a multiprocessor snoop coherency protocol
First Claim
1. A method for intervening a shared cache line in a multiprocessor data processing system, comprising:
- generating a request from a master processor for a first cache line during operation of said multiprocessor data processing system;
assembling at the master processor a plurality of partial responses from each of a plurality of memory sources which store a copy of the requested first cache line;
collecting a temperature or power dissipation value for each of the plurality of memory sources;
selecting a first memory source from the plurality of memory sources to intervene the requested first cache line, where the first memory source is selected at least in part based on having an acceptable temperature or power dissipation value; and
broadcasting from the master processor a selection message to instruct the first memory source to intervene the requested first cache line to the master processor.
1 Assignment
0 Petitions
Accused Products
Abstract
A snoop coherency method, system and program are provided for intervening a requested cache line from a plurality of candidate memory sources in a multiprocessor system on the basis of the sensed temperature or power dissipation value at each memory source. By providing temperature or power dissipation sensors in each of the candidate memory sources (e.g., at cores, cache memories, memory controller, etc.) that share a requested cache line, control logic may be used to determine which memory source should source the cache line by using the power sensor signals to signal only the memory source with acceptable power dissipation to provide the cache line to the requester.
-
Citations
20 Claims
-
1. A method for intervening a shared cache line in a multiprocessor data processing system, comprising:
-
generating a request from a master processor for a first cache line during operation of said multiprocessor data processing system; assembling at the master processor a plurality of partial responses from each of a plurality of memory sources which store a copy of the requested first cache line; collecting a temperature or power dissipation value for each of the plurality of memory sources; selecting a first memory source from the plurality of memory sources to intervene the requested first cache line, where the first memory source is selected at least in part based on having an acceptable temperature or power dissipation value; and broadcasting from the master processor a selection message to instruct the first memory source to intervene the requested first cache line to the master processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-usable medium embodying computer program code, the computer program code comprising computer executable instructions configured for intervening a shared cache line in a multiprocessor data processing system by:
-
generating a request from a master processor for a first cache line during operation of said multiprocessor data processing system; assembling at the master processor a plurality of partial responses from each of a plurality of memory sources which store a copy of the requested first cache line; collecting a temperature or power dissipation value for each of the plurality of memory sources; selecting a first memory source from the plurality of memory sources to intervene the requested first cache line, where the first memory source is selected at least in part based on having an acceptable temperature or power dissipation value; and broadcasting from the master processor a selection message to instruct the first memory source to intervene the requested first cache line to the master processor. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A multiprocessor data processing system comprising:
-
a plurality of processors, each comprising one or more cache memories; a data bus coupled to the plurality of processors; a computer-usable medium embodying computer program code, the computer-usable medium being coupled to the data bus, the computer program code comprising instructions for intervening a shared cache line in a multiprocessor data processing system by; generating a request from a master processor for a first cache line during operation of said multiprocessor data processing system; assembling at the master processor a plurality of partial responses from each of a plurality of cache memories which store a copy of the requested first cache line; collecting a temperature or power dissipation value for each of the plurality of cache memories; selecting a first cache memory from the plurality of cache memories to intervene the requested first cache line, where the first cache memory is selected at least in part based on having an acceptable temperature or power dissipation value; and broadcasting from the master processor a selection message to instruct the first cache memory to intervene the requested first cache line to the master processor. - View Dependent Claims (18, 19, 20)
-
Specification