Flexible Control of Parallelism in a Multiprocessor PC Router

SMP Click is a software router that provides both flexibility and high performance on stock multiprocessor PC hardware. It achieves high performance using device, buffer, and queue management techniques optimized for multiprocessor routing. It allows vendors or network administrators to configure the router in a way that indicates parallelizable packet processing tasks, and adaptively load-balances those tasks across the available CPUs. SMP Click’s absolute performance is high: it can forward 494,000 64-byte IP packets per second on a 2-CPU 500 MHz Intel Xeon machine, compared to 302,000 packets per second for uniprocessor Click. SMP Click also scales well for CPU intensive tasks: 4-CPU SMP Click can encrypt and forward 87,000 64-byte packets per second using IPSec 3DES, compared to 23,000 packets per second for uniprocessor Click.

[1]  Larry Peterson,et al.  Evaluating Network Processors in IP Forwarding , 2000 .

[2]  Erich M. Nahum,et al.  Performance issues in parallelized network protocols , 1994, OSDI '94.

[3]  EDDIE KOHLER,et al.  The click modular router , 2000, TOCS.

[4]  Mats Björkman,et al.  Locking effects in multiprocessor implementations of protocols , 1993, SIGCOMM 1993.

[5]  Trevor Blackwell Speeding up protocols for small messages , 1996, SIGCOMM 1996.

[6]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[7]  Peter Druschel,et al.  Experiences with a high-speed network adaptor: a software perspective , 1994, SIGCOMM 1994.

[8]  Paul Francis,et al.  The IP Network Address Translator (NAT) , 1994, RFC.

[9]  Douglas C. Schmidt,et al.  Measuring the performance of parallel message-based process architectures , 1995, Proceedings of INFOCOM'95.

[10]  Mats Björkman,et al.  Locking Effects in Multiprocessor Implementations of Protocols , 1993, SIGCOMM.

[11]  Randall J. Atkinson,et al.  Security Architecture for the Internet Protocol , 1995, RFC.

[12]  Keith Bostic,et al.  The design and implementa-tion of the 4.4BSD operating system , 1996 .

[13]  Hugo Krawczyk,et al.  A Security Architecture for the Internet Protocol , 1999, IBM Syst. J..

[14]  Stephen T. Kent,et al.  Security Architecture for the Internet Protocol , 1998, RFC.

[15]  Fred Baker,et al.  Requirements for IP Version 4 Routers , 1995, RFC.

[16]  K. K. Ramakrishnan,et al.  Eliminating receive livelock in an interrupt-driven kernel , 1996, TOCS.

[17]  Russ White,et al.  Inside Cisco IOS Software Architecture , 2000 .

[18]  Thomas E. Anderson,et al.  The performance implications of thread management alternatives for shared-memory multiprocessors , 1989, SIGMETRICS '89.

[19]  David L. Black,et al.  Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers , 1998, RFC.

[20]  Erich M. Nahum,et al.  Cache behavior of network protocols , 1997, SIGMETRICS '97.

[21]  Erich M. Nahum,et al.  Parallelized network security protocols , 1996, Proceedings of Internet Society Symposium on Network and Distributed Systems Security.

[22]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[23]  Henry M. Levy,et al.  The Performance Implications of Thread Management Alternatives for Shared-Memory Multiprocessors , 1989, IEEE Trans. Computers.

[24]  Eddie Kohler,et al.  Modular components for network address translation , 2002, 2002 IEEE Open Architectures and Network Programming Proceedings. OPENARCH 2002 (Cat. No.02EX571).