~/talk

Flo: a Semantic Foundation for Progressive Stream Processing

Talkat POPL 2025 · 2025-01-19..01-25· [distributed-systems]
links:none on file
links:none on file
slides:none on file

Flo formalizes two semantic guarantees: streaming progress (operators must emit meaningful partial outputs for unbounded inputs) and eager execution (operators remain deterministic under dynamically arriving data). A lightweight type system classifies bounded vs unbounded streams, forbids top-level fold on unbounded streams, and enables nested graphs/windows. Proof obligations are local to each operator; composition yields deterministic, fresh outputs (paper proves this). A prototype embeds these concepts as Rust types in Hydro (used to implement Paxos-like components), and models Flink, LVars, and DBSP semantics.

AI-written summary · about

  1. 0:00Flo introduction
  2. 1:29Streams and design principles
  3. 2:32Flow as meta-language
  4. 3:57Correctness proof obligations
  5. 4:58Determinism with eager execution
  6. 8:49Streaming progress behavior
  7. 10:14Bounded vs unbounded streams
  8. 11:41Nested graphs processing
  9. 12:22Hydro implementation
  10. 13:49Q&A
~/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.