A near optimal scheduler for switch-memory-switch routers

We present a simple and near optimal randomized parallel scheduling algorithm for scheduling packets in routers based on the Switch-Memory-Switch (SMS)architecture, which emulates 'output queuing' by using a collection of small memories within the switch to buffer packets, and which forms the basis of the fastest routers in use today. For a router with N inputs and N outputs, our algorithm computes the schedule in O(log* N) rounds, where a round is a communication of a few bits between input ports and memory together with simple local computation at the inputs and memory. Furthermore, by using an O(log* N) deep pipeline at each input, our algorithm computes the schedule in a constant number of rounds. Our pipelined algorithm is quite simple and achieves optimal (i.e.,constant) throughput with a tiny O(log* N) delay.We show that the total amount of buffer memory required by our algorithm is close to the minimum required. We also show that the number of buffer memories is within an εN additive term of 2N -- 1, for any positive constant ù>0 (and is within an additive term of o(N)for the basic scheduler), where 2N -- 1 is the minimum number of memories needed under adversarial placement of packets. Furthermore we show that the number of extra memories that we use over the minimum of N that is required in the offline version, is within a constant factor of the minimum required by any on-line scheduler, even if that scheduler is allowed to fail occasionally.Our scheduling algorithm is randomized and works with high probability in N. We also prove that it has the 'self-stabilizing' property, i.e., it resumes its normal behavior if occasional lapses occur due to the probabilistic nature of the algorithm.

[1]  Nick McKeown,et al.  The Tiny Tera: A Packet Switch Core , 1998, IEEE Micro.

[2]  Sudhakar Yalamanchili,et al.  Interconnection Networks: An Engineering Approach , 2002 .

[3]  José Duato Routing and Communication in Interconnection Networks , 2000, Euro-Par.

[4]  Mark J. Karol,et al.  Queueing in high-performance packet switching , 1988, IEEE J. Sel. Areas Commun..

[5]  Achille Pattavina,et al.  Switching Theory , 1998 .

[6]  Nick McKeown,et al.  Matching output queueing with a combined input/output-queued switch , 1999, IEEE J. Sel. Areas Commun..

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[8]  Noga Alon,et al.  The Probabilistic Method , 2015, Fundamentals of Ramsey Theory.

[9]  Cheng-Shang Chang,et al.  Load balanced Birkhoff-von Neumann switches, part I: one-stage buffering , 2002, Computer Communications.

[10]  S.K. Dhawan,et al.  Introduction to PCI Express-a new high speed serial data bus , 2005, IEEE Nuclear Science Symposium Conference Record, 2005.

[11]  Leslie G. Valiant,et al.  A fast parallel algorithm for routing in permutation networks , 1981, IEEE Transactions on Computers.

[12]  Cheng-Shang Chang,et al.  Load balanced Birkhoff-von Neumann switches, part II: multi-stage buffering , 2002, Comput. Commun..

[13]  Thomas E. Stern,et al.  Multiwavelength Optical Networks: A Layered Approach , 1999 .

[14]  A. E. Eckberg,et al.  Effects of output buffer sharing on buffer requirements in an ATDM packet switching , 1988, IEEE INFOCOM '88,Seventh Annual Joint Conference of the IEEE Computer and Communcations Societies. Networks: Evolution or Revolution?.

[15]  Thomas E. Anderson,et al.  High speed switch scheduling for local area networks , 1992, ASPLOS V.

[16]  Richard M. Wilson,et al.  A course in combinatorics , 1992 .

[17]  Kumar N. Sivarajan,et al.  Optical Networks: A Practical Perspective , 1998 .

[18]  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).

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

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

[21]  Bruce S. Davie,et al.  Computer Networks: A Systems Approach , 1996 .

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

[23]  Uzi Vishkin,et al.  Towards a theory of nearly constant time parallel algorithms , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[24]  William T. Futral InfiniBand Architecture: Development and Deployment--A Strategic Guide to Server I/O Solutions , 2001 .

[25]  Srinivasan Keshav,et al.  An Engineering Approach to Computer Networking: ATM Networks , 1996 .

[26]  Friedhelm Meyer auf der Heide,et al.  Contention Resolution in Hashing Based Shared Memory Simulations , 2000, SIAM J. Comput..