Lucid: A language for control in the data plane

John Sonchack, Devon Loehr, Jennifer Rexford, David Walker

Research output: Chapter in Book/Report/Conference proceedingConference contribution

37 Scopus citations

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 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.

Original languageEnglish (US)
Title of host publicationSIGCOMM 2021 - Proceedings of the ACM SIGCOMM 2021 Conference
PublisherAssociation for Computing Machinery, Inc
Pages731-747
Number of pages17
ISBN (Electronic)9781450383837
DOIs
StatePublished - Aug 9 2021
Event2021 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, SIGCOMM 2021 - Virtual, Online, United States
Duration: Aug 23 2021Aug 27 2021

Publication series

NameSIGCOMM 2021 - Proceedings of the ACM SIGCOMM 2021 Conference

Conference

Conference2021 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, SIGCOMM 2021
Country/TerritoryUnited States
CityVirtual, Online
Period8/23/218/27/21

All Science Journal Classification (ASJC) codes

  • Computer Networks and Communications
  • Hardware and Architecture
  • Electrical and Electronic Engineering

Keywords

  • data plane programming abstractions
  • network control
  • ordered type-and-effect-system
  • syntactic constraints

Fingerprint

Dive into the research topics of 'Lucid: A language for control in the data plane'. Together they form a unique fingerprint.

Cite this