Improved Forwarding Architecture and Resource Management for Multi-Core Software Routers

Authors:
  • NENorbert Egi
    Norbert Egi
  • AGAdam Greenhalgh
    Adam Greenhalgh
  • MHMark Handley
    Mark Handley
  • GIGainluca Iannaccone
    Gainluca Iannaccone
  • MMMaziar Manesh
    Maziar Manesh
  • LMLaurent Mathy
    Laurent Mathy
  • SRSylvia Ratnasamy
    Sylvia Ratnasamy

Abstract
Recent technological advances in commodity server architectures, with multiple multi-core CPUs, integrated memory controllers, high-speed interconnects and enhanced network interface cards, provide substantial computational capacity and thus an attractive platform for packet forwarding. However, to exploit this available capacity, we need a suitable software platform that allows effective parallel packet processing and resource management. In this paper, we at first introduce an improved forwarding architecture for software routers that enhances parallelism by exploiting hardware classification and multi-queue support, already available in recent commodity network interface cards. After evaluating the original scheduling algorithm of the widely-used Click modular router, we propose solutions for extending this scheduler for improved fairness, throughput and more precise resource management. To illustrate the potential benefits of our proposal, we implement and evaluate a few key elements of our overall design.