Evaluating the Suitability of Server Network Cards for Software Routers
The advent of multicore CPUs has led to renewed interest in software routers built from commodity PC hardware. The typical approach to scaling network processing in these systems is to distribute packets, or rather flows of packets, across multiple cores that process them in parallel. However, the traffic arriving (Departing) on an incoming (Outgoing) link at a router is inherently serial and hence the authors need a mechanism that appropriately demultiplexes (Multiplexes) the traffic between a serial link and a set of cores. I.e., multiple cores can parallelize the processing of a traffic stream but to fully exploit the parallelism due to multiple cores they must first be able to parallelize the delivery of packets to and from cores.