An O(log/sup 2/ N) parallel algorithm for output queuing

Output queued switches are appealing because they have better latency and throughput than input queued switches. However, they are difficult to build: a direct implementation of an N/spl times/N output-queued switch requires the switching fabric and the packet memories at the outputs to run at N times the line rate. Attempts have been made to implement output queuing with slow components, e.g., by having memories at both inputs and outputs running at twice the line rate. In these approaches, even though the packet memory speed is reduced, the scheduler time complexity is high - at least /spl Omega/(N). We show that idealized output queuing can be simulated in a shared memory architecture with (3N-2) packet memories running at the line rate, using a scheduling algorithm whose time complexity is O(log/sup 2/ N) on a parallel random access machine (PRAM). The number of processing elements and memory cells used by the PRAM are a small multiple of the size of the idealized switch.

[1]  Nimrod Megiddo,et al.  A sublinear parallel algorithm for stable matching , 1994, SODA '94.

[2]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[3]  Reinhard Diestel,et al.  Graph Theory , 1997 .

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

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

[6]  Nick McKeown,et al.  Analysis of a packet switch with memories running slower than the line-rate , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

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

[8]  John H. Reif,et al.  Synthesis of Parallel Algorithms , 1993 .

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