Performance Exploration of Software-based Packet Processing Systems

Software systems that are placed on commodity hardware are integral components of today’s networks. They gain momentum as an attractive alternative to dedicated hardware routers, switches, and firewalls. Their big advantages are the high customizability of the software and increased cost-efficiency of the necessary hardware. To improve the performance, features intended to speed up the processing, are steadily added. For assessing influences on the performance, the software and its interaction with available hardware features have to be tested and modelled. Therefore, we evaluate the performance of the Linux Network Stack in different use cases and develop a performance prediction model. Using both blackand whitebox measurements the internal behaviour of the Linux router is analysed when approaching data rates up to 10 Gbit/s and the impact of occurring performance limiting factors is studied. External measurements are restricted to the packet rate, while white-box measurements are performed using the profiling tool perf. From the results of these measurements, the CPU cycles required to process each packet and their distribution to the tasks executed by the involved driver and kernel functions is analysed.

[1]  Daniel Raumer,et al.  Comparison of frameworks for high-performance packet IO , 2015, 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[2]  R. Bolla,et al.  An effective forwarding architecture for SMP Linux routers , 2008, 2008 4th International Telecommunication Networking Workshop on QoS in Multiservice IP Networks.

[3]  José Luis García-Dorado,et al.  High-Performance Network Traffic Processing Systems Using Commodity Hardware , 2013, Data Traffic Monitoring and Analysis.

[4]  Lukas M. Märdian What's New in the Linux Network Stack? , 2015 .

[5]  Daniel Raumer,et al.  A study of network stack latency for game servers , 2014, 2014 13th Annual Workshop on Network and Systems Support for Games.

[6]  EDDIE KOHLER,et al.  The click modular router , 2000, TOCS.

[7]  Luigi Rizzo Revisiting Network I/O APIs: The netmap Framework , 2012, ACM Queue.

[8]  Daniel Raumer,et al.  Assessing Soft- and Hardware Bottlenecks in PC-based Packet Forwarding Systems , 2015 .

[9]  Wenji Wu,et al.  The performance analysis of linux networking - Packet receiving , 2007, Comput. Commun..

[10]  Raffaele Bolla,et al.  Pc-based software routers: high performance and application service support , 2008, PRESTO '08.

[11]  Daniel Raumer,et al.  Measurement and Simulation of High-Performance Packet Processing in Software Routers , 2013 .

[12]  Daniel Raumer,et al.  A study of networking software induced latency , 2015, 2015 International Conference and Workshops on Networked Systems (NetSys).

[13]  Giuseppe Lettieri,et al.  VALE, a switched ethernet for virtual machines , 2012, CoNEXT '12.

[14]  Christian Benvenuti Understanding Linux Network Internals , 2005 .

[15]  Paul Francis,et al.  The IP Network Address Translator (NAT) , 1994, RFC.

[16]  Katerina J. Argyraki,et al.  RouteBricks: exploiting parallelism to scale software routers , 2009, SOSP '09.

[17]  Raffaele Bolla,et al.  Linux Software Router: Data Plane Optimization and Performance Evaluation , 2007, J. Networks.

[18]  Rami Rosen Linux Kernel Networking: Implementation and Theory , 2013 .

[19]  Daniel Raumer,et al.  Performance characteristics of virtual switching , 2014, 2014 IEEE 3rd International Conference on Cloud Networking (CloudNet).