System and method of increasing bandwidth for issuing ordered transactions into a distributed communication system
First Claim
1. A computer system comprising a plurality of nodes and a communication fabric coupling the plurality of nodes, wherein a first node of the plurality of nodes is configured to issue a first request into the communication fabric, and wherein the first request targets a second node of the plurality of nodes, and wherein the second node is configured to issue a first response corresponding to the first request in response to receiving the first request and ordering the first request for processing, and wherein the second node is configured to issue the first response prior to reaching a memory commit point for the first request, and wherein the first node, in response to receive the first response, is configured to issue a second request into the communication fabric, wherein the second request is defined to be ordered after the first request.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system of expediting issuance of a second request of a pair of ordered requests into a distributed coherent communication fabric. The first request of the ordered pair is issued into the coherent communication fabric and directed to a first target. Issuance of the second request into the coherent communication fabric is stalled until the first target receives and orders the first request and transmits a response acknowledging the same.
60 Citations
17 Claims
- 1. A computer system comprising a plurality of nodes and a communication fabric coupling the plurality of nodes, wherein a first node of the plurality of nodes is configured to issue a first request into the communication fabric, and wherein the first request targets a second node of the plurality of nodes, and wherein the second node is configured to issue a first response corresponding to the first request in response to receiving the first request and ordering the first request for processing, and wherein the second node is configured to issue the first response prior to reaching a memory commit point for the first request, and wherein the first node, in response to receive the first response, is configured to issue a second request into the communication fabric, wherein the second request is defined to be ordered after the first request.
-
7. In a computer system comprising a plurality of nodes coupled via a communication fabric, a method comprising:
-
issuing a first request into the communication fabric by a first node of the plurality of nodes, wherein the first request targets a second node of the plurality of nodes;
receiving, in the first node, a first response corresponding to the first request, the first response issued by the second node in response to receiving the first request and ordering the first request for processing, and the first response issued by the second node prior to reaching a memory commit point for the first request; and
in response to receiving the first response, the first node issuing a second request into the communication fabric, wherein the second request is defined to be ordered after the first request. - View Dependent Claims (8, 9, 10, 11, 12)
receiving a second response corresponding to the first request in the first node, the second response issued by the second node in response to reaching the memory commit point for the first request; and
the first node delaying completion of the second request until the second response corresponding to the first request is received.
-
-
9. The method as recited in claim 8 wherein completion of the second request comprises the first node transmitting a done response to a third node of the plurality of odes, the third node targetted by the second request.
-
10. The method as recited in claim 8 wherein completion of the second request comprises the first node supplying data corresponding to the second request to a source of the second request.
-
11. The method as recited in claim 7 further comprising:
-
the second node issuing a plurality of probes into the communication fabric for the first request;
each other one of the plurality of nodes receiving one of the plurality of probes; and
each other one of the plurality of nodes generating a probe response to acknowledge processing the one of the plurality of probes, wherein the memory commit point is reached in response to the second node receiving the probe response from each other one of the plurality of nodes.
-
-
12. The method as recited in claim 7 wherein the first node comprises a host bridge configured to communicate with one or more I/O nodes, the method further comprising the host bridge deriving the first request and the second request from requests received by the host bridge from the I/O nodes.
- 13. A node comprising a host bridge, wherein the host bridge is configured to issue a first request into a communication fabric coupling the node and a plurality of other nodes, wherein the first request targets one of the plurality of other nodes, and wherein the host bridge is configured to issue a second request into the communication fabric responsive to receiving a first response corresponding to the first request, the one of the plurality of other nodes issuing the first response in response to receiving the first request and ordering the first request for processing, and the one of the plurality of other nodes issuing the first response prior to reaching a memory commit point for the first request, and wherein the host bridge, in response to receive the first response, is configured to issue a second request into the communication fabric, wherein the second request is defined to be ordered after the first request.
Specification