Modular Switch Programming Under Resource Constraints
Talkat 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI '22) · 2022-04-04..04-06·
summary
P4All extends P4 with elastic data structures (symbolic sizes + objective functions) and compile-time loops and uses dependency analysis plus an ILP-based compiler to pick concrete sizes and stage placements. The system builds reusable hash tables, Bloom filters, sketches and a key-value cache that fit real switch pipelines. Compilation runs range from under 1s to ~30s for most apps (one app 8 minutes); an elastic count-min sketch compiles in 1.8s on a Tofino-like target and 3.5 minutes when stages double.
AI-written summary · about
chapters (21)
- 0:00Intro
- 0:21Traditional switches hinder innovation
- 0:33Protocol Independent Switch Architecture
- 0:55Programming Protocol Independent Packet Processors
- 1:18P4 code should be reusable
- 1:30P4 code is not reusable
- 2:17Circular Development
- 2:35P4All mitigates circularity
- 3:21Protocol-Independent Switch Architecture
- 5:00Count-Min Sketch
- 5:47Data Plane Caching
- 6:45Tracking Key Popularity
- 7:32Resources vs Accuracy
- 8:17Elastic Structures
- 9:08Elastic Operations
- 9:47Objective Functions
- 10:59P4All Compiler
- 11:27ILP Constraints
- 11:39ILP Objective
- 12:19ILP Overhead
- 13:24Conclusion
related talks
15mSynthesizing Runtime Programmable Switch Updates
01h 08mThe Network is the Computer: A Programming Language Perspective
17mSketchovsky: Enabling Ensembles of Sketches on Programmable Switches
19mExoPlane: An Operating System for On-Rack Switch Resource Augmentation
16mSirius: Composing Network Function Chains into P4-Capable Edge Gateways
12mFlightplan: Dataplane Disaggregation and Placement for P4 Programs
14mMultitenancy for Fast and Programmable Networks in the Cloud
16mSequence Abstractions for Flexible, Line-Rate Network Monitoring
