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. However, fully exploiting the parallelism due to multiple cores requires the ability to efficiently parallelize the delivery of packets to cores. I.e., traffic arriving (departing) on an incoming (outgoing) link at a router is inherently serial and hence we need a mechanism that appropriately demultiplexes (multiplexes) traffic between a serial link and a set of cores. Recent efforts point to modern server network interface cards (NICs) as offering the required mux/demux capability through new hardware classification features. However, there has been little evaluation of the extent to which these features match the requirements of software routing from the standpoint of both, performance and functionality. This paper takes a first step towards such an evaluation, comparing a commodity server NIC to both, an idealized "parallel" NIC and a "serial only" NIC. We show that although commodity NICs do improve on serial-only NICs they lag an ideal parallel NIC. We find similar gaps in the classification features these NICs offer. We thus conclude with recommendations for NIC modifications that we believe would improve their suitability for software routers.
Record created on 2011-01-10, modified on 2016-08-09