Evaluating the suitability of server network cards for software routers

  • Authors:
  • Maziar Manesh;Katerina Argyraki;Mihai Dobrescu;Norbert Egi;Kevin Fall;Gianluca Iannaccone;Eddie Kohler;Sylvia Ratnasamy

  • Affiliations:
  • Intel Labs Berkeley;EPFL;EPFL;Lancaster Univ.;Intel Labs Berkeley;Intel Labs Berkeley;UCLA;Intel Labs Berkeley

  • Venue:
  • Proceedings of the Workshop on Programmable Routers for Extensible Services of Tomorrow
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The advent of multicore CPUs has led to renewed interest in software routers built from commodity PC hardware[6, 5, 8, 7, 3, 4]. 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 we 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 we must first be able to parallelize the delivery of packets to and from cores. Moreover, this parallelization must be achieved in a manner that is: (i) efficient, ensuring that the splitting/merging of traffic isn't the bottleneck along a packet's processing path and (ii) well balanced such that input processing load can be well balanced across available cores for a range of input traffic workloads (e.g., diverse flow counts, flow sizes, packet processing applications, and so forth). If either of these requirements is not met, the parallelism due to multiple cores might well be moot. In other words, achieving parallelism in packet delivery is critical for any software routing system that exploits multiple cores.