Back to Search Start Over

Deep Pipelining: Efficient Pipelining of Network Function Chains with Coroutines

Authors :
Hirochika Asai
Source :
NetSoft
Publication Year :
2019
Publisher :
IEEE, 2019.

Abstract

Network Functions Virtualization emphasizes the importance of performance in software-based network functions and in-network computing on general-purpose computers. Efficient resource utilization is challenging to run multiple network functions at high performance. This paper proposes a generalized performance optimization technique for chains of network functions on commodity CPUs, named deep pipelining. The key idea of deep pipelining is the combination of software pipelining and coroutines to reduce the overhead of high latency instructions such as memory access of network algorithms. Coroutines are used to schedule the execution of multiple pipelines of chained network functions. Microbenchmark and synthetic benchmark results shed light on both the effectiveness and the small overhead of deep pipelining. By taking the advantage of deep pipelining, we prove the effectiveness in chaining network functions with software-based layer-3 switch implementation consisting of Ethernet switching and IP routing on our operating system. The evaluation demonstrates that deep pipelining improves packet switching and routing performance by 0.11-78% compared to the existing batching-with-prefetch approach.

Details

Database :
OpenAIRE
Journal :
2019 IEEE Conference on Network Softwarization (NetSoft)
Accession number :
edsair.doi...........bcb2c8d0bb0d5c19f5807bc83ccc3037
Full Text :
https://doi.org/10.1109/netsoft.2019.8806673