Incremental Specialization of Network Programs
Specializing network devices and control plane programs for optimized performance. Respecialize based on updates and staleness levels. Leveraging observations for efficient control-plane updates.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Incremental Specialization of Network Programs Fabian Ruffy, Zhanghan Wang (New York University), Gianni Antichi (Politecnicodi Milano), AurojitPanda, Anirudh Sivaraman(New York University)
Specializing Network Devices Control plane Program Optimizing compiler Control-plane API Parse IPv6 Packets Forward Parse Ethernet Drop Parse IPv4 Tunnel Programmable network device 2
Specializing Network Devices Control plane rules Control plane Program CPUs: fewer branches and instructions! ESwitch (SIGCOMM 16) Specialization inputs Specializing compiler Optimizing compiler HODA (EuroSys 24) Traffic workload Switch ASICs: space for other NFs! Morpheus (ASPLOS 22) Control-plane API Parse IPv6 Packets Forward FPGAs: a little bit of both! Pipeleon (SIGCOMM 23) Parse Ethernet Drop Parse IPv4 Tunnel Programmable network device 3
Your Optimization Inputs Can And Will Change Insert drop rules! Resolving program staleness Control plane Program Specialization inputs Specializing compiler Degree of Staleness Control-plane API Respecialize on every update Respecialize in fixed intervals Parse IPv6 Packets Forward ? Parse Ethernet Drop Incremental respecialization Your program is stale! (only when necessary) Programmable network device 4
Three Observations We Can Use To Our Advantage 1. Traffic workloads are measured. Control-plane configurations are defined. 2. Many control-plane updates are only targeting a specific program element. 3. Many control-plane updates don t affect semantics in your source program. 5
Incremental Specialization Control plane Update: Remove all drop rules Specialization shim Specialization inputs Compiler Recompile Affected? Behavior change? Parser ACL ACL ACL* Tunnel Network device program 6
Does Incremental Specialization Work? We implemented partial evaluation for P4. Dead code removal, constant substitution, table inlining. There are challenges and limitations course! Please see our paper for implementation details. Control-plane specialization can already save resources. Our analysis saved 20% stages on a SCION Tofino program. The specialization is incremental. We process profile updates and make a decision within 100ms. 7
Where We Are Stuck: The Ecosystem Is Not There Yet Enablers for incremental specialization Control plane Incremental compilation: only recompile the pieces that changed. Specialization shim Specialization inputs Partial reconfiguration: change program modules disruption-free. Compiler Recompile Parser ACL* A A Tunnel Network device program 8
Projects For The Community Realizing partial reconfiguration and incremental recompilation. Explore trade-offs between specialization quality and specialization durability. Apply incremental specialization to the rest of the network. Consider reintegrating traffic information as optimization input. Reliably! Project Repository: https://github.com/nyu-systems/flay 9