Cuckoo Heavy Keeper and the balancing act of maintaining heavy hitters in stream processing
Vinh Quang Ngo, Marina Papatriantafilou
TL;DR
Heavy hitters in data streams require high throughput, bounded memory, and accurate frequency estimates, even under concurrent inserts and queries. Cuckoo Heavy Keeper (CHK) rethinks the data flow by inserting a lightweight lobby as a filtering stage before a cuckoo-hashed heavy-part, enabling selective collision resolution and system-aware optimization. The authors also introduce a parallel framework with mCHK-I and mCHK-Q that wraps CHK (and other sequential heavy-hitter algorithms) to support concurrent inserts and queries without requiring mergeable data structures, achieving near-linear scale and low latency. Across real and synthetic workloads, CHK delivers 1.7–5.7x throughput gains and up to four orders of magnitude accuracy improvements, with robust performance under memory constraints and varying data skew, demonstrating practical impact for large-scale stream processing systems.
Abstract
Finding heavy hitters in databases and data streams is a fundamental problem with applications ranging from network monitoring to database query optimization, machine learning, and more. Approximation algorithms offer practical solutions, but they present trade-offs involving throughput, memory usage, and accuracy. Moreover, modern applications further complicate these trade-offs by demanding capabilities beyond sequential processing that require both parallel scaling and support for concurrent queries and updates. Analysis of these trade-offs led us to the key idea behind our proposed streaming algorithm, Cuckoo Heavy Keeper (CHK). The approach introduces an inverted process for distinguishing frequent from infrequent items, which unlocks new algorithmic synergies that were previously inaccessible with conventional approaches. By further analyzing the competing metrics with a focus on parallelism, we propose an algorithmic framework that balances scalability aspects and provides options to optimize query and insertion efficiency based on their relative frequencies. The framework is capable of parallelizing any heavy-hitter detection algorithm. Besides the algorithms' analysis, we present an extensive evaluation on both real-world and synthetic data across diverse distributions and query selectivity, representing the broad spectrum of application needs. Compared to state-of-the-art methods, CHK improves throughput by 1.7-5.7$\times$ and accuracy by up to four orders of magnitude even under low-skew data and tight memory constraints. These properties allow its parallel instances to achieve near-linear scale-up and low latency for heavy-hitter queries, even under a high query rate. We expect the versatility of CHK and its parallel instances to impact a broad spectrum of tools and applications in large-scale data analytics and stream processing systems
