2015
DOI: 10.1002/spe.2338
|View full text |Cite
|
Sign up to set email alerts
|

River: an intermediate language for stream processing

Abstract: 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 f… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
5
0

Year Published

2018
2018
2019
2019

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 10 publications
(5 citation statements)
references
References 63 publications
(109 reference statements)
0
5
0
Order By: Relevance
“…Chandramouli et al presented TiMR, which implemented temporal queries over the MapReduce framework [27]. And finally, Soulé et al [77] presented a type system and smallstep operational semantics for CQL via translation to the Brooklet stream-processing calculus [78]. Synchronous dataflow (SDF) languages were introduced to ease the design of real-time embedded systems.…”
Section: Stream Processing Languagesmentioning
confidence: 99%
See 1 more Smart Citation
“…Chandramouli et al presented TiMR, which implemented temporal queries over the MapReduce framework [27]. And finally, Soulé et al [77] presented a type system and smallstep operational semantics for CQL via translation to the Brooklet stream-processing calculus [78]. Synchronous dataflow (SDF) languages were introduced to ease the design of real-time embedded systems.…”
Section: Stream Processing Languagesmentioning
confidence: 99%
“…Operators can be further configured upon invocation, for example, with windows or output assignments. To facilitate distribution, SPL's semantics are defined to require minimal synchronization between operators [77].…”
Section: Synchronous Dataflowmentioning
confidence: 99%
“…Several existing approaches in database and ML optimization have considered the use of IRs for sharing execution strategies and avoiding materialization, such as Halide [16] for ML and image processing, River [17] for Dataflow programming, and more recently Weld [13] which targets the broader spectrum of batch data analytics. Weld is the most general approach so far to express more than a single data programming frontend.…”
Section: Introductionmentioning
confidence: 99%
“…Despite the ongoing standardization and unification efforts in data streaming, no existing intermediate representation to date provides support for these semantics. IBM's River [17] is the only known data streaming IR, however, it falls short of supporting out-oforder processing or any other frontend whatsoever.…”
Section: Introductionmentioning
confidence: 99%
“…A number of approaches also exist for speeding up extract-transform-load process (e.g., [6], [17]), but they are not designed to handle full analytics pipeline. Formal language was introduced [14] to optimise processing of streaming data, however the optimisation happens at the microservice/function level.…”
Section: Introductionmentioning
confidence: 99%