Multiserver scheduling system and method for a fast switching element
First Claim
1. A network element having a switching apparatus for switching information between a plurality of ingress ports and a plurality of egress ports via a cross-connect matrix disposed therebetween, comprising:
- a plurality of ingress servers associated with each of said ingress ports, said ingress servers operating to serve a plurality of virtual output queues (VOQs) supported by a corresponding ingress port;
a plurality of egress servers associated with each of said egress ports, each of said egress servers operating to serve outgoing traffic supported by a corresponding egress port;
at least one ingress arbiter associated with each of said ingress ports and at least one egress arbiter associated with each of said egress ports, said at least one ingress arbiter and egress arbiter for effectuating a particular type of arbitration; and
a scheduler operating to configure said cross-connect matrix for transporting a plurality of transmission units from at least one of said ingress ports to at least one of said egress ports during each time slot associated with said cross-connect matrix, wherein said scheduler effectuates a particular scheduling mechanism based at least in part upon an ingress arbiter architecture, an egress arbiter architecture and a predetermined arbitration iteration strategy.
3 Assignments
0 Petitions
Accused Products
Abstract
A scheduling system and methodology for use in a network switch element having multiserver, multiple-arbiter architecture. Ingress ports and egress ports coupled to the cross-connect fabric of the network element are provided with multiple ingress and egress arbiters, respectively, for effectuating an iterative arbitration strategy such as RGA or RG. Arbiter architectures include singe-arbiter-per-port; single-arbiter-per-server; multiple-arbiters-per-port; and multiple-arbiters-per-server arrangements, wherein the arbiters can be implemented using RRA, BTA, Flexible Ring, or any other arbiter technology. Depending on the iteration strategy, ingress arbiter architecture and egress arbiter architecture, a variety of iterative, multiserver-capable scheduling algorithms can be obtained, which scheduling algorithms can also be implemented in QoS-aware network nodes.
132 Citations
59 Claims
-
1. A network element having a switching apparatus for switching information between a plurality of ingress ports and a plurality of egress ports via a cross-connect matrix disposed therebetween, comprising:
-
a plurality of ingress servers associated with each of said ingress ports, said ingress servers operating to serve a plurality of virtual output queues (VOQs) supported by a corresponding ingress port;
a plurality of egress servers associated with each of said egress ports, each of said egress servers operating to serve outgoing traffic supported by a corresponding egress port;
at least one ingress arbiter associated with each of said ingress ports and at least one egress arbiter associated with each of said egress ports, said at least one ingress arbiter and egress arbiter for effectuating a particular type of arbitration; and
a scheduler operating to configure said cross-connect matrix for transporting a plurality of transmission units from at least one of said ingress ports to at least one of said egress ports during each time slot associated with said cross-connect matrix, wherein said scheduler effectuates a particular scheduling mechanism based at least in part upon an ingress arbiter architecture, an egress arbiter architecture and a predetermined arbitration iteration strategy. - 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, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
25. A scheduling system for use in a network switching element having a cross-connect fabric disposed between a plurality of ingress ports and a plurality of egress ports, each of said ingress ports having a plurality of ingress servers and each of said egress ports having a plurality of egress servers, wherein each ingress port supports a plurality of virtual output queue groups (VOQ groups), each of said VOQ groups having sub-queues therein based on a Quality of Service (QoS) priority level, said scheduling system comprising:
-
a first level (L1) scheduler partition operable to generate requests in accord with an arbitration iteration strategy used in computing matches between said ingress servers and said egress servers, said requests being organized based on said QoS priority level; and
a second level (L2) scheduler partition operating, in response to said requests assembled by said first level scheduler partition, to generate a scheduling matrix at each slot time associated with said cross-connect fabric, said scheduling matrix identifying matches between at least a portion of said ingress servers and a portion of said egress servers.
-
-
41. A scheduling methodology for use in a network switching element having a cross-connect fabric disposed between a plurality of ingress ports and a plurality of egress ports, each of said ingress ports having a plurality of ingress servers and each of said egress ports having a plurality of egress servers, wherein each ingress port supports a plurality of virtual output queues (VOQs), said scheduling methodology comprising the steps:
-
for each matrix cycle associated with said cross-connect fabric, initializing a scheduling matrix and a request matrix, said request matrix for building requests associated with an arbitration iteration strategy used in computing matches between said ingress servers and egress servers;
performing an arbitration iteration to obtain a current match matrix;
updating said request matrix and said scheduling matrix based on said current match matrix;
if all of said plurality of ingress servers associated with a particular ingress port are matched, removing requests, issuing from said particular ingress port, from said request matrix;
if all of said plurality of egress servers associated with a particular egress port are matched, removing requests, directed to said particular egress port, from said request matrix;
resetting said current match matrix and performing next arbitration iteration using said updated request matrix; and
upon encountering a particular stop condition, terminating further iterations and forwarding said updated scheduling matrix to a controller for configuring at least one connection path in said cross-connect fabric based on said updated scheduling matrix so as to effectuate transfer of transmission units between matched ingress and egress servers. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
Specification