System and method for creating ordering points
AssigneeHewlett-Packard Development Company, L.P.
InventorsGregory Edward Tierney, St phen R. Van Doren, Simon C. Steely, Jr.
Life of this patent
Estimating the term…
Abstract
A system comprises a first node operative to provide a source broadcast requesting data. The first node associates an F-state with a copy of the data in response to receiving the copy of the data from memory and receiving non-data responses from other nodes in the system. The non-data responses include an indication that at least a second node includes a shared copy of the data. The F-state enabling the first node to serve as an ordering point in the system capable of responding to requests from other nodes in the system with a shared copy of the data.
Claims18
A system comprising:
- a plurality of processor nodes for communication with each other;
- a first node of the plurality of processor nodes to transition to a first state in response to receiving a copy of requested data from a memory and receiving a non-data response from another of the plurality of processor nodes, the non-data response including an indication that the another processor node includes a shared copy of the data,
- the first node when operating in the first state to respond to a non-ownership request from a second node of the plurality of processor nodes for the data by (i) sending a response to the second node that includes a shared copy of the data, and (ii) transitioning from the first state to a second state indicating that the data is shared;
- and
- the second node to transition to a third state in response to receiving the shared copy of the data from the first node, such that the second node becomes an ordering point for providing the shared copy of the data.
A computer system, comprising:
- a plurality of processors comprising:
- a source processor to issue a broadcast request for requested data while in a first state;
- and
- at least one target processor having an associated cache that includes a shared copy of the requested data, the at least one target processor to respond to the broadcast request with a non-data response indicating that the at least one target processor includes the shared copy of the requested data;
- a memory to store the requested data, the memory to respond to the broadcast request with a response that includes a copy of the requested data;
- and
- the source processor to transition from the first state to a second state in response to receiving the response from the memory and the non-data response from the at least one target processor, the second state enabling the source processor to respond to a request from another of the plurality of processors with a copy of the requested data.
A method comprising:
- broadcasting a read request for data from a source node to other nodes of a system;
- transitioning the source node to a first state in response to receiving the data from a memory and receiving a non-data response from a second node in the system indicating that the second node includes a shared copy of the data;
- and
- enabling the source node, while in the first state, to serve as an ordering point for responding to requests for the data from other nodes by providing a shared copy of the data.
A method comprising:
- broadcasting a read request for data from a source node to other nodes of a system;
- transitioning the source node into an F-state in response to receiving the data from a memory and receiving non-data responses from other target nodes in the system indicating that the data is shared with at least one of the other target nodes, wherein the memory comprises a home node for the data requested by the source node;
- enabling the source node, while in the F-state, to serve as an ordering point that is capable of responding to non-ownership requests for the data by providing a shared copy of the data;
- employing a broadcast protocol that defines rules for processing the broadcast read request provided by source node;
- reissuing the read request employing an associated forward progress if the read request broadcast by the source node fails while employing the source broadcast protocol;
- and
- sending an instruction from the source node having the F-state to block the home node from responding with data to a subsequent non-ownership request for the data if the source node provides a response to the subsequent non-ownership request that includes a shared copy of the data.
Dependencies are inferred from the claim text.