Understanding the packet Processing Capabilities of Multi-core Servers
Norbert Egi, Mihai Dobrescu, Jiaqing Du, Katerina Argyraki, Byung-Gon Chun, Kevin Fall, Gianluca Iannaccone, Allan Knies, Maziar Manesh, Laurent Mathy, Sylvia Ratnasamy · Infoscience (Ecole Polytechnique Fédérale de Lausanne) · 2009
Compared to specialized network equipment, software routers running on commodity servers allow programmers to rapidly build and (re)program networks using the software and hardware platforms they tend to be most familiar with---that of the general-purpose computer. Unfortunately, the Achilles' heel of software routers has been \\emph{performance}; commodity servers have traditionally proven incapable of high-speed packet processing thereby motivating an entire industry around the development of specialized network hardware and software. However, recent advances in PC technology promise significant speed-ups for applications amenable to parallelization; router workloads appear ideally suited to exploit these advances. This leads us to question whether it is now (or soon will be) plausible to scale software routers to current high-speed networks. As a first step toward answering this question, we study the packet-processing capability of current commodity multi-core servers: we identify performance bottlenecks, evaluate tradeoffs between performance and programmability, and discuss what changes are needed to further scale the packet-processing capability of general-purpose servers.