ABSTRACT
Software routers promise to enable the fast deployment of new, sophisticated kinds of packet processing without the need to buy and deploy expensive new equipment. The challenge is offering such programmability while at the same time achieving a competitive level of performance. Recent work has demonstrated that software routers are capable of high performance, but only for conventional, simple workloads (like packet forwarding and IP routing) and, even that, after careful manual calibration. In contrast, we are interested in achieving high performance in the context of a software router running multiple sophisticated packet-processing applications. In particular: first, we identify the main factors that affect packet-processing performance on a modern multicore general-purpose server---cache misses, cache contention, load-balancing across processing cores; then, we formulate an optimization problem that takes as input a particular server architecture and a packet processing flow, and determines how to parallelize the router's functionality across the available cores so as to maximize its throughput.
- Cisco Carrier Routing System, http://cisco.com/en/US/products/ps5763/index.html.Google Scholar
- Cisco IOS NetFlow. http://www.cisco.com/web/go/netflow.Google Scholar
- Vyatta Series 2500. http://vyatta.com/downloads/datasheets/vyatta_2500_datasheet.pdf.Google Scholar
- Vyatta Series 3500. http://vyatta.com/downloads/datasheets/vyatta_3500_datasheet.pdf.Google Scholar
- B. Chen and R. Morris. Flexible Control of Parallelism in a Multiprocesor PC Router. In Proceedings of the USENIX Annual Technical Conference, 2001. Google ScholarDigital Library
- M. Dobrescu, N. Egi, K. Argyraki, B.-G. Chun, K. Fall, G. Iannaccone, A. Knies, M. Manesh, and S. Ratnasamy. RouteBricks: Exploiting Parallelism to Scale Software Routers. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP), 2009. Google ScholarDigital Library
- S. Han, K. Jang, K. Park, and S. Moon. PacketShader: A GPU-accelerated Software Router. In Proceedings of the ACM SIGCOMM Conference, 2010. Google ScholarDigital Library
- E. Kohler, R. Morris, B. Chen, J. Jannoti, and M. F. Kaashoek. The Click Modular Router. ACM Transactions on Computer Systems, 18(3):263--297, August 2000. Google ScholarDigital Library
- Y. Ma, S. Banerjee, S. Lu, and C. Estan. Leveraging Parallelism for Multi-dimensional Packet Classification on Software Routers. In Proceedings of the ACM SIGMETRICS Conference, 2010. Google ScholarDigital Library
Index Terms
- Controlling parallelism in a multicore software router
Recommendations
Parallelism via Multithreaded and Multicore CPUs
Multicore and multithreaded CPUs have become the new approach to obtaining increases in CPU performance. Numeric applications mostly benefit from a large number of computationally powerful cores. Servers typically benefit more if chip circuitry is used ...
Exploiting fine-grain thread parallelism on multicore architectures
Software Development for Multi-core Computing SystemsIn this work we present a runtime threading system which provides an efficient substrate for fine-grain parallelism, suitable for deployment in multicore platforms. Its architecture encompasses a number of optimizations that make it particularly ...
Comments