PC-based Router Virtualization with Hardware Support

In this paper we focus on how to use open source Linux software in combination with PC hardware to build high speed virtual routers. Router virtualization means that multiple virtual router instances will run in parallel on the same hardware. To enable this, virtual components are combined in the router's data plane. This can result in performance penalties. Furthermore, an overloaded virtual router can affect the performance of other virtual routers running in parallel. Achieving high performance and strong performance isolation in a virtualized environment is challenging. We investigate how hardware can help to achieve these goals in the Linux Namespaces environment. We propose a forwarding architecture for virtual routers based on multi-core hardware where virtual routers can run in parallel on different CPU cores. This reduces resource contention among virtual routers and results in improved performance and isolation. To enable this architecture, we find that hardware based I/O virtualization support is essential. We demonstrate this by making a comparison with a software based I/O virtualization approach. We also show that hardware assisted virtual routers can achieve better aggregate throughput than a non-virtualized router on a multi-core platform.

[1]  Mark Handley,et al.  Towards high performance virtual routers on commodity hardware , 2008, CoNEXT '08.

[2]  Markus Hidell,et al.  Performance evaluation of open virtual routers , 2010, 2010 IEEE Globecom Workshops.

[3]  Jiuxing Liu Evaluating standard-based self-virtualizing devices: A performance study on 10 GbE NICs with SR-IOV support , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[4]  DongYaozu,et al.  High performance network virtualization with SR-IOV , 2012 .

[5]  Martín Casado,et al.  Extending Networking into the Virtualization Layer , 2009, HotNets.

[6]  Zhao Yu,et al.  SR-IOV Networking in Xen: Architecture, Design and Implementation , 2008, Workshop on I/O Virtualization.

[7]  Nick Feamster,et al.  Trellis: a platform for building flexible, fast virtual networks on commodity hardware , 2008, CoNEXT '08.

[8]  Nick Feamster,et al.  In VINI veritas: realistic and controlled network experimentation , 2006, SIGCOMM.

[9]  Jun Suzuki,et al.  Multi-root Share of Single-Root I/O Virtualization (SR-IOV) Compliant PCI Express Device , 2010, 2010 18th IEEE Symposium on High Performance Interconnects.

[10]  Larry L. Peterson,et al.  Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors , 2007, EuroSys '07.

[11]  Daniel Turull Torrents Open source traffic analyzer , 2010 .

[12]  Markus Hidell,et al.  Data Plane Optimization in Open Virtual Routers , 2011, Networking.