Cetus: Releasing P4 Programmers from the Chore of Trial and Error Compiling
Talkat 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI '22) · 2022-04-04..04-06·
summary
Cetus targets uncompilable P4 programs used on programmable ASIC switches at Alibaba by automatically rewriting them into functionally identical, compilable P4 code. It analyzes production fitting failures—finding long dependency chains between actions are the main cause—and synthesizes transformed programs that shorten those chains to meet hardware resource constraints. The paper describes the Cetus design, real production cases, and an evaluation showing it reduced developer turnaround from days to minutes.
AI-written summary · about
chapters (16)
- 0:00Intro
- 1:22Data plane programming ran into fitting issues
- 3:25Investigation: how we fixed fitting issues manually
- 3:56Observation A1: diameter is long in our production
- 5:36Observation A2: many memory resources are wasted
- 6:35Observation B1: chip-specific resource adds limits
- 8:02Cetus Architecture
- 8:52Dependency graph building
- 9:32How we remove dependency: WAR
- 10:44Table merging: candidate generation and prefiltering
- 11:33Constraint-based Filter
- 12:00Challenge: search space is too large
- 12:53Our solution: 2-step solving
- 13:48Deployment experience
- 14:05A real case solved by Cetus
- 15:13Conclusion
related talks
18mP4Cub: A Little Language for Big Routers
16mSirius: Composing Network Function Chains into P4-Capable Edge Gateways
14mMultitenancy for Fast and Programmable Networks in the Cloud
15mWhen P4 Meets Run-to-completion Architecture
12mP4EC: Enabling Terabit Edge Computing in Enterprise 4G LTE
22mP4-Based Automated Reasoning (P4-BAR) using Symbolic Execution
25mP4-SpecTec: A Language Mechanization Framework for P4
01h 08mThe Network is the Computer: A Programming Language Perspective
