Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a groundbreaking approach to modular switch programming in this 14-minute conference talk from NSDI '22. Dive into P4All, an extension of P4 that introduces elastic data structures for optimal resource utilization in programmable networks. Learn how this innovative solution addresses challenges in access control, routing, monitoring, caching, and synchronization. Discover the power of symbolic primitives and objective functions in defining flexible data structures that automatically adapt to available switch resources. Examine the implementation of the P4All compiler, utilizing dependency analysis, loop unrolling, and constraint solving techniques. Gain insights into the creation of reusable elastic data structures such as hash tables, Bloom filters, sketches, and key-value stores. Evaluate the compiler's performance and its ability to efficiently translate elastic programs into P4 code. Understand how P4All enhances modularity, eliminates frustrating compile-debug cycles, and optimizes resource allocation in programmable networks.
Syllabus
Intro
Traditional switches hinder innovation
Protocol Independent Switch Architecture
Programming Protocol Independent Packet Processors
P4 code should be reusable
P4 code is not reusable
Circular Development
P4All mitigates circularity
Protocol-Independent Switch Architecture
PISA
Count-Min Sketch
Data Plane Caching
Tracking Key Popularity
Resources vs Accuracy
Elastic Structures
Elastic Operations
Objective Functions
P4All Compiler
ILP Constraints
ILP Objective
ILP Overhead
Conclusion
Taught by
USENIX