Synthesizing Runtime Programmable Switch Updates
summary
FlexPlan synthesizes step-by-step runtime P4 switch update plans using program synthesis and an SMT-based verifier, encoding intermediate states as version sketches and pruning search with a snapshot learner and introspection for early termination. It guarantees each transition meets a user spec and fits switch memory, finds a plan whenever one exists, and empirically reduces peak resource spikes versus all-at-once updates while scaling to large, real-world switch.p4 programs; code and evaluations are open source.
AI-written summary · about
chapters (13)
- 0:00Intro
- 0:25Background: Runtime programmable devices
- 1:27Background: multi-step runtime update
- 2:59SOTA: graph analysis and P4 verification
- 4:26FlexPlan: a formal synthesis approach
- 5:08Specification language
- 6:52Program update sketching
- 10:01Optimization: Snapshot learning
- 11:14Optimization: Loop termination
- 12:36Implementation and setup
- 13:00Expressive specs save resources
- 13:41Optimizations improve scalability
- 14:16Summary
related talks
16mRuntime Programmable Switches
14mModular Switch Programming Under Resource Constraints
15mEnabling In-situ Programmability in Network Data Plane: From Architecture to Language
12mFlightplan: Dataplane Disaggregation and Placement for P4 Programs
16mSequence Abstractions for Flexible, Line-Rate Network Monitoring
20mContra: A Programmable System for Performance aware Routing
15mSketchLib: Enabling Efficient Sketch-based Monitoring on Programmable Switches
17mMultitenant In-Network Acceleration with SwitchVM
