A Method For Ensuring Coherency With An Asynchronous Multi-node Coherency Protocol, With Intermediate Nodes, Through The Use of Synchronous Messages Within The Asynchronous Protocol
Publication Date: 2012-Dec-04
The IP.com Prior Art Database
The invention is a method for ensuring coherency within an asynchronous multi-node transport (coherency) protocol in a multiprocessor system that comprises intermediate nodes by using synchronous messages within the asynchronous protocol.
Page 01 of 2
A Method For Ensuring Coherency With An Asynchronous Multi -node Coherency Protocol, With Intermediate Nodes, Through The Use of Synchronous Messages Within The Asynchronous Protocol
A typical asynchronous multi-node transport protocol in a multiprocessor system with intermediate nodes utilizes the following sequence of steps (operations) for communicating to a remote node:
A processor initiated request (e.g. a line fetch request) comes into the nest (a shared cache/level of coherency) and encounters a miss.
As a result of the miss, a local resource is loaded to fetch the line either from memory or from a
When fetching the line from a remote node, the local resource requests the use of the remote
interface through priority logic. After being selected to use the interface, the local resource sends a (initial) message to the next (adjacent) node in order to load a resource on the remote node, for
potentially fetching the line back to the requesting node.
Once the request is received on the adjacent node, the adjacent node checks the local directory state and forwards the request to the following node with information about the directory state found on the adjacent node.
The process of directory checking and message forwarding continues until the last node (end
node) in the sequence is encountered. At that point, the sequence reverses itself with a (secondary) message stream being sent back towards the requesting node containing information about all of the directory states of the remote nodes (possibly merged in a combined response). As the combined response is received on each node in the return path, the local resource
processing the operation would use the response to determine what actions to take on the local directory. When applicable, the requested line would be sent back to the requesting node for
processing/update and/or the remote copy would be invalidated before the remote resource resets.
The above-described sequence of steps is common to most multi-node protocols and operates correctly in most situations (in particular with point-to-point communications between nodes), but when applied in the context of a multi-node system configuration with intermediate nodes, the coherency management within the asynchronous protocol begins to encounter problems when stalling conditions occur during the
passing of initial messages from one node to the next.
When a stalling condition occurs, the visibility of the directory states on all of the remote nodes to the request (the message flowing through the system) may become inaccurat...