Weighted fair share scheduler for large input-buffered high-speed cross-point packet/cell switches
First Claim
1. A high-speed input buffered packet switch, comprising:
- a switching fabric which connects input ports to output ports;
for each input port, an input pointer which references an output port;
for each output port, an output pointer which references an input port;
an arbiter, comprising;
an input credit allocator which resets input credits associated with input/output pairs and which updates the input pointers, an output credit allocator which resets output credits associated with input/output pairs and which updates the output pointers, and a matcher which matches inputs to outputs based on pending requests and available input and output credits; and
a scheduler which schedules transmissions through the switching fabric according to the arbiter'"'"'s matches.
9 Assignments
0 Petitions
Accused Products
Abstract
A switching fabric connects input ports to output ports. Each input has an input pointer referencing an output port, and each output has an output pointer referencing an input port. An arbiter includes input and output credit allocators, and an arbitration module (matcher). The input credit allocator resets input credits associated with input/output pairs and updates the input pointers. Similarly, the output credit allocator resets output credits associated with input/output pairs and updates the output pointers. The matcher matches inputs to outputs based on pending requests and available input and output credits. A scheduler schedules transmissions through the cross-bar switch according to the arbiter'"'"'s matches.
61 Citations
70 Claims
-
1. A high-speed input buffered packet switch, comprising:
-
a switching fabric which connects input ports to output ports;
for each input port, an input pointer which references an output port;
for each output port, an output pointer which references an input port;
an arbiter, comprising;
an input credit allocator which resets input credits associated with input/output pairs and which updates the input pointers, an output credit allocator which resets output credits associated with input/output pairs and which updates the output pointers, and a matcher which matches inputs to outputs based on pending requests and available input and output credits; and
a scheduler which schedules transmissions through the switching fabric according to the arbiter'"'"'s matches. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for high-speed input buffered packet switching, comprising:
-
providing a switching fabric for connecting input ports to output ports;
for each input port, maintaining an input pointer which references an output port;
for each output port, maintaining an output pointer which references an input port;
in an arbiter, resetting input credits and output credits associated with input/output pairs, updating the input pointers and output pointers, matching inputs to outputs based on pending requests and available input and output credits; and
in a scheduler, scheduling transmissions through the cross-bar switch according to the matching. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A method for high-speed input buffered packet switching, comprising:
-
for each input port;
associating a pointer with said port, the pointer referencing an output port, and associating, with said port, plural credit counters corresponding to different output ports;
for each output port;
associating a pointer with said port, the pointer referencing an input port, and associating, with said port, plural credit counters corresponding to different input ports; and
during each time slot;
for each input port not carrying traffic, if the associated credit counter corresponding to the output port referenced by the pointer associated with the input port has zero credits, reloading said credit counter with a specified weight and advancing the pointer, for each output port not carrying traffic, if the associated credit counter corresponding to the input port referenced by the pointer associated with the output port has zero credits, reloading said credit counter with a specified weight and advancing the pointer, selecting input-output paths for connection based on pending requests and credit counter values, for each selected input-output path, decrementing appropriate input port and output port credit counters. - View Dependent Claims (59)
-
-
60. A high-speed input buffered packet switch, comprising:
-
a switching fabric for connecting input ports to output ports;
an arbiter which allocates input credits and output credits to input/output pairs, updates pointers associated with each input and output, and performs arbitration; and
a connection manager which monitors ongoing packet transmissions through the switch, and which performs credit decrements for each input and output involved in an ongoing transmission, the arbiter and connection manager being executed at each of plural time slots. - View Dependent Claims (61, 62)
-
-
63. A high-speed input buffered packet switch, comprising:
-
a switching fabric which connects input ports to output ports;
a processing module associated with each input port and a processing module associated with each output port, each processing module executing independently of the other processing modules, each output processing module maintaining an output credit count for each input port and, responsive to requests from the input ports and the output credit counts, preselecting one of the requesting input ports according to a fairness algorithm, each input processing module maintaining an input credit count for each output port and, responsive to the preselections and the input credit counts, binding the input port to one of its preselecting output ports according to a fairness algorithm; and
a scheduler which schedules transmissions through the switching fabric according to the bindings. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70)
-
Specification