Auto-parallelizing stateful distributed streaming applications
Scott Schneider, Martin Hirzel, et al.
PACT 2012
Summary This paper presents both a calculus for stream processing, named Brooklet, and its realization as an intermediate language, named River. Because River is based on Brooklet, it has a formal semantics that enables reasoning about the correctness of source translations and optimizations. River builds on Brooklet by addressing the real-world details that the calculus elides. We evaluated our system by implementing front-ends for three streaming languages, and three important optimizations, and a back-end for the System S distributed streaming runtime. Overall, we significantly lower the barrier to entry for new stream-processing languages and thus grow the ecosystem of this crucial style of programming.
Scott Schneider, Martin Hirzel, et al.
PACT 2012
Zhihong Xu, Martin Hirzel, et al.
IISWC 2013
Nalini Belaramani, Jiandan Zheng, et al.
NSDI 2009
Andrew Habib, Avraham Shinnar, et al.
ISSTA 2021