ABSTRACT
Recent efforts to add new services to the Internet have increased interest in software-based routers that are easy to extend and evolve. This paper describes our experiences using emerging network processors---in particular, the Intel IXP1200---to implement a router. We show it is possible to combine an IXP1200 development board and a PC to build an inexpensive router that forwards minimum-sized packets at a rate of 3.47Mpps. This is nearly an order of magnitude faster than existing pure PC-based routers, and sufficient to support 1.77Gbps of aggregate link bandwidth. At lesser aggregate line speeds, our design also allows the excess resources available on the IXP1200 to be used robustly for extra packet processing. For example, with 8 × 100Mbps links, 240 register operations and 96 bytes of state storage are available for each 64-byte packet. Using a hierarchical architecture we can guarantee line-speed forwarding rates for simple packets with the IXP1200, and still have extra capacity to process exceptional packets with the Pentium. Up to 310Kpps of the traffic can be routed through the Pentium to receive 1510 cycles of extra per-packet processing.
- 1.M. A. Blumrich, C. Dubnicki, E. W. Felten, K. Li, and M. R. Mesarina. Virtual-Memory-Mapped Network Interfaces. IEEEMicro, 15(1):21-28, 1995. Google ScholarDigital Library
- 2.A. T. Campbell, S. Chou, M. E. Konnavis, and V. D. Stachtos. Implementing Routelets: Virtual Router Support for the IXP1200 Network Processor. In/XA Univeristy Program Workshop, Portland, Oregon, June 2001.Google Scholar
- 3.M. Dasen, G. Fankhauser, and B. Plattner. An Error Tolerant, Scalable Video Stream Encoding and Compression for Mobile Computing. In Proceedings of ACTS Mobile Summit 96, pages 762-771, November 1996.Google Scholar
- 4.B. Davie and Y. Rekhter. MPLS: Technology and Applications. Morgan Kaufmann Publishers, Inc., 2000. Google ScholarDigital Library
- 5.D. Decasper, Z. Dittia, G. Parulkar, and B. Plattner. Router Plugins: A Software Architecture for Next Generation Routers. IEEF,/ACM Transactions on Networking, 8(1):2-15, February 2000. Google ScholarDigital Library
- 6.P. Druschel, L. L. Peterson, and B. S. Davie. Experiences with a High-Speed Network Adaptor: A Software Perspective. In Proceedings of SIGCOMM '94 Conference, pages 2-13, October 1994. Google ScholarDigital Library
- 7.M. E. Fiuczynski, R. E Martin, T. Owa, and B. N. Bershad. On Using Intelligent Network Interface Cards to support Multimedia Applications. In Proceedings of the 8th International Workshop on Network and Operating System Support for Digital Audio and Video, pages 95-98, July 1998.Google Scholar
- 8.IBM Microelectronics Division. IBM PowerNP NP4GS3 Network Processor Solutions Product Overview, April 2001.Google Scholar
- 9.IEEE. Standard 802.3, October 2000.Google Scholar
- 10.Intel Corporation. IXP12OONetworkProcessorDatasheet, September 2000.Google Scholar
- 11.Intelligent I/O (I20) Special Interest Group. Intelligent I/O (I20) Architecture Specification, Version 2.0, March 1999.Google Scholar
- 12.S. Karlin and L. Peterson. VERA: An Extensible Router Architecture. In Proceedings of the 4th International Conference on Open Architectures and Network Programming (OPENARCH), pages 3-14, April 2001.Google ScholarCross Ref
- 13.E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. E Kaashoek. The Click Modular Router. ACM Transactions on Computer Systems, 18(3):263-297, August 2000. Google ScholarDigital Library
- 14.M. E. Kounavis, A. T. Campell, S. Chou, E Modoux, J. Vicente, and H. Zhuang. The Genesis Kernel: A Programming System for Spawning Network Architectures. IEEE Journal on Selected Areas in Communications, 19(3):511-526, March 2001. Google ScholarDigital Library
- 15.H. C. Latter and R. M. Needham. On the Duality of Operating System Structures. Operating Systems Review, 13(2):3-19, April 1979. Google ScholarDigital Library
- 16.D. L. Mills. The Fuzzball. In Proceedings of the SIGCOMM '88 Symposium, pages 115-122, August 1988. Google ScholarDigital Library
- 17.V. Paxson. Automated Packet Trace Analysis of TCP Implementations. In Proceedings of the ACM SIGCOMM '97 Conference, pages 167-179, September 1997. Google ScholarDigital Library
- 18.E Pradhan and T.-C. Chiueh. Operating System Support for Programmable Cluster-Based Internet Routers. In Proceedings of the 7th Workshop on Hot Topics in Operating Systems (HotOS-VII), pages 76--81, March 1999. Google ScholarDigital Library
- 19.X. Qie, A. Bavier, L. Peterson, and S. Karlin. Scheduling Computations on a Programmable Router. In Proceedings of the ACM SIGMETRICS 2001 Conference, pages 13-24, June 2001. Google ScholarDigital Library
- 20.M. J. Ranum, K. Landfield, M. Stolarchuk, M. Sienkiewicz, A. Lambeth, and E. Wall. Implementing a Generalized Tool For Network Monitoring. In Proceedings of the Eleventh Systems Administration Conference (LISA '97), pages 1-8, San Diego, CA, October 1997. Google ScholarDigital Library
- 21.O. Spatscheck, J. Hansen, J. Hartman, and L. Peterson. Optimizing TCP Forwarder Performance. IEEE/ACM Transactions on Networking, 8(2): 146-157, April 2000. Google ScholarDigital Library
- 22.V. Srinivasan and G. Varghese. Fast address lookups using controlled prefix expansion. ACM Transactions on Computer Systems, 17(1): 1--40, February 1999. Google ScholarDigital Library
- 23.D. E. Taylor, J. S. Turner, and J. W. Lockwood. Dynamic Hardware Plugins (DHP): Exploiting Reconfigurable Hardware for High-Performance Programmable Routers. In Proceedings of the 4th International Conference on Open Architectures and Network Programming ( OPENARCH), pages 25-34, April 2001.Google ScholarCross Ref
- 24.C. B. S. Traw and J. M. Smith. Hardware/Software Organization of a High-Performance ATM Host Interface. 1EEE Journal on Selected Areas in Communications (Special Issue on High Speed Computer/Network Interfaces), 11(2):240-253, 1993.Google Scholar
- 25.Vitesse Semiconductor Corporation. IQ2000 Network Processor Product Brief, 2000.Google Scholar
- 26.T. von Eicken, A. Basu, V. Buch, and W. Vogels. U-Net: A User-Level Network Interface for Parallel and Distributed Computing. In Proceedings of the 15th ACM Symposium on Operating Systems Principles, pages 40-53, December 1995. Google ScholarDigital Library
Index Terms
- Building a robust software-based router using network processors
Recommendations
Building a robust software-based router using network processors
Recent efforts to add new services to the Internet have increased interest in software-based routers that are easy to extend and evolve. This paper describes our experiences using emerging network processors---in particular, the Intel IXP1200---to ...
Software-Directed Register Deallocation for Simultaneous Multithreaded Processors
This paper proposes and evaluates software techniques that increase register file utilization for simultaneous multithreading (SMT) processors. SMT processors require large register files to hold multiple thread contexts that can issue instructions out ...
Building extensible routers using network processors: Research Articles
This paper describes our effort to build extensible routers using a combination of general-purpose and network processors. We emphasize five overriding challenges that dictate our design decisions: (1) optimal resource allocation; (2) efficient but ...
Comments