Overload Detecting in High Performance Network I/O Frameworks

Overload detecting mechanisms are the prerequisites for admission controls and differentiated services. Conventional mechanisms are always coordinated with conventional network stacks. As the hardware evolution and applications' increasing demand, the architecture of conventional network stacks make themselves become the bottleneck. In this context, high performance network I/O frameworks have been proposed and adopted by both academia and industry. However, the characteristics of these frameworks limit the effectiveness of conventional overload detecting mechanisms. In this paper, we propose that RX RING length can act as a good threshold signal to reflect whether overload happens or not. Through experiments with varying the input load and the processing task load, RX RING length is proved to be a high-quality indicator for overload detecting. Meanwhile, we design a low-cost algorithm to detect RX RING length in real time. Compared with the original method, our algorithm reduces more than 90% of running cost when RX RING is nearly full. This makes RX RING possible to be a high-quality indicator in future overload detecting mechanism design for applications based high performance network I/O frameworks.

[1]  Robert Tappan Morris,et al.  Improving network connection locality on multicore systems , 2012, EuroSys '12.

[2]  Christoforos E. Kozyrakis,et al.  IX: A Protected Dataplane Operating System for High Throughput and Low Latency , 2014, OSDI.

[3]  Eunyoung Jeong,et al.  mTCP: a Highly Scalable User-level TCP Stack for Multicore Systems , 2014, NSDI.

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

[5]  Erich M. Nahum,et al.  Yaksha: a self-tuning controller for managing the performance of 3-tiered Web sites , 2004, Twelfth IEEE International Workshop on Quality of Service, 2004. IWQOS 2004..

[6]  Sharad Singhal,et al.  Web2K: Bringing QoS to Web Servers , 2000 .

[7]  Mark Handley,et al.  Network stack specialization for performance , 2015, SIGCOMM 2015.

[8]  Ludmila Cherkasova,et al.  Session-Based Admission Control: A Mechanism for Peak Load Management of Commercial Web Sites , 2002, IEEE Trans. Computers.

[9]  Timothy Roscoe,et al.  Arrakis , 2014, OSDI.

[10]  Thiemo Voigt,et al.  Adaptive resource-based Web server admission control , 2002, Proceedings ISCC 2002 Seventh International Symposium on Computers and Communications.

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

[12]  Byung-Gon Chun,et al.  Usenix Association 10th Usenix Symposium on Operating Systems Design and Implementation (osdi '12) 135 Megapipe: a New Programming Interface for Scalable Network I/o , 2022 .

[13]  Erich M. Nahum,et al.  A method for transparent admission control and request scheduling in e-commerce web sites , 2004, WWW '04.

[14]  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).

[15]  Robert Tappan Morris,et al.  An Analysis of Linux Scalability to Many Cores , 2010, OSDI.

[16]  Michael Stumm,et al.  FlexSC: Flexible System Call Scheduling with Exception-Less System Calls , 2010, OSDI.

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