Runtime Programmable Switches
Talkat 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI '22) · 2022-04-04..04-06·
summary
Prototype called FlexCore performs partial reconfiguration primitives on P4 pipelines by atomically switching PD-table pointers and installing flex edges, enabling runtime upgrades without draining or reflashing and with zero packet loss. Implementation targets Nvidia Spectrum‑2 silicon and a bmv2-based software simulator. Multi-step upgrades use multi-level consistency (program, element, execution) to avoid transient bad states. Case study swaps unicast for multicast in‑flight, improves completion time, reports no packet loss during changes, and shows removing multicast saves ~20 ns pipeline latency.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:24Background: Programmable switche
- 1:22From compile-time to runtime programm
- 1:53Benefits of runtime programmability
- 2:50FlexCore: A whole-stack design
- 3:44Flexible switch architect
- 4:17Solution: Disaggregated RMT architect
- 5:08Partial reconfiguration with indirectid
- 7:41More partial reconfiguration primitive
- 8:17Atomic changes
- 9:06Solution: Version control with FlexEd
- 10:11Finer-grained partial upd
- 11:31Solution: Multi-level consistency for multi-s
- 12:17Implementation and setup
- 12:59Case study: Accelerated multicast
- 14:03More results in the paper
- 14:15Summary
related talks
15mSynthesizing Runtime Programmable Switch Updates
14mEmpower Programmable Pipeline for Advanced Stateful Packet Processing
17mMultitenant In-Network Acceleration with SwitchVM
20mContra: A Programmable System for Performance aware Routing
19mExoPlane: An Operating System for On-Rack Switch Resource Augmentation
12mDebugging Transient Faults in Data Centers using Synchronized Network-wide Packet
20mA Composable Emulation Framework for Whitebox Switches
47mDeep Programmability: A New Lens on Networking
