Automatic Parallelization of Software Network Functions
Francisco Pereira, Fernando M. V. Ramos, Luis Pedrosa
Abstract
Software network functions (NFs) trade-off flexibility and ease of deployment for an increased challenge of performance. The traditional way to increase NF performance is by distributing traffic to multiple CPU cores, but this poses a significant challenge: how to parallelize an NF without breaking its semantics? We propose Maestro, a tool that analyzes a sequential implementation of an NF and automatically generates an enhanced parallel version that carefully configures the NIC's Receive Side Scaling mechanism to distribute traffic across cores, while preserving semantics. When possible, Maestro orchestrates a shared-nothing architecture, with each core operating independently without shared memory coordination, maximizing performance. Otherwise, Maestro choreographs a fine-grained read-write locking mechanism that optimizes operation for typical Internet traffic. We parallelized 8 software NFs and show that they generally scale-up linearly until bottlenecked by PCIe when using small packets or by 100 Gbps line-rate with typical Internet traffic. Maestro further outperforms modern hardware-based transactional memory mechanisms, even for challenging parallel-unfriendly workloads.
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 2a38f856-19cf-4951-9ef5-1658f4125cb2Cited by top-tier papers4
- Enabling Portable and High-Performance SmartNIC Programs with AlkaliJiaxin Lin, Zhiyuan Guo, Mihir Shah, Tao Ji et al.NSDI 2025 · 11 citations
- High-level Programming for Application NetworksXiangfeng Zhu, Yuyao Wang, Banruo Liu, Yongtong Wu et al.NSDI 2025 · 6 citations
- Transparent Multicore Scaling of Single-Threaded Network FunctionsLei Yan, Yueyang Pan, Diyu Zhou, George Candea et al.EuroSys 2024 · 5 citations
- State-Compute Replication: Parallelizing High-Speed Stateful Packet ProcessingQiongwen Xu, Sebastiano Miano, Xiangyu Gao, Tao Wang et al.NSDI 2025
Builds on9
- Config2Spec: Mining Network Specifications from Network ConfigurationsRüdiger Birkner, Dana Drachsler-Cohen, Laurent Vanbever, Martin T. VechevNSDI 2020 · 67 citations
- Contention-Aware Performance Prediction For Virtualized Network FunctionsAntonis Manousis, Rahul Anand Sharma, Vyas Sekar, Justine SherrySIGCOMM 2020 · 57 citations
- Switch Code Generation Using Program SynthesisXiangyu Gao, Taegyun Kim, Michael D. Wong, Divya Raghunathan et al.SIGCOMM 2020 · 51 citations
- PacketMill: toward per-Core 100-Gbps networkingAlireza Farshin, Tom Barbette, Amir Roozbeh, Gerald Q. Maguire Jr. et al.ASPLOS 2021 · 46 citations
- Snowcap: synthesizing network-wide configuration updatesTibor Schneider, Rüdiger Birkner, Laurent VanbeverSIGCOMM 2021 · 34 citations
Related papers
- 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
- The benefits of general-purpose on-NIC memoryBoris Pismenny, Liran Liss, Adam Morrison, Dan TsafrirASPLOS 2022 · 28 citations
- NFlow and MVT Abstractions for NFV ScalingZiyan Wu, Yang Zhang, Wendi Feng, Zhi-Li ZhangINFOCOM 2022 · 6 citations
- Microscope: Queue-based Performance Diagnosis for Network FunctionsJunzhi Gong, Yuliang Li, Bilal Anwer, Aman Shaikh et al.SIGCOMM 2020 · 17 citations
- Performance Interfaces for Network FunctionsRishabh R. Iyer, Katerina J. Argyraki, George CandeaNSDI 2022 · 20 citations
