A Fast Compiler for NetKAT
Steffen Smolka, Spiridon Eliopoulos, Nate Foster, Arjun Guha

TL;DR
This paper introduces a highly efficient compiler for the NetKAT language that supports complex network behaviors and virtual networks, significantly reducing compilation time compared to previous tools.
Contribution
The new compiler employs symbolic automata and binary decision diagrams to enable fast compilation of rich network programs, including global and virtual behaviors.
Findings
Compilation time is reduced by several orders of magnitude.
Supports complex features like regular paths and virtual networks.
Produces smaller forwarding tables for real-world benchmarks.
Abstract
High-level programming languages play a key role in a growing number of networking platforms, streamlining application development and enabling precise formal reasoning about network behavior. Unfortunately, current compilers only handle "local" programs that specify behavior in terms of hop-by-hop forwarding behavior, or modest extensions such as simple paths. To encode richer "global" behaviors, programmers must add extra state -- something that is tricky to get right and makes programs harder to write and maintain. Making matters worse, existing compilers can take tens of minutes to generate the forwarding state for the network, even on relatively small inputs. This forces programmers to waste time working around performance issues or even revert to using hardware-level APIs. This paper presents a new compiler for the NetKAT language that handles rich features including regular…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
