Transparent Multicore Scaling of Single-Threaded Network Functions
Lei Yan, Yueyang Pan, Diyu Zhou, George Candea, Sanidhya Kashyap
Abstract
This paper presents NFOS, a programming model, runtime, and profiler for productively developing software network functions (NFs) that scale on multicore machines. Writing shared-state concurrent systems that are both correct and scalable is still a serious challenge, which is why NFOS insulates developers from writing concurrent code.
In the NFOS programming model, developers write their NF as a sequential program, concerning themselves with the NF logic instead of parallelism and shared-state synchronization. The NFOS abstractions are both familiar to the NF programmer and convey to the NFOS runtime crucial information that enables it to correctly execute the NF's packet processing in parallel on multiple cores. Paired with NFOS's domain-specific concurrent data structures, this parallelism scales the NF transparently, obviating the need for developers to write concurrent code. We show that serial, stateful NFs run atop NFOS achieve scalability on par with their concurrent, hand-optimized counterparts in Cisco VPP [8].
Some scalability bottlenecks are inherent to the NF's semantics, and thus cannot be resolved while preserving those semantics. NFOS identifies the root causes of such bottlenecks and provides scalability recipes that guide developers in relaxing the NF's semantics to eliminate these bottlenecks.
We present examples where such NFOS-guided relaxation of NF semantics further improves scalability by 2× to 91×.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 7045d128-d28a-44ec-a2f1-713d9ef7c0caCited by top-tier papers1
Ask how each one uses itBuilds on3
- Achieving 100Gbps Intrusion Prevention on a Single ServerZhipeng Zhao, Hugo Sadok, Nirav Atre, James C. Hoe et al.OSDI 2020 · 38 citations
- Automatic Parallelization of Software Network FunctionsFrancisco Pereira, Fernando M. V. Ramos, Luis PedrosaNSDI 2024 · 14 citations
- Occualizer: Optimistic Concurrent Search Trees From Sequential CodeTomer Shanny, Adam MorrisonOSDI 2022 · 9 citations
Related papers
- NFlow and MVT Abstractions for NFV ScalingZiyan Wu, Yang Zhang, Wendi Feng, Zhi-Li ZhangINFOCOM 2022 · 6 citations
- NrOS: Effective Replication and Sharing in an Operating SystemAnkit Bhardwaj, Chinmay Kulkarni, Reto Achermann, Irina Calciu et al.OSDI 2021
- NFReducer: Redundant Logic Elimination for Network Functions with Runtime ConfigurationsBangwen Deng, Wenfei WuINFOCOM 2021 · 1 citation
- Dyssect: Dynamic Scaling of Stateful Network FunctionsFabrício B. Carvalho, Ronaldo A. Ferreira, Ítalo Cunha, Marcos A. M. Vieira et al.INFOCOM 2022 · 10 citations
- Performance Interfaces for Network FunctionsRishabh R. Iyer, Katerina J. Argyraki, George CandeaNSDI 2022 · 20 citations
