Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems
First Claim
1. An interconnection controller, comprising:
- an intra-cluster interface configured for coupling with intra-cluster links to a plurality of local nodes arranged in a point-to-point architecture in a local cluster, the local nodes including local processors;
an inter-cluster interface configured for coupling with an inter-cluster link to a non-local interconnection controller in a non-local cluster;
encapsulation logic configured to receive intra-cluster packets from the local nodes via the intra-cluster links and to encapsulate the intra-cluster packets as inter-cluster packets for transmission on the inter-cluster link; and
a module comprising a remote transmission buffer, the module configured to;
receive inter-cluster packets from the encapsulation logic;
store inter-cluster packets in the remote transmission buffer;
forward inter-cluster packets for transmission on the inter-cluster link;
determine when the remote transmission buffer is empty;
generate a special packet for transmission on the inter-cluster link when the buffer is empty; and
forward the special packet for transmission on the inter-cluster link without storing the special packet in the remote transmission buffer.
11 Assignments
0 Petitions
Accused Products
Abstract
Improved techniques are provided for reducing latency in inter-cluster communications within computer systems having a plurality of multi-processor clusters. The local nodes of each cluster include a plurality of processors and an interconnection controller. Intra-cluster links are formed between the local nodes, including the interconnection controller, within a cluster. Inter-cluster links are formed between interconnection controllers of different clusters. Intra-cluster packets may be encapsulated as inter-cluster packets and stored in a transmission buffer pending transmission on an inter-cluster link. When the transmission buffer is empty, a control character is transmitted on an inter-cluster link. The control character is not stored in the transmission buffer or in a reception buffer, but instead is dropped. Clock data may be embedded in symbols sent on each bit lane of the inter-cluster links, including the symbol(s) of the control character.
115 Citations
30 Claims
-
1. An interconnection controller, comprising:
-
an intra-cluster interface configured for coupling with intra-cluster links to a plurality of local nodes arranged in a point-to-point architecture in a local cluster, the local nodes including local processors;
an inter-cluster interface configured for coupling with an inter-cluster link to a non-local interconnection controller in a non-local cluster;
encapsulation logic configured to receive intra-cluster packets from the local nodes via the intra-cluster links and to encapsulate the intra-cluster packets as inter-cluster packets for transmission on the inter-cluster link; and
a module comprising a remote transmission buffer, the module configured to;
receive inter-cluster packets from the encapsulation logic;
store inter-cluster packets in the remote transmission buffer;
forward inter-cluster packets for transmission on the inter-cluster link;
determine when the remote transmission buffer is empty;
generate a special packet for transmission on the inter-cluster link when the buffer is empty; and
forward the special packet for transmission on the inter-cluster link without storing the special packet in the remote transmission buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system, comprising:
a first cluster including a first plurality of processors and a first interconnection controller, the first plurality of processors and the first interconnection controller interconnected by first point-to-point intra-cluster links, the first interconnection controller comprising;
encapsulation logic configured to receive intra-cluster packets from the first plurality of processors via the first point-to-point intra-cluster links and to encapsulate the intra-cluster packets as high-speed link packets for transmission on an inter-cluster link; and
a first module comprising a transmission buffer, the first module configured to;
receive high-speed link packets from the encapsulation logic;
store high-speed link packets in a transmission buffer;
forward high-speed link packets for transmission on the inter-cluster link;
determine an empty condition indicating that the transmission buffer is empty;
generate a special packet responsive to the empty condition; and
forward the special packet to the inter-cluster link without storing the special packet in the transmission buffer. - View Dependent Claims (20, 21)
- 22. A computer system comprising a plurality of processor clusters interconnected by a plurality of point-to-point inter-cluster links, each processor cluster comprising nodes including a plurality of local processors and an interconnection controller interconnected by a plurality of point-to-point intra-cluster links, communications within a cluster being made via an intra-cluster protocol that uses intra-cluster packets, wherein the interconnection controller in each cluster is operable to map locally-generated communications directed to others of the clusters to the point-to-point inter-cluster links and to map remotely-generated communications directed to the local nodes to the point-to-point intra-cluster links, communications between clusters being made via an inter-cluster protocol that uses inter-cluster packets, an inter-cluster packet encapsulating at least one intra-cluster packet, each interconnection controller configured to generate and transmit a special packet on an inter-cluster link when the interconnection controller has no valid inter-cluster packets to send, the special packet not being stored in a transmission buffer prior to being transmitted on the inter-cluster link.
-
28. A computer-implemented method for decreasing latency in a computer system comprising a plurality of clusters, each cluster including a plurality of local nodes and an interconnection controller interconnected by point-to-point intra-cluster links, communications between the local nodes and the interconnection controller made via an intra-cluster protocol using intra-cluster packets, the interconnection controller of each cluster interconnected by inter-cluster links with the interconnection controller of other clusters, the computer-implemented method comprising:
-
forming inter-cluster packets by encapsulating intra-cluster packets;
storing the inter-cluster packets in a remote transmission buffer of a first interconnection controller;
transmitting the inter-cluster packets to a second interconnection controller;
storing received inter-cluster packets in a reception buffer of the second interconnection controller;
determining that the remote transmission buffer is empty;
generating a control character in response to a determination that the remote transmission buffer is empty;
transmitting the control character to the second interconnection controller; and
dropping the control character without storing the control character in the reception buffer. - View Dependent Claims (29, 30)
-
Specification