Randomized scheduling algorithms for high-aggregate bandwidth switches

The aggregate bandwidth of a switch is its port count multiplied by its operating line rate. We consider switches with high-aggregate bandwidths; for example, a 30-port switch operating at 40 Gb/s or a 1000-port switch operating at 1 Gb/s. Designing high-performance schedulers for such switches with input queues is a challenging problem for the following reasons: (1) high performance requires finding good matchings; (2) good matchings take time to find; and (3) in high-aggregate bandwidth switches there is either too little time (due to high line rates) or there is too much work to do (due to a high port count). We exploit the following features of the switching problem to devise simple-to-implement, high-performance schedulers for high-aggregate bandwidth switches: (1) the state of the switch (carried in the lengths of its queues) changes slowly with time, implying that heavy matchings will likely stay heavy over a period of time and (2) observing arriving packets will convey useful information about the state of the switch. The above features are exploited using hardware parallelism and randomization to yield three scheduling algorithms - APSARA, LAURA, and SERENA. These algorithms are shown to achieve 100% throughput and simulations show that their delay performance is quite close to that of the maximum weight matching, even when the traffic is correlated. We also consider the stability property of these algorithms under generic admissible traffic using the fluid-model technique. The main contribution of this paper is a suite of simple to implement, high-performance scheduling algorithms for input-queued switches. We exploit a novel operation, called MERGE, which combines the edges of two matchings to produce a heavier match, and study of the properties of this operation via simulations and theory. The stability proof of the randomized algorithms we present involves a derandomization procedure and uses methods which may have wider applicability.

[1]  Albert Nijenhuis,et al.  Combinatorial Algorithms for Computers and Calculators , 1978 .

[2]  Jr. Earl Glen Whitehead,et al.  Combinatorial Algorithms for Computers and Calculators; 2nd Edition (Albert Nijenhuis and Herbert S. Wilf) , 1980 .

[3]  R. Durrett Probability: Theory and Examples , 1993 .

[4]  Leandros Tassiulas,et al.  Stability properties of constrained queueing systems and scheduling policies for maximum throughput in multihop radio networks , 1992 .

[5]  Symmetric Crossbar Arbiters for VLSI Communication Switches , 1993, IEEE Trans. Parallel Distributed Syst..

[6]  Thomas E. Anderson,et al.  High-speed switch scheduling for local-area networks , 1993, TOCS.

[7]  Nick McKeown,et al.  A Starvation-free Algorithm For Achieving 100% Throughput in an Input- Queued Switch , 1999 .

[8]  Nick McKeown,et al.  Scheduling algorithms for input-queued cell switches , 1996 .

[9]  Sung-Mo Kang,et al.  A high-performance OC-12/OC-48 queue design prototype for input-buffered ATM switches , 1997, Proceedings of INFOCOM '97.

[10]  Leandros Tassiulas,et al.  Linear complexity algorithms for maximum throughput in radio networks and input queued switches , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[11]  Nick McKeown,et al.  A practical scheduling algorithm to achieve 100% throughput in input-queued switches , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[12]  Srinivasan Keshav,et al.  Issues and trends in router design , 1998, IEEE Commun. Mag..

[13]  Nick McKeown,et al.  On the speedup required for combined input- and output-queued switching , 1999, Autom..

[14]  Anna Charny,et al.  On the speedup required for work-conserving crossbar switches , 1999, IEEE J. Sel. Areas Commun..

[15]  Nick McKeown,et al.  Matching output queueing with a combined input output queued switch , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[16]  Nick McKeown,et al.  The iSLIP scheduling algorithm for input-queued switches , 1999, TNET.

[17]  Marco Ajmone Marsan,et al.  RPA: a flexible scheduling algorithm for input buffered switches , 1999, IEEE Trans. Commun..

[18]  Russ Bubley,et al.  Randomized algorithms , 1995, CSUR.

[19]  Satish Rao,et al.  Scheduling algorithms for input-queued switches: randomized techniques and experimental evaluation , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[20]  Balaji Prabhakar,et al.  The throughput of data switches with and without speedup , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[21]  Nick McKeown,et al.  Making parallel packet switches practical , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[22]  Michael Mitzenmacher,et al.  The Power of Two Choices in Randomized Load Balancing , 2001, IEEE Trans. Parallel Distributed Syst..

[23]  Cheng-Shang Chang,et al.  Load balanced Birkhoff-von Neumann switches , 2001, 2001 IEEE Workshop on High Performance Switching and Routing (IEEE Cat. No.01TH8552).

[24]  Marco Ajmone Marsan,et al.  Bounds on average delays and queue size averages and variances in input-queued cell-based switches , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[25]  An efficient randomized algorithm for input-queued switch scheduling , 2001, HOT 9 Interconnects. Symposium on High Performance Interconnects.

[26]  Konstantinos Psounis,et al.  A randomized Web-cache replacement scheme , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[27]  Paolo Giaccone,et al.  An Implementable Parallel Scheduler for Input-Queued Switches , 2002, IEEE Micro.

[28]  Paolo Giaccone,et al.  Queueing and scheduling algorithms for high performance routers , 2002 .