~/talk

Safe, Modular Packet Pipeline Programming

Talkat POPL 2022 · 2022-01-16..01-22· [networking]
links:none on file
links:none on file
slides:none on file

Introduces Lucid 2.0, a language and type system that guarantees programs are pipeline-safe on pipelined switches (P4/Intel Tofino targets), adding polymorphism, abstract hierarchical pipeline locations, compile-time vectors and bounded loops, and type inference. Proves soundness and encodes ordering-constraint checking as an SMT constraint encoding; loops are safely verified by unrolling three iterations. Demonstrations include reusable libraries and applications: Bloom filters, sketches, cuckoo hash tables, distributed firewalls, DNS reflection defenses, NATs, and a probabilistic traffic monitor; artifacts are available.

AI-written summary · about

  1. 0:00Intro
  2. 0:37Switch Pipeline
  3. 2:31Lucid: A Language for Control in the Data Plane
  4. 7:02Polymorphic Function Types Function types may also refer to polymorphic locations (here, a and b)
  5. 7:53First Extension: Compound, Abstract Data Types
  6. 10:47Abstracting Records
  7. 12:25Hierarchical Locations
  8. 15:47Second Extension: Vectors and Bounded Loops
  9. 17:39Typechecking loops Tricky part catching errors across iterations of a loop
  10. 18:26Loop Unrolling Lemma
  11. 19:54Related Work
  12. 20:16Conclusion
  13. 23:50Pipeline Types: The Basics If we try to access a global after we've passed it in the pipeline, ERROR!
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.