A Forwarding Latency Optimization Method for Software Data Plane Based on Spin-Polling
Source abstract
Abstract
Modern software data planes use spin-polling and batch processing mechanisms to significantly improve maximum throughput and forwarding latency. The user-level IO queue-based spin polling mechanism has a higher response speed than the traditional interrupt mechanism. The batch mechanism enables the software data plane to achieve higher throughput by amortizing the IO overhead over multiple packets. However, the software data plane under the spin-polling mechanism keeps running at full speed regardless of the input traffic rate, resulting in significant performance waste. At the same time, we find that the batch processing mechanism does not cope well with different input traffic, mainly reflected in the forwarding latency. The purpose of this paper is to optimize the forwarding latency by leveraging the wasted performance. We propose a forwarding latency optimization scheme for the software data plane based on the spin polling mechanism in this paper. First, we calculate the CPU utilization of the software data plane according to the number of cycles the CPU spends on the valuable task. Then, our scheme controls the Tx queues and dynamically adjusts the output batch size based on the CPU utilization to optimize the forwarding latency of the software data plane. Compared with the original software data plane, the evaluation result shows that the forwarding latency can be reduced by 3.56% to 45% (in a single queue evaluation) and 4.35% to 55.54% (in a multiple queue evaluation).
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software-Defined Networks and 5G · Cloud Computing and Resource Management · Interconnection Networks and Systems
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
National Network New Media Engineering Research Center, Institute of Acoustics, Chinese Academy of Sciences, No. 21, North Fourth Ring Road, Haidian District, Beijing 100190, China
School of Electronic, Electrical and Communication Engineering, University of Chinese Academy of Sciences, No. 19(A), Yuquan Road, Shijingshan District, Beijing 100049, China
Funding
Strategic Priority Research Program of Chinese Academy of Sciences: Standardization research and system development of SEANET technology
References (35)
Show source-provided references
1. (2022, July 25). DPDK: Data Plane Development Kit. Available online: https://www.dpdk.org/.
2. SEANet: Architecture and Technologies of an On-Site, Elastic, Autonomous Network
3. Software Defined Networking Architecture, Security and Energy Efficiency: A Survey10.1109/COMST.2016.2618874 ↗
4. Software Defined Networks: A Survey10.1016/j.jnca.2016.03.016 ↗
5. (2022, July 25). Open vSwitch. Available online: http://www.openvswitch.org/.
6. Golestani, H., Mirhosseini, A., and Wenisch, T.F. (2019, January 20–23). Software Data Planes: You Can’t Always Spin to Win. Proceedings of the ACM Symposium on Cloud Computing, Santa Cruz, CA, USA.10.1145/3357223.3362737 ↗
7. Lim, H., Han, D., Andersen, D.G., and Kaminsky, M. (2014, January 2–4). MICA: A Holistic Approach to Fast In-Memory Key-Value Storage. Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation, Seattle, WA, USA.
8. Marinos, I., Watson, R.N., and Handley, M. (2014, January 17–22). Network Stack Specialization for Performance. Proceedings of the 2014 ACM Conference on SIGCOMM, Chicago, IL, USA.10.1145/2619239.2626311 ↗
9. Jeong, E., Woo, S., Jamshed, M., Jeong, H., Ihm, S., Han, D., and Park, K. (2014, January 2–4). mTCP: A Highly Scalable User-Level TCP Stack for Multicore Systems. Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation, Seattle, WA, USA.
10. Kalia, A., and Andersen, D. (2019, January 26–28). Datacenter RPCs Can Be General and Fast. Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation, Boston, MA, USA.
11. Arrakis: The Operating System Is the Control Plane10.1145/2812806 ↗
12. Belay, A., Prekas, G., Kozyrakis, C., Klimovic, A., Grossman, S., and Bugnion, E. (2014, January 6–8). IX: A Protected Dataplane Operating System for High Throughput and Low Latency. Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation, Broomfield, CO, USA.
13. Prekas, G., Kogias, M., and Bugnion, E. (2017, January 28–31). ZygOS: Achieving Low Tail Latency for Microsecond-scale Networked Tasks. Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, China.10.1145/3132747.3132780 ↗
14. Ousterhout, A., Fried, J., Behrens, J., Belay, A., and Balakrishnan, H. (2019, January 26–28). Shenango: Achieving High CPU Efficiency for Latency-sensitive Datacenter Workloads. Proceedings of the 16th USENIX Conference on Networked Systems Design and Implementation, Boston, MA, USA.
15. Kaffes, K., Belay, A., Chong, T., Mazieres, D., Humphries, J.T., and Kozyrakis, C. (2019, January 26–28). Shinjuku: Preemptive Scheduling for Msecond-Scale Tail Latency. Proceedings of the 16th USENIX Conference on Networked Systems Design and Implementation, Boston, MA, USA.
16. Dalton, M., Schultz, D., Adriaens, J., Arefin, A., Gupta, A., Fahs, B., Rubinstein, D., Zermeno, E.C., Rubow, E., and Docauer, J.A. (2018, January 9–11). Andromeda: Performance, Isolation, and Velocity at Scale in Cloud Network Virtualization. Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation, Renton, WA, USA.
17. Honda, M., Lettieri, G., Eggert, L., and Santry, D. (2018, January 9–11). PASTE: A Network Programming Interface for Non-Volatile Main Memory. Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation, Renton, WA, USA.
18. Klimovic, A., Litz, H., and Kozyrakis, C. (2017, January 8–12). ReFlex: Remote Flash ≈ Local Flash. Proceedings of the Twenty-Second International Conference on Architectural Supportfor Programming Languages and Operating Systems, Xi’an, China.10.1145/3037697.3037732 ↗
19. Miao, M., Cheng, W., Ren, F., and Xie, J. (2016, January 16). Smart Batching: A Load-Sensitive Self-Tuning Packet I/O Using Dynamic Batch Sizing. Proceedings of the 2016 IEEE 18th International Conference on High Performance Computing and Communications, IEEE 14th International Conference on Smart City, IEEE 2nd International Conference on Data Science and Systems (HPCC/SmartCity/DSS), Sydney, Australia.10.1109/HPCC-SmartCity-DSS.2016.0106 ↗
20. Lange, S., Linguaglossa, L., Geissler, S., Rossi, D., and Zinner, T. (May, January 29). Discrete-Time Modeling of NFV Accelerators That Exploit Batched Processing. Proceedings of the IEEE INFOCOM 2019-IEEE Conference on Computer Communications, Paris, France.10.1109/INFOCOM.2019.8737428 ↗
21. Das, T., Zhong, Y., Stoica, I., and Shenker, S. (2014, January 3–5). Adaptive Stream Processing Using Dynamic Batch Sizing. Proceedings of the ACM Symposium on Cloud Computing—SOCC ’14, Seattle, WA, USA.10.1145/2670979.2670995 ↗
22. Fast Packet Processing: A Survey10.1109/COMST.2018.2851072 ↗
23. Kim, J., Huh, S., Jang, K., Park, K., and Moon, S. (2012, January 23–24). The Power of Batching in the Click Modular Router. Proceedings of the APSYS ’12: Proceedings of the Asia-Pacific Workshop on Systems, Seoul, Korea.10.1145/2349896.2349910 ↗
24. The Case for Energy-Proportional Computing10.1109/MC.2007.443 ↗
25. OpenFlow: Enabling Innovation in Campus Networks10.1145/1355734.1355746 ↗
26. Protocol Oblivious Forwarding (POF): Software-Defined Networking with Enhanced Programmability10.1109/MNET.2017.1600030NM ↗
27. P4: Programming Protocol-Independent Packet Processors10.1145/2656877.2656890 ↗
28. Kim, H.J., Lee, Y.S., and Kim, J.S. (2016, January 20–21). NVMeDirect: A User-Space I/O Framework for Application-specific Optimization on NVMe SSDs. Proceedings of the 8th USENIX Conference on Hot Topics in Storage and File Systems, Denver, CO, USA.
29. Yang, Z., Liu, C., Zhou, Y., Liu, X., and Cao, G. (2018, January 18–21). SPDK Vhost-NVMe: Accelerating I/Os in Virtual Machines on NVMe SSDs via User Space Vhost Target. Proceedings of the 2018 IEEE 8th International Symposium on Cloud and Service Computing (SC2), Paris, France.10.1109/SC2.2018.00016 ↗
30. An Accurate and Efficient Modeling Framework for the Performance Evaluation of DPDK-Based Virtual Switches10.1109/TNSM.2018.2874476 ↗
31. Han, S., Jang, K., Park, K., and Moon, S. (2010). PacketShader: A GPU-Accelerated Software Router. ACM SIGCOMM Computer Communication Review, ACM.10.1145/1851182.1851207 ↗
32. Rizzo, L. (2012, January 12–15). Netmap: A Novel Framework for Fast Packet I/O. Proceedings of the USENIX ATC ’12: USENIX Annual Technical Conference, Boston, MA, USA.
33. (2022, July 25). PF_RING. Available online: https://www.ntop.org/products/packet-capture/pf_ring/.
34. (2022, July 25). OpenOnload. Available online: https://github.com/Xilinx-CNS/onload.
35. (2022, July 25). PACKET_MMAP. Available online: https://www.kernel.org/doc/Documentation/networking/packet_mmap.txt.