Automatic Parallelization of Software Network Functions
Talkat 21st USENIX Symposium on Networked Systems Design and Implementation (NSDI '24) · 2024-04-16..04-18·
summary
Maestro analyzes sequential NF code with exhaustive symbolic execution and static analysis, encodes sharding constraints as SMT queries, and outputs NIC RSS keys plus generated parallel C to enforce them. It parallelizes 8 real NFs, produces shared-nothing implementations that scale roughly linearly to PCIe or 100 Gbps with typical Internet traffic, and falls back to an optimized read-write locking design or hardware transactional memory. The system reports SMT-derived RSS configurations and shows better and more predictable throughput than HTM.
AI-written summary · about
chapters (9)
- 0:00Automatic parallelization intro
- 1:41Why parallelization is needed
- 3:51Parallelization challenges
- 5:35Introducing MRO
- 7:20MRO pipeline & symbolic execution
- 9:07Generating sharding constraints
- 11:35Configuring NIC for sharding
- 12:41Evaluating parallelization tech
- 15:29Conclusion & Q&A
related talks
24mMetron: NFV Service Chains at the True Speed of the Underlying Hardware
16mLemonNFV: Consolidating Heterogeneous Network Functions at Line Speed
26mPerformance Contracts for Software Network Functions
16mRingLeader: Efficiently Offloading Intra-Server Orchestration to NICs
21mFuture Challenges for HPC Networking @Scale
16mTowards Optimal Rack-scale μs-level CPU Scheduling through In-Network Workload...
16mHeteroSketch: Coordinating Network-wide Monitoring in Heterogeneous and Dynamic Networks
20mNetKernel: Making Network Stack Part of the Virtualized Infrastructure
