OLDEST LINK FIRST ARBITRATION BETWEEN LINKS GROUPED AS SINGLE ARBITRATION ELEMENTS
First Claim
1. A computer program product for scheduling a crossbar using distributed request-grant-accept arbitration between input group arbiters and output group arbiters in a switch unit, the computer program product comprising:
- a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising;
computer-readable program code configured to receive, at a group arbiter communicably coupled to a group comprising a plurality of links of the switch unit, an indication that the group has won an arbitration slot, wherein one or more links of the group are candidates able to satisfy the arbitration slot;
computer-readable program code configured to determine a first link identifier having a highest priority within an ordered queue among link identifiers in the ordered queue matching the candidates able to satisfy the arbitration slot;
computer-readable program code configured to select a first link of the group corresponding to the first link identifier to satisfy the arbitration slot; and
computer-readable program code configured to update the ordered queue based on the selected first link, wherein the first link identifier is moved to a bottom of the ordered queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for scheduling a crossbar using distributed request-grant-accept arbitration between input group arbiters and output group arbiters in a switch unit is provided. Each input group arbiter and output group arbiter maintains an ordered queue of links in an input group or an output group. The ordered queue prioritizes links in the output group or output group that was least recently selected. To satisfy an arbitration slot won on the group-level, the input group arbiter or output group arbiter starts a search from the oldest link that was selected and maintains fairness among links in the group.
21 Citations
13 Claims
-
1. A computer program product for scheduling a crossbar using distributed request-grant-accept arbitration between input group arbiters and output group arbiters in a switch unit, the computer program product comprising:
a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising; computer-readable program code configured to receive, at a group arbiter communicably coupled to a group comprising a plurality of links of the switch unit, an indication that the group has won an arbitration slot, wherein one or more links of the group are candidates able to satisfy the arbitration slot; computer-readable program code configured to determine a first link identifier having a highest priority within an ordered queue among link identifiers in the ordered queue matching the candidates able to satisfy the arbitration slot; computer-readable program code configured to select a first link of the group corresponding to the first link identifier to satisfy the arbitration slot; and computer-readable program code configured to update the ordered queue based on the selected first link, wherein the first link identifier is moved to a bottom of the ordered queue. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. An apparatus comprising:
-
a plurality of links organized into groups including a first group; and an arbitration element comprising a plurality of group arbiters including a first group arbiter, wherein the first group arbiter is communicably coupled to the first group, wherein the first group arbiter comprises; a shift register storing a plurality of link identifiers corresponding to the links of the first group, wherein a location of a link identifier within the shift register designates a priority of the corresponding link of the first group; a first plurality of multiplexors connected to the shift register and configured to match the link identifiers contained in the shift register with a bit vector indicating one or more links of the first group are able to satisfy an arbitration slot; a priority encoder connected to the first plurality of multiplexors and configured to determine a first link identifier having a highest priority among link identifiers matching the bit vector, wherein the priority encoder is further configured to select a first link of the first group corresponding to the first link identifier; and a second plurality of multiplexors connected to the shift register and configured to update the shift register based on the selected first link. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
Specification