Multi-processor system with proactive speculative data transfer
AssigneeHewlett-Packard Development Company, L.P.
InventorsGopalakrishnan Janakiraman, Rajendra Kumar
Life of this patent
Estimating the term…
Abstract
A network of memory and coherence controllers is provided which interconnected nodes in a cache-coherent multi-processor system. The nodes contain multiple processors operatively connected via respective caches to associated memory and coherence controllers. The system supports better processor utilization and better application performance by reducing the latency in accessing data by performing proactive speculative data transfers. In being proactive, the system speculates, without specific requests from the processors, as to what data transfers will reduce the latency and will make data transfers according to information derived from the system at any time that data transfers could be made.
Claims37
A multi-processor computer system comprising:
- a plurality of memory units;
- a plurality of memory and coherence controllers operatively connected to the plurality of memory units;
- a plurality of caches operatively connected to the plurality of memory and coherence controllers;
- a plurality of processors operatively connected to the plurality of caches;
- a plurality of nodes, each of the plurality of nodes formed from a group consisting of at least one of the plurality of memory units, memory and coherence controllers, caches, processors, and a combination thereof;
- a communication switch connected to the plurality of nodes;
- a coherence directory connected to each of the plurality of memory and coherence controllers for maintaining coherence information for the memory units in the plurality of nodes connected to the communication switch;
- and
- a proactive speculative mechanism for proactively transferring data between the plurality of caches, the proactive speculative mechanism includes a proactive speculative forwarding mechanism for proactively providing data forwarding between the plurality of caches and a history compiler for proactively providing data forwarding between the plurality of caches based on history information wherein the history compiler for proactively providing data forwarding between the plurality of caches is based on history information regarding previous proactive speculative forwarding.
A multi-processor computer system comprising:
- a plurality of memory units;
- a plurality of memory and coherence controllers operatively connected to the plurality of memory units;
- a plurality of caches operatively connected to the plurality of memory and coherence controllers;
- a plurality of processors operatively connected to the plurality of caches;
- a plurality of nodes, each of the plurality of nodes formed from a group consisting of at least one of the plurality of memory units, memory and coherence controllers, caches, processors, and a combination thereof;
- a communication switch connected to the plurality of nodes;
- a coherence directory connected to each of the plurality of memory and coherence controllers for maintaining coherence information for the memory units in the plurality of nodes connected to the communication switch;
- and
- a proactive speculative mechanism for proactively transferring data blocks between the plurality of caches during an access to a data block whereby data blocks can be transferred without requests from the plurality of processors.
Dependencies are inferred from the claim text.