Power Efficient High Performance Packet I/O

Recently, high performance packet I/O frameworks are expected an extensive application for their ability to process packets from 10Gbps or higher speed links. To achieve high throughput and low latency, high performance packet I/O frameworks usually employ busy polling technique. As busy polling will burn all CPU cycles even if there's no packet to process, these frameworks are quite power inefficient. Meanwhile, exploiting power management techniques such as DVFS and LPI in high performance packet I/O frameworks is challenging, because neither the OS nor the frameworks can provide information (e.g., the actual CPU utilization, available idle period, or the target frequency) required by power management techniques. In this paper, we establish an analytical model that can formulate the packet processing flow of high performance packet I/O to help address the above challenges. From the analytical model, we can deduce the actual CPU utilization and average idle period in different traffic load, and gain the insight to choose CPU frequency that can appropriately balance the power consumption and packet latency. Then, we propose two simple but effective approaches to conduct power conservation for high performance packet I/O: one with the aid of traffic information and the other without. Experiments with Intel DPDK show that both approaches can achieve significant power reduction (35.90% and 34.43% on average respectively) while incurring < 1 μs of latency increase.

[1]  Walter Willinger,et al.  Self-similarity and heavy tails: structural modeling of network traffic , 1998 .

[2]  Shirley Moore,et al.  Measuring Energy and Power with PAPI , 2012, 2012 41st International Conference on Parallel Processing Workshops.

[3]  Roberto Bifulco,et al.  ClickOS and the Art of Network Function Virtualization , 2014, NSDI.

[4]  Daniel Raumer,et al.  MoonGen: A Scriptable High-Speed Packet Generator , 2014, Internet Measurement Conference.

[5]  Chia-Ming Wu,et al.  A green energy-efficient scheduling algorithm using the DVFS technique for cloud datacenters , 2014, Future Gener. Comput. Syst..

[6]  K. K. Ramakrishnan,et al.  NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms , 2014, IEEE Transactions on Network and Service Management.

[7]  M. L. Chaudhry,et al.  A first course in bulk queues , 1983 .

[8]  António Pacheco,et al.  Modeling IP traffic: joint characterization of packet arrivals and packet sizes using BMAPs , 2004, Comput. Networks.

[9]  Dejan Kostic,et al.  Energy-aware traffic engineering , 2010, e-Energy.

[10]  David A. Maltz,et al.  Network traffic characteristics of data centers in the wild , 2010, IMC '10.

[11]  Christoph Lindemann,et al.  Modeling IP traffic using the batch Markovian arrival process , 2003, Perform. Evaluation.

[12]  Sujata Banerjee,et al.  ElasticTree: Saving Energy in Data Center Networks , 2010, NSDI.

[13]  Sangjin Han,et al.  PacketShader: a GPU-accelerated software router , 2010, SIGCOMM '10.

[14]  Luigi Rizzo,et al.  netmap: A Novel Framework for Fast Packet I/O , 2012, USENIX ATC.

[15]  Thomas F. Wenisch,et al.  PowerNap: eliminating server idle power , 2009, ASPLOS.

[16]  Alessandro Carrega,et al.  Green Networking With Packet Processing Engines: Modeling and Optimization , 2014, IEEE/ACM Transactions on Networking.

[17]  Daniel Raumer,et al.  Building Fast but Flexible Software Routers , 2017, 2017 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[18]  Ming Zhang,et al.  Understanding data center traffic characteristics , 2010, CCRV.

[19]  George Varghese,et al.  Efficiently Measuring Bandwidth at All Time Scales , 2011, NSDI.

[20]  Martín Casado,et al.  The Design and Implementation of Open vSwitch , 2015, NSDI.

[21]  Walter Willinger,et al.  Experimental queueing analysis with long-range dependent packet traffic , 1996, TNET.

[22]  No License,et al.  Intel ® 64 and IA-32 Architectures Software Developer ’ s Manual Volume 3 A : System Programming Guide , Part 1 , 2006 .