LightSaber: Efficient Window Aggregation on Multi-core Processors
Georgios Theodorakis, Alexandros Koliousis, Peter R. Pietzuch, Holger Pirk
Abstract
Window aggregation queries are a core part of streaming applications. To support window aggregation efficiently, stream processing engines face a trade-off between exploiting parallelism (at the instruction/multi-core levels) and incremental computation (across overlapping windows and queries). Existing engines implement ad-hoc aggregation and parallelization strategies. As a result, they only achieve high performance for specific queries depending on the window definition and the type of aggregation function. We describe a general model for the design space of window aggregation strategies. Based on this, we introduce LightSaber, a new stream processing engine that balances parallelism and incremental processing when executing window aggregation queries on multi-core CPUs. Its design generalizes existing approaches: (i) for parallel processing, LightSaber constructs a parallel aggregation tree (PAT) that exploits the parallelism of modern processors. The PAT divides window aggregation into intermediate steps that enable the efficient use of both instruction-level (i.e., SIMD) and task-level (i.e., multi-core) parallelism; and (ii) to generate efficient incremental code from the PAT, LightSaber uses a generalized aggregation graph (GAG), which encodes the low-level data dependencies required to produce aggregates over the stream. A GAG thus generalizes state-of-the-art approaches for incremental window aggregation and supports work-sharing between overlapping windows. LightSaber achieves up to an order of magnitude higher throughput compared to existing systems-on a 16-core server, it processes 470 million records/s with 132 ?s average latency.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext ebe9d439-d304-4293-85d2-6175ca886adaCited by top-tier papers10
- Babelfish: Efficient Execution of Polyglot QueriesPhilipp Marian Grulich, Steffen Zeuch, Volker MarklVLDB 2022 · 32 citations
- Scabbard: Single-Node Fault-Tolerant Stream ProcessingGeorgios Theodorakis, Fotios Kounelis, Peter R. Pietzuch, Holger PirkVLDB 2022 · 21 citations
- Parallelizing Intra-Window Join on Multicores: An Experimental StudyShuhao Zhang, Yancan Mao, Jiong He, Philipp M. Grulich et al.SIGMOD 2021 · 16 citations
- To Share, or not to Share Online Event Trend Aggregation Over Bursty Event StreamsOlga Poppe, Chuan Lei, Lei Ma, Allison Rozet et al.SIGMOD 2021 · 13 citations
- Rethinking Stateful Stream Processing with RDMABonaventura Del Monte, Steffen Zeuch, Tilmann Rabl, Volker MarklSIGMOD 2022 · 13 citations
Related papers
- Accelerating Stream Processing Engines via Hardware OffloadingZhengyan Guo, Mingxing Zhang, Yingdi Shan, Kang Chen et al.SIGMOD 2026
- Efficient Incremental Computation of Aggregations over Sliding WindowsChao Zhang, Reza Akbarinia, Farouk ToumaniKDD 2021 · 11 citations
- TiLT: A Time-Centric Approach for Stream Query Optimization and ParallelizationAnand Jayarajan, Wei Zhao, Yudi Sun, Gennady PekhimenkoASPLOS 2023 · 6 citations
- Parallel Index-based Stream Join on a Multicore CPUAmirhesam Shahvarani, Hans-Arno JacobsenSIGMOD 2020 · 20 citations
- SASPAR: Shared Adaptive Stream PartitioningJeyhun Karimov, Hans-Arno JacobsenICDE 2023 · 3 citations
