arXiv · 2306.10585
Optimizing Stateful Dataflow with Local Rewrites
Abstract
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.
Explore related subjects
Keep this discovery
Shadaj Laddad, Conor Power, Tyler Hou, Alvin Cheung, Joseph M. Hellerstein. 2023-06-18. Optimizing Stateful Dataflow with Local Rewrites. https://arxiv.org/abs/2306.10585
Cite the original work for its findings. Save a collection to share your selection of sources.