Overview
This course aims to teach learners how to use the Cetus system to automatically convert uncompilable P4 programs into compilable ones. The course covers topics such as data plane programming, investigating and fixing fitting issues, Cetus architecture, dependency graph building, constraint-based filtering, and deployment experiences. By the end of the course, learners will have the skills to efficiently synthesize compilable P4 programs, decrease development workload, and address real cases using Cetus. The course is designed for P4 programmers, network engineers, and individuals interested in programmable switches and network function offloading.
Syllabus
Intro
Data plane programming ran into fitting issues
Investigation: how we fixed fitting issues manually
Observation A1: diameter is long in our production
Observation A2: many memory resources are wasted
Observation B1: chip-specific resource adds limits
Cetus Architecture
Dependency graph building
How we remove dependency: WAR
Table merging: candidate generation and prefiltering
Constraint-based Filter
Challenge: search space is too large
Our solution: 2-step solving
Deployment experience
A real case solved by Cetus
Conclusion
Taught by
USENIX