Lucid: A Language for Control in the Data Plane
Autor: | Devon Loehr, Jennifer Rexford, David Walker, John Sonchack |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2021 |
Předmět: |
Networking and Internet Architecture (cs.NI)
FOS: Computer and information sciences Source lines of code Computer Science - Programming Languages Syntax (programming languages) Programming language Computer science computer.software_genre Computer Science - Networking and Internet Architecture C.2.1 Stateful firewall Forwarding plane Compiler State (computer science) Software_PROGRAMMINGLANGUAGES Control logic Programmer computer Programming Languages (cs.PL) |
Zdroj: | SIGCOMM |
Popis: | 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 in Lucid. Working prototypes take well under an hour to write, even for a programmer without prior Tofino experience, have around 10x fewer lines of code compared to P4, and compile efficiently to real hardware. In a stateful firewall written in Lucid, we find that moving control from a switch's CPU to its data-plane processor using Lucid reduces the latency of performance-sensitive operations by over 300X. 12 pages plus 5 pages references/appendix. 17 figures. To appear in SIGCOMM 2021 |
Databáze: | OpenAIRE |
Externí odkaz: |