Maestro: Automatic Parallelization of Software Network Functions
Maestro is a tool that analyzes a sequential implementation of a Software Network Function (NF) and automatically generates an enhanced parallel version that carefully configures the NICs RSS mechanism to distribute traffic across cores, while preserving semantics. When possible, Maestro orchestrates a shared-nothing architecture, with each core operating independently, without requiring shared memory coordination, maximizing performance. Otherwise, Maestro choreographs a fine-grained read-write locking mechanism that optimizes operation for typical Internet traffic.
Further Reading
Main Website: https://maestro.inesc-id.pt/
Francisco Pereira, Fernando M. V. Ramos, and Luis Pedrosa; Automatic Parallelization of Software Network Functions. In 21st USENIX Symposium on Networked Systems Design and Implementation (NSDI'24). 2024
People
- Francisco Pereira (INESC-ID, IST, University of Lisbon)
- Fernando Ramos (INESC-ID, IST, University of Lisbon)
- Luis Pedrosa (INESC-ID, IST, University of Lisbon)