journal article·2020-07-29Open access

NetAP: Adaptive Polling Technique for Network Packet Processing in Virtualized Environments

Hyunchan Park, Juyong Seong, Munkyu Lee, Kyungwoon Lee, Cheol-Ho Hong

Applied Sciences· Volume 10· Issue 15

Abstract

In cloud systems, computing resources, such as the CPU, memory, network, and storage devices, are virtualized and shared by multiple users. In recent decades, methods to virtualize these resources efficiently have been intensively studied. Nevertheless, the current virtualization techniques cannot achieve effective I/O virtualization when packets are transferred between a virtual machine and a host system. For example, VirtIO, which is a network device driver for KVM-based virtualization, adopts an interrupt-based packet-delivery mechanism, and incurs frequent switch overheads between the virtual machine and the host system. Therefore, VirtIO wastes valuable CPU resources and decreases network performance. To address this limitation, this paper proposes an adaptive polling-based network I/O processing technique, called NetAP, for virtualized environments. NetAP processes network requests via a periodical polling-based mechanism. For this purpose, NetAP adopts the golden-section search algorithm to determine the near-optimal polling interval for various workloads with different characteristics. We implement NetAP in a Linux kernel and evaluated it with up to six virtual machines. The evaluation results show that NetAP can improve the network performance of virtual machines by up to 31.16%, while only using 32.92% of the host CPU time used by VirtIO for packet processing.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Software-Defined Networks and 5G · Cloud Computing and Resource Management · Caching and Content Delivery

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Division of Computer Science and Engineering, Jeonbuk National University, Jeonju 54896, Korea

Research Center for Artificial Intelligence Technology, Jeonbuk National University, Jeonju 54896, Korea

School of Electrical and Electronics Engineering, Chung-Ang University, Seoul 06974, Korea

College of Informatics, Korea University, Seoul 02841, Korea

Funding

National Research Foundation of Korea (NRF) · Chung-Ang University

References (33)

Show source-provided references
1. Menon, A., Santos, J.R., Turner, Y., Janakiraman, G., and Zwaenepoel, W. (2005, January 11–12). Diagnosing performance overheads in the xen virtual machine environment. Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments, Chicago, IL, USA.10.1145/1064979.1064984 ↗
2. Liu, J., Huang, W., Abali, B., and Panda, D.K. (June, January 30). High Performance VMM-Bypass I/O in Virtual Machines. Proceedings of the USENIX Annual Technical Conference, General Track, Boston, MA, USA.
3. Virtio: Towards a de-facto standard for virtual I/O devices10.1145/1400097.1400108 ↗
4. Virtio network paravirtualization driver: Implementation and performance of a de-facto standard10.1016/j.csi.2011.05.002 ↗
5. A comparison of software and hardware techniques for x86 virtualization10.1145/1168918.1168860 ↗
6. The Turtles Project: Design and Implementation of Nested Virtualization
7. A study of I/O performance of virtual machines10.1093/comjnl/bxx092 ↗
8. When poll is better than interrupt
9. The Click modular router10.1145/354871.354874 ↗
10. Intel, D. (2020, July 29). Available online: https://www.dpdk.org/.
11. Kim, T.Y., Kang, D.H., Lee, D., and Eom, Y.I. (June, January 30). Improving performance by bridging the semantic gap between multi-queue SSD and I/O virtualization framework. Proceedings of the 2015 31st Symposium on Mass Storage Systems and Technologies (MSST), Santa Clara, CA, USA.10.1109/MSST.2015.7208295 ↗
12. Hajnoczi, S. (2017, January 25–27). Applying polling techniques to QEMU. Proceedings of the KVM Forum 2017, Prague, Czech Republic.
13. High performance network virtualization with SR-IOV10.1016/j.jpdc.2012.01.020 ↗
14. Dong, Y., Yu, Z., and Rose, G. (2008, January 10–11). SR-IOV Networking in Xen: Architecture, Design and Implementation. Proceedings of the Workshop on I/O Virtualization, San Diego, CA, USA.
15. Liu, J. (2010, January 19–23). Evaluating standard-based self-virtualizing devices: A performance study on 10 GbE NICs with SR-IOV support. Proceedings of the 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS), Atlanta, GA, USA.10.1109/IPDPS.2010.5470365 ↗
16. ELI: Bare-metal performance for I/O virtualization10.1145/2248487.2151020 ↗
17. Intel Virtualization Technology for Directed I/O10.1535/itj.1003.02 ↗
18. Landau, A., Ben-Yehuda, M., and Gordon, A. (2011, January 14). SplitX: Split Guest/Hypervisor Execution on Multi-Core. Proceedings of the WIOV, Portland, OR, USA.
19. Xu, C., Gamage, S., Lu, H., Kompella, R., and Xu, D. (2013, January 26–28). vturbo: Accelerating virtual machine i/o processing using designated turbo-sliced core. Proceedings of the 2013 USENIX Annual Technical Conference (USENIX ATC 13), San Jose, CA, USA.
20. Yasukata, K., Huici, F., Maffione, V., Lettieri, G., and Honda, M. (2017, January 24–27). HyperNF: Building a high performance, high utilization and fair NFV platform. Proceedings of the 2017 Symposium on Cloud Computing, Santa Clara, CA, USA.10.1145/3127479.3127489 ↗
21. NetVM: High performance and flexible networking using virtualization on commodity platforms10.1109/TNSM.2015.2401568 ↗
22. HIP: Hybrid interrupt-polling for the network interface10.1145/506084.506089 ↗
23. Performance analysis and comparison of interrupt-handling schemes in gigabit networks10.1016/j.comcom.2007.06.013 ↗
24. Implementation and experimental performance evaluation of a hybrid interrupt-handling scheme10.1016/j.comcom.2008.10.001 ↗
25. Sequential minimax search for a maximum10.1090/S0002-9939-1953-0055639-3 ↗
26. Chong, E.K., and Zak, S.H. (2004). An Introduction to Optimization, John Wiley & Sons.
27. Luenberger, D.G., and Ye, Y. (1984). Linear and Nonlinear Programming, Springer.
28. Nocedal, J., and Wright, S. (2006). Numerical Optimization, Springer Science & Business Media.
29. A simplex method for function minimization10.1093/comjnl/7.4.308 ↗
30. (2020, July 29). The Linux Kernel Documentation. Available online: https://www.kernel.org/doc/html/latest/.
31. Quasi-Newton methods, motivation and theory10.1137/1019005 ↗
32. Roy, A., Zeng, H., Bagga, J., Porter, G., and Snoeren, A.C. (2015, January 17–21). Inside the social network’s (datacenter) network. Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, London, UK.10.1145/2785956.2787472 ↗
33. Ðukić, V., Jyothi, S.A., Karlaš, B., Owaida, M., Zhang, C., and Singla, A. (2019, January 26–28). Is advance knowledge of flow sizes a plausible assumption?. Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19), Boston, MA, USA.