This Article 
 Bibliographic References 
 Add to: 
Shared Memory Multiprocessor Architectures for Software IP Routers
December 2003 (vol. 14 no. 12)
pp. 1240-1249

Abstract—In this paper, we propose new shared memory multiprocessor architectures and evaluate their performance for future Internet Protocol (IP) routers based on Symmetric Multiprocessor (SMP) and Cache Coherent Nonuniform Memory Access (CC-NUMA) paradigms. We also propose a benchmark application suite, RouterBench, which consists of four categories of applications representing key functions on the time-critical path of packet processing in routers. An execution driven simulation environment is created to evaluate SMP and CC-NUMA router architectures using this RouterBench. The execution driven simulation can produce accurate cycle-level execution time prediction and reveal the impact of various architectural parameters on the performance of routers. We port the FUNET trace and its routing table for use in our experiments. We find that the CC-NUMA architecture provides an excellent scalability for design of high-performance IP routers. Results also show that the CC-NUMA architecture can sustain good lookup performance, even at a high frequency of route updates.

[1] P. Almquist, Type of Service in the Internet Protocol Suite Internet RFC 1349, July 1992.
[2] F. Baker, Requirements for IP Version 4 Routers Internet RFC 1812, June 1995.
[3] L. Bhuyan and Y. Chang, Cache Memory Protocols Encyclopedia of Electrical and Electronics Eng., Feb. 1999.
[4] L. Bhuyan and H. Wang, Execution-Driven Simulation of IP Router Architecture Proc. IEEE Int'l Symp. Network Computing and Applications, Oct. 2001.
[5] H. Chan, H. Alnuweiri, and V. Leung, “A Framework for Optimizing the Cost and Performance of Next-Generation IP Routers,” IEEE J. Selected Areas in Comm., vol. 17, no. 6, pp. 1013-1029, June 1999.
[6] B. Chen and R. Morris, Flexible Control of Parallelism in a Multiprocessor PC Router Proc. USENIX, 2001.
[7] Cisco 12000 Series Internet Router Data Sheet, Cisco Systems, 2001.
[8] Cisco 12000 Series One-Port 10-Gigabit Ethernet Line Card Data Sheet, Cisco Systems, 2002.
[9] P. Crowley, M. Fiuczynski, J. Baer, and B. Bershad, Characterizing Processor Architectures for Programmable Network Interfaces Proc. Int'l Conf. Supercomputing, May 2000.
[10] S. Floyd and V. Jacobson, “Random Early Detection Gateways for Congestion Avoidance,” IEEE/ACM Trans. Networking, vol. 1, pp. 397-413, Aug. 1993.
[11] P. Gupta and N. McKeown, "Algorithms for Packet Classification," IEEE Network, vol. 15, no. 2, 2001, pp. 24-32.
[12] P. Gupta, S. Lin,, and N. McKeown,"Routing Lookups in Hardware at Memory Access Speeds," Proc. IEEE Infocom, vol. 3, IEEE CS Press, Los Alamitos, Calif., 1998, pp. 1240-1247.
[13] J. Hennessy and D. Patterson, Computer Architecture: A Quantitative Approach. Morgan-Kauffman, 1995.
[14] G. Huston, Internet Performance Survival Guide QoS Strategies for Multiservice Networks. Wiley Computer Publishing, 2000.
[15] S. Karlin and L. Peterson, VERA: A Extensible Router Architecture Proc. Fourth Int'l Conf. Open Architectures and Network Programming, Apr. 2001.
[16] E. Kohler, E. Morris, B. Chen, J. Jannotti, and M.F. Kaashoek, The Click Modular Router ACM Trans. Computer Systems, vol. 18, no. 3, pp. 263-297, Aug. 2000.
[17] Y. Luo and L. Bhuyan, RouterBench A Benchmark for High Performance IP Routers bench/, 2003.
[18] G. Memik, B. Mangione-Smith, and W. Hu, NetBench: A Benchmarking Suite for Network Processors Proc. IEEE/ACM Int'l Conf. Computer-Aided Design, Nov. 2001.
[19] J. Mogul and S. Deering, Path MTU Discovery Internet RFC 1191, Nov. 1990.
[20] Nat'l Lab of Applied Network Research, Sanitized Access Log,http://pma.nlanr.netTraces/, May 2002.
[21] NetBSD Foundation Inc., NetBSD 1.3 Release, Jan. 1998.
[22] A.-T. Nguyen, M.M. Michael, A.D. Sharma,, and J. Torrellas, “The Augmint Multiprocessor Simulation Toolkit for Intel x86 Architectures,” Proc. 1996 IEEE Int'l Conf. Computer Design, Oct. 1996.
[23] K. Nichols, S. Blake, F. Baker, and D. Black, Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers Internet RFC 2474, Dec. 1998.
[24] S. Nilsson and G. Karlsson,"IP-Address Lookup Using LC-tries," IEEE J. Selected Areas Comm., vol. 17, no. 6, June 1999, pp. 1083-1092.
[25] V.S. Pai, P. Ranganathan, and S.V. Adve, RSIM Reference Manual Technical Report 9705, Dept. Electrical and Computer Eng., Rice Univ., Aug. 1997.
[26] K. Papagiannaki, S Moon, C. Fraleigh, P. Thiran, F. Tobagi, and C. Diot, Analysis of Measured Single-Hop Delay from an Operational Backbone Network Proc. IEEE INFOCOM, 2002.
[27] C. Patrick et al., A 50Gbps IP Router IEEE/ACM Trans. Networking, vol. 6, no. 3, pp. 237-248, June 1998.
[28] Y. Rekhter and T. Li, A Border Gateway Protocol 4 (BGP-4) RFC-1771, Mar. 1995.
[29] M. Ruiz-Sanchez, E. Biersack, and W. Dabbous, Survey and Taxonomy of IP Address Lookup Algorithms IEEE Network, vol. 15, no. 2, pp. 8-23, Mar./Apr. 2001.
[30] M. Shreedhar and G. Varghese, Efficient Fair Queuing Using Deficit Round Robin Proc. SIGCOMM, 1995.
[31] K. Sklower, A Tree-Based Packet Routing Table for Berkeley Unix Proc. USENIX, pp. 93-104, Winter 1991.
[32] T. Wolf and M. Franklin, CommBench A Telecommunications Benchmark for Network Processors Proc. IEEE Int'l Symp. Performance Analysis of Systems and Software (ISPASS), pp. 154-162, 2000.
[33] D.E. Taylor, User Guide: Fast IP Lookup (FIPL) in the FPX Proc. Gigabit Kits Workshop, workshop_0102fipl_user_guide_v2.pdf, Jan. 2002.
[34] T. Wolf and J. Turner, Design Issues for High-Performance Active Routers IEEE J. Selected Areas in Comm., vol. 19, no. 3, pp. 404-409, Mar. 2001.
[35] L. Zhang and S. Michel UCLADew,http://irl.cs.ucla.eduUCLAdew, 2003.

Index Terms:
Multiprocessor architecture, shared memory, IP router, network applications, route updates.
Yan Luo, Laxmi Narayan Bhuyan, Xi Chen, "Shared Memory Multiprocessor Architectures for Software IP Routers," IEEE Transactions on Parallel and Distributed Systems, vol. 14, no. 12, pp. 1240-1249, Dec. 2003, doi:10.1109/TPDS.2003.1255636
Usage of this product signifies your acceptance of the Terms of Use.