Initiate flow control mechanism of a modular multiprocessor system
First Claim
1. A method for performing flow control to prevent a shared buffer resource of a switch fabric within a modular multiprocessor system from being saturated with initiator transaction packets, the switch fabric interconnecting a plurality of nodes of the system and configured to transport initiator and responder transaction packets from a global output port of a first node through a hierarchical switch to a global input port of a second node, the method comprising the steps of:
- providing one or more initiate counters at the hierarchical switch;
incrementing the initiate counter each time an initiator transaction packet is received at the shared buffer resource of the switch fabric;
if the initiate counter exceeds a predefined threshold, asserting an initiate flow control signal to each global output port of the multiprocessor system;
in response to assertion of the initiate flow control signal, stopping the global output ports of the multiprocessor system from issuing at least some initiator transaction packets, but permitting the global output ports to continue issuing responder transaction packets.
1 Assignment
0 Petitions
Accused Products
Abstract
An initiate flow control mechanism prevents interconnect resources within a switch fabric of a modular multiprocessor system from being dominated with initiate transactions. The multiprocessor system comprises a plurality of nodes interconnected by a switch fabric that extends from a global input port of a node through a hierarchical switch to a global output port of the same or another node. The interconnect resources include shared buffers within the global ports and hierarchical switch. The initiate flow control mechanism manages these shared buffers to reserve bandwidth for complete transactions when extensive global initiate traffic to one or more nodes of the system may create a bottleneck in the switch fabric.
-
Citations
18 Claims
-
1. A method for performing flow control to prevent a shared buffer resource of a switch fabric within a modular multiprocessor system from being saturated with initiator transaction packets, the switch fabric interconnecting a plurality of nodes of the system and configured to transport initiator and responder transaction packets from a global output port of a first node through a hierarchical switch to a global input port of a second node, the method comprising the steps of:
-
providing one or more initiate counters at the hierarchical switch;
incrementing the initiate counter each time an initiator transaction packet is received at the shared buffer resource of the switch fabric;
if the initiate counter exceeds a predefined threshold, asserting an initiate flow control signal to each global output port of the multiprocessor system;
in response to assertion of the initiate flow control signal, stopping the global output ports of the multiprocessor system from issuing at least some initiator transaction packets, but permitting the global output ports to continue issuing responder transaction packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A switch fabric for interconnecting a plurality of nodes of a modular multi-processor system, the nodes configured to source and receive initiator and responder transaction packets, the switch fabric comprising:
-
a shared buffer resource for storing transaction packets received by a node of the multiprocessor system;
at least one initiate counter that is incremented each time an initiator transaction packet is issued to the shared buffer resource;
an initiate flow control circuit coupled to the at least one initiate counter, the initiate flow control circuit configured to assert an initiate flow control signal whenever the initiate counter exceeds a predefined threshold; and
means, responsive to the assertion of the initiate flow control signal, for stopping the nodes of the multiprocessor system from issuing at least some initiator transaction packets, but permitting the nodes to continue issuing responder transaction packets. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification