Devon Loehr will present his FPO "Lucid: A High-Level, Easy-To-Use Dataplane Programming Language" on Friday, December 1, 2023 in CS 302 at 1pm and Zoom
Devon Loehr will present his FPO "Lucid: A High-Level, Easy-To-Use Dataplane Programming Language" on Friday, December 1, 2023 in CS 302 at 1pm and Zoom Zoom link: [ https://princeton.zoom.us/j/97653187562?pwd=TmFNVjl1TWJDMkk5bW5Eaitxb05qUT09 | https://princeton.zoom.us/j/97653187562?pwd=TmFNVjl1TWJDMkk5bW5Eaitxb05qUT09 ] The members of his committee are as follows: Readers: Aarti Gupta and Andrew Appel Examiners: David Walker (Adviser), Jennifer Rexford, and Amit Levy Abstract : The introduction of programmable switches and the P4 language for programming them has made it possible for network operators to write ever-more sophisticated network applications, and execute them at high speed. However, possible is not the same as easy. The de facto standard dataplane programming language, P4, is akin to an “assembly language” for programmable switches: it provides a powerful but low-level interface to switch hardware. While this gives the programmer fine-grained control, it makes it difficult to write and reason about programs with complicated high-level behavior. Furthermore, modern hardware is heavily specialized for packet processing. While this specialization allows blazing fast speeds, it also heavily restricts the sorts of programs a programmable switch can run. Unfortunately, such restrictions are poorly-represented in modern dataplane languages. Should a program violate one or more of these restrictions, it will fail to compile, often with an arcane or unhelpful error message. This dissertation presents Lucid, a high-level, event-based language for programmable switches. Lucid raises the level of abstraction for data-plane program- ming in several ways. Control flow is represented by events, each of which has an associated handler that is executed when the event is generated. Different threads of control may be interleaved easily by writing them as handlers for separate events. Lucid provides high-level representations of switch hardware restrictions, which are enforced by syntactic checks, including a novel type system for detecting ordering violations. Lucid is compiled to P4 for the Intel Tofino, and we find that Lucid programs typically contain around 10 times fewer lines of code than equivalent P4 programs. Furthermore, the Lucid interpreter may be used to quickly evaluate different configurations of a Lucid program, in order to automatically optimize a single program for different networking environments.
participants (1)
-
Nicki Mahler