Enjima: A Resource-Adaptive Stream Processing System
Lasantha Fernando, Taebin Kim, Khuzaima Daudjee, Tilmann Rabl
Abstract
Effective system resource management is key to delivering high performance stream processing. Stream processing engines (SPEs) rely on their host operating system (OS) for managing compute and memory resources, but this is inefficient as the OS is not stream-aware, i.e., the OS does not understand the streaming dataflow or pipeline state in how they relate to the resource requirements of stream processing. Additionally, the lack of stream-awareness inhibits adaptive resource allocation in response to dynamic workload changes. We present Enjima, a modern SPE designed for scale-up on a single machine through adaptive stream-aware management of memory and compute resources. Enjima's eager, cache-aligned, block-based memory management avoids memory allocation on the critical path of system execution while providing efficient data transfer of events between streaming operators. Its variable batching forms event batches based on pending inputs and available output memory, reducing batching delays and memory accesses to enhance system performance. Enjima integrates a stream-aware, state-based operator scheduler that leverages fine-grained operator and pipeline metrics such as operator cost, selectivity, and latency gradient to optimize for both latency and throughput, enabling significant performance gains and rapid adaptation to dynamic workloads. Evaluation against state-of-the-art systems shows that Enjima achieves up to 6.3× higher throughput and up to three orders of magnitude lower latency through integrated stream-aware memory and CPU resource management.
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 2d97dd4f-7e6c-4e7f-957d-7c74840e1474Builds on4
- Move Fast and Meet Deadlines: Fine-grained Real-time Stream Processing with CameoLe Xu, Shivaram Venkataraman, Indranil Gupta, Luo Mai et al.NSDI 2021 · 38 citations
- LightSaber: Efficient Window Aggregation on Multi-core ProcessorsGeorgios Theodorakis, Alexandros Koliousis, Peter R. Pietzuch, Holger PirkSIGMOD 2020 · 36 citations
- Rethinking Stateful Stream Processing with RDMABonaventura Del Monte, Steffen Zeuch, Tilmann Rabl, Volker MarklSIGMOD 2022 · 13 citations
- Klink: Progress-Aware Scheduling for Streaming Data SystemsOmar Farhat, Khuzaima Daudjee, Leonardo QuerzoniSIGMOD 2021 · 7 citations
Related papers
- Emma: Elastic Multi-Resource Management for Realtime Stream ProcessingRengan Dou, Xin Wang, Richard T. B. MaINFOCOM 2024 · 2 citations
- Meces: Latency-efficient Rescaling via Prioritized State Migration for Stateful Distributed Stream Processing SystemsRong Gu, Han Yin, Weichang Zhong, Chunfeng Yuan et al.USENIX ATC 2022 · 22 citations
- NebulaStream: An Adaptive and Efficient Multi-Query Stream Processing EngineNils L. Schubert, Lukas Schwerdtfeger, Sara Schnaterbeck, Philipp M. Grulich et al.ICDE 2026
- Latency-Oriented Elastic Memory Management at Task-Granularity for Stateful Streaming ProcessingRengan Dou, Richard T. B. MaINFOCOM 2023 · 2 citations
- SPEAr: Expediting Stream Processing with Accuracy GuaranteesNikos R. Katsipoulakis, Alexandros Labrinidis, Panos K. ChrysanthisICDE 2020 · 9 citations
