TY - GEN
T1 - From a calculus to an execution environment for stream processing
AU - Soulé, Robert
AU - Hirzel, Martin
AU - Gedik, Buǧra
AU - Grimm, Robert
PY - 2012
Y1 - 2012
N2 - At one level, this paper is about River, a virtual execution environment for stream processing. Stream processing is a paradigm well-suited for many modern data processing systems that ingest high-volume data streams from the real world, such as audio/video streaming, high-frequency trading, and security monitoring. One attractive property of stream processing is that it lends itself to parallelization on multicores, and even to distribution on clusters when extreme scale is required. Stream processing has been co-evolved by several communities, leading to diverse languages with similar core concepts. Providing a common execution environment reduces language development effort and increases portability. We designed River as a practical realization of Brooklet, a calculus for stream processing. So at another level, this paper is about a journey from theory (the calculus) to practice (the execution environment). The challenge is that, by definition, a calculus abstracts away all but the most central concepts. Hence, there are several research questions in concretizing the missing parts, not to mention a significant engineering effort in implementing them. But the effort is well worth it, because using a calculus as a foundation yields clear semantics and proven correctness results.
AB - At one level, this paper is about River, a virtual execution environment for stream processing. Stream processing is a paradigm well-suited for many modern data processing systems that ingest high-volume data streams from the real world, such as audio/video streaming, high-frequency trading, and security monitoring. One attractive property of stream processing is that it lends itself to parallelization on multicores, and even to distribution on clusters when extreme scale is required. Stream processing has been co-evolved by several communities, leading to diverse languages with similar core concepts. Providing a common execution environment reduces language development effort and increases portability. We designed River as a practical realization of Brooklet, a calculus for stream processing. So at another level, this paper is about a journey from theory (the calculus) to practice (the execution environment). The challenge is that, by definition, a calculus abstracts away all but the most central concepts. Hence, there are several research questions in concretizing the missing parts, not to mention a significant engineering effort in implementing them. But the effort is well worth it, because using a calculus as a foundation yields clear semantics and proven correctness results.
KW - CQL
KW - Domain specific language
KW - Intermediate language
KW - Sawzall
KW - Stream processing
KW - StreamIt
UR - http://www.scopus.com/inward/record.url?scp=84865046741&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84865046741&partnerID=8YFLogxK
U2 - 10.1145/2335484.2335487
DO - 10.1145/2335484.2335487
M3 - Conference contribution
AN - SCOPUS:84865046741
SN - 9781450313155
T3 - Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems, DEBS'12
SP - 20
EP - 31
BT - Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems, DEBS'12
T2 - 6th ACM International Conference on Distributed Event-Based Systems, DEBS'12
Y2 - 16 July 2012 through 20 July 2012
ER -