2023/06/18 by Shadaj Laddad, Conor Power, Laddad, Shadaj +7 · 1 citation
Computer Science · #Distributed #Embedded Systems Design Techniques #FOS: Computer and information sciences #Formal Methods in Verification #Parallel #Parallel Computing and Optimization Techniques #Programming Languages (cs.PL) #and Cluster Computing (cs.DC)
paper · pdf · doi:10.48550/arxiv.2306.10585
openalex publication_date 2023/06/18 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
Optimizing a stateful dataflow language is a challenging task. There are strict correctness constraints for preserving properties expected by downstream consumers, a large space of possible optimizations, and complex analyses that must reason about the behavior of the program over time. Classic compiler techniques with specialized optimization passes yield unpredictable performance and have complex correctness proofs. But with e-graphs, we can dramatically simplify the process of building a correct optimizer while yielding more consistent results! In this short paper, we discuss our early work using e-graphs to develop an optimizer for a the Hydroflow dataflow language. Our prototype demonstrates that composing simple, easy-to-prove rewrite rules is sufficient to match techniques in hand-optimized systems.