Back to Search
Start Over
Deep Pipelining: Efficient Pipelining of Network Function Chains with Coroutines
- 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