A catalog of stream processing optimizations

Date

2014

Authors

Hirzel M.
Soulé R.
Schneider S.
Gedik, B.
Grimm, R.

Editor(s)

Advisor

Supervisor

Co-Advisor

Co-Supervisor

Instructor

Source Title

ACM Computing Surveys

Print ISSN

0360-0300

Electronic ISSN

Publisher

Association for Computing Machinery

Volume

46

Issue

4

Pages

1 - 34

Language

English

Journal Title

Journal ISSN

Volume Title

Series

Abstract

Various research communities have independently arrived at stream processing as a programming model for efficient and parallel computing. These communities include digital signal processing, databases, operating systems, and complex event processing. Since each community faces applications with challenging performance requirements, each of them has developed some of the same optimizations, but often with conflicting terminology and unstated assumptions. This article presents a survey of optimizations for stream processing. It is aimed both at users who need to understand and guide the system's optimizer and at implementers who need to make engineering tradeoffs. To consolidate terminology, this article is organized as a catalog, in a style similar to catalogs of design patterns or refactorings. To make assumptions explicit and help understand tradeoffs, each optimization is presented with its safety constraints (when does it preserve correctness?) and a profitability experiment (when does it improve performance?). We hope that this survey will help future streaming system builders to stand on the shoulders of giants from not just their own community. © 2014 ACM.

Course

Other identifiers

Book Title

Citation