Abstract
We revisit the problem of scaling software routers, motivated by recent advances in server technology that enable highspeed parallel processing a feature router workloads appear ideally suited to exploit. We propose a software router architecture that parallelizes router functionality both across multiple servers and across multiple cores within a single server. By carefully exploiting parallelism at every opportunity, we demonstrate a 40Gbps parallel router prototype; this router capacity can be linearly scaled through the use of additional servers. Our prototype router is fully programmable using the familiar Click/Linux environment and is built entirely from off-the-shelf, general-purpose server hardware. We also describe some of the lessons learned while supporting field deployments of Routebricks-based software routers.
- Astaro: Security Gateway. http://www.astaro.com.Google Scholar
- Cisco 7600 Series Routers. http://cisco.com/en/US/products/hw/routers/ps368/index.html.Google Scholar
- Cisco Carrier Routing System. http://cisco.com/en/US/products/ps5763/index.html.Google Scholar
- Intel 10 Gigabit XF SR Server Adapters. http://intel.com/Products/Server/Adapters/10-GbE-XFSR-Adapters/10-GbE-XFSR-Adapters-overview.htm.Google Scholar
- Intel VTune Performance Analyzer. http://software.intel.com/en-us/intel-vtune/.Google Scholar
- Narus: Real-Time Traffic Intelligence. http://narus.com.Google Scholar
- NetFPGA: A Line-rate, Flexible Platform for Research and Classroom Experimentation. http://netfpga.org.Google Scholar
- NLANR: Internet Measurement and Analysis. http://moat.nlanr.net.Google Scholar
- Receive-Side Scaling Enhancements in Windows Server 2008. http://www.microsoft.com/whdc/device/network/NDIS_RSS.mspx.Google Scholar
- Riverbed: Application Acceleration. http://www.riverbed.com.Google Scholar
- Sourcefire: Network Security. http://www.sourcefire.com.Google Scholar
- Symantec: Data Loss Protection. http://www.vontu.com.Google Scholar
- Vyatta Series 2500. http://vyatta.com/downloads/datasheets/vyatta_2500_datasheet.pdf.Google Scholar
- Cisco Opening Up IOS. http://www.networkworld.com/news/2007/121207-cisco-ios.html, December 2007.Google Scholar
- Juniper Press Release: Open IP Solution Program. http://www.juniper.net/company/presscenter/pr/2007/pr-071210.html, July 2007.Google Scholar
- Next Generation Intel Microarchitecture (Nehalem). http://intel.com/pressroom/archive/reference/whitepaper_Nehalem.pdf, 2008.Google Scholar
- Intel Details 2011 Processor Features. http://newsroom.intel.com/community/intel_newsroom/blog/2010/09/13/, Sept. 2010.Google Scholar
- M. Al-Fares, A. Loukissas, and A. Vahdat. A Scalable, Commodity, Data Center Network Architecture. In Proceedings of the ACM SIGCOMM Conference, August 2008. Google ScholarDigital Library
- T. Anderson, T. Roscoe, and D. Wetherall. Preventing Internet Denial-of-Service with Capabilities. In Proceedings of the ACM Workshop on Hot Topics in Networks (HotNets), November 2003.Google Scholar
- M. B. Anwer, M. Motiwala, M. bin Tariq, and N. Feamster. SwitchBlade: A Platform for Rapid Deployment of Network Protocols on Programmable Hardware. In ACM SIGCOMM, Aug. 2010. Google ScholarDigital Library
- A. Bianco et al. Click vs. Linux. In IEEE High Performance Switching and Routing (HPSR), May 2005.Google Scholar
- D. Comer. Network System Design using Network Processors. Prentice Hall, 2004. Google ScholarDigital Library
- W. J. Dally and B. Towles. Principles and Practices of Interconnection Networks. Morgan Kaufmann, 2004. Google ScholarDigital Library
- M. Dobrescu, K. Argyraki, G. Iannaccone, M. Manesh, and S. Ratnasamy. Controlling parallelism in a multicore software router. In ACM PRESTO Workshop, Nov. 2010. Google ScholarDigital Library
- M. Dobrescu et al. RouteBricks: Exploiting Parallelism to Scale Software Routers. In ACM SOSP, 2009. Google ScholarDigital Library
- N. Egi et al. Understanding the Packet Processing Capabilities of Multi-Core Servers. Technical Report LABOS-REPORT-2009-001, EPFL, Switzerland, February 2009.Google Scholar
- N. Egi, A. Greenhalgh, mark Handley, M. Hoerdt, F. Huici, and L. Mathy. Fairness Issues in Software Virtual Routers. In ACM PRESTO Workshop, August 2008. Google ScholarDigital Library
- R. Ennals, R. Sharp, and A. Mycroft. Task Partitioning for Multi-Core Network Processors. In IEEE ICCC, April 2005. Google ScholarDigital Library
- P. P. Gelsinger. Intel Architecture Press Briefing. http://download.intel.com/pressroom/archive/reference/Gelsinger_briefing_0308.pdf, March 2008.Google Scholar
- P. Gupta, S. Lin, and N. McKeown. Routing Lookups in Hardware at Memory Access Speeds. In Proceedings of the IEEE INFOCOM Conference, March 1998.Google ScholarCross Ref
- S. Han, K. Jang, K. Park, and S. Moon. PacketShader: a GPU-Accelerated Software Router. In ACM SIGCOMM, Aug. 2010. Google ScholarDigital Library
- S. Kandula, D. Katabi, S. Sinha, and A. Berger. Flare: Responsive Load Balancing Without Packet Reordering. ACM Computer Communications Review (CCR), 37(2), April 2007. Google ScholarDigital Library
- D. Katabi, M. Handley, and C. Rohrs. Internet Congestion Control for High Bandwidth-Delay Product Networks. In Proceedings of the ACM SIGCOMM Conference, August 2002. Google ScholarDigital Library
- I. Keslassy, S.-T. Chuang, K. Yu, D. Miller, M. Horowitz, O. Solgaard, and N. McKeown. Scaling Internet Routers Using Optics. In Proceedings of the ACM SIGCOMM Conference, August 2003. Google ScholarDigital Library
- E. Kohler, R. Morris, et al. The Click Modular Router. ACM Transactions on Computer Systems, 18(3):263--297, August 2000. Google ScholarDigital Library
- T. Koponen, M. Chawla, B.-G. Chun, A. Ermolinskiy, K. H. Kim, S. Shenker, and I. Stoica. A Data-Oriented (and Beyond) Network Architecture. In Proceedings of the ACM SIGCOMM Conference, August 2007. Google ScholarDigital Library
- M. Manesh et al. Evaluating the suitability of server network cards for software routers. In ACM PRESTO Workshop, Nov. 2010. Google ScholarDigital Library
- N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turn. OpenFlow: Enabling Innovation in Campus Networks. ACM Computer Communications Review, 38(2), April 2008. Google ScholarDigital Library
- J. C. Mogul et al. API Design Challenges for Open Router Platforms on Proprietary Hardware. In ACM HotNets, October 2008.Google Scholar
- PIC-SIG. PCI Express Base 2.0 Specification, 2007. http://www.pcisig.com/specifications/pciexpress/base2.Google Scholar
- L. Popa, N. Egi, I. Stoica, and S. Ratnasamy. Bulding Extensible Networks with Rule-based Forwarding (RBF). In USENIX OSDI, Oct. 2010. Google ScholarDigital Library
- L. Popa, S. Ratnasamy, G. Iannaccone, A. Krishnamurthy, and I. Stoica. A cost comparison of data center network architectures. In ACM CoNext, Nov. 2010. Google ScholarDigital Library
- L. Valiant and G. Brebner. Universal Schemes for Parallel Communication. In ACM STOC, June 1981. Google ScholarDigital Library
- R. Zhang-Shen and N. McKeown. On Direct Routing in the Valiant Load-Balancing Architecture. In IEEE GLOBECOM, November 2005.Google Scholar
Index Terms
- RouteBricks: enabling general purpose network infrastructure
Recommendations
RouteBricks: exploiting parallelism to scale software routers
SOSP '09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principlesWe revisit the problem of scaling software routers, motivated by recent advances in server technology that enable high-speed parallel processing--a feature router workloads appear ideally suited to exploit. We propose a software router architecture that ...
Twin peaks: a software platform for heterogeneous computing on general-purpose and graphics processors
PACT '10: Proceedings of the 19th international conference on Parallel architectures and compilation techniquesModern processors are evolving into hybrid, heterogeneous processors with both CPU and GPU cores used for general purpose computation. Several languages such as Brook, CUDA, and more recently OpenCL are being developed to fully harness the potential of ...
PacketShader: a GPU-accelerated software router
SIGCOMM '10: Proceedings of the ACM SIGCOMM 2010 conferenceWe present PacketShader, a high-performance software router framework for general packet processing with Graphics Processing Unit (GPU) acceleration. PacketShader exploits the massively-parallel processing power of GPU to address the CPU bottleneck in ...
Comments