TL;DR
Lucid is a new high-level language that simplifies programming control logic directly into network data planes, enabling easier development of efficient, bug-resistant, and high-performance network applications on programmable switches.
Contribution
Lucid introduces abstractions, type systems, and a compiler that make data-plane control programming more accessible, efficient, and less error-prone compared to existing languages like P4.
Findings
Ten data-plane applications written in Lucid are concise and easy to develop.
Lucid programs compile efficiently to real hardware with significantly fewer lines of code.
Moving control logic to the data plane reduces firewall latency by over 300 times.
Abstract
Programmable switch hardware makes it possible to move fine-grained control logic inside the network data plane, improving performance for a wide range of applications. However, applications with integrated control are inherently hard to write in existing data-plane programming languages such as P4. This paper presents Lucid, a language that raises the level of abstraction for putting control functionality in the data plane. Lucid introduces abstractions that make it easy to write sophisticated data-plane applications with interleaved packet-handling and control logic, specialized type and syntax systems that prevent programmer bugs related to data-plane state, and an open-sourced compiler that translates Lucid programs into P4 optimized for the Intel Tofino. These features make Lucid general and easy to use, as we demonstrate by writing a suite of ten different data-plane applications…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
