arrow_back Back to Gallery
INTERACTIVE V1.0.0

Cuckoo Heavy Keeper

An interactive visualization of the Cuckoo Heavy Keeper algorithm — a frequency estimation data structure that uses cuckoo hashing with lobby/heavy entry separation, probabilistic decay, and promotion/kickout mechanics to identify heavy hitters in data streams.

Accurate Counter (Top-K) K=0
# Item Fingerprint True Estimated
Insert items to see comparison
// Event log — watch promotions and kickouts here
Buckets:
Entries/Bucket:
Promote @:
Total: 0
Unique: 0
Promotions: 0
Kickouts: 0
Hash: MurmurHash3
Empty
Lobby
Heavy
Insert hit
Promotion
Kickout
Query found

Technical Implementation

Core Logic

JavaScript MurmurHash3 Canvas API Zipf Distribution
Last commit: 2 days ago

How It Works

Use the interactive visualization above to explore the Cuckoo Heavy Keeper hands-on. Insert individual items and watch them flow through the lobby → promotion → heavy entry pipeline. Switch to Batch Mode to generate Zipf-distributed data streams and watch the algorithm process them at speed, then slowing down automatically whenever a promotion or kickout event occurs so you can observe the mechanics in action.

Algorithm Breakdown

Cuckoo Heavy Keeper (CHK) is an algorithm for detecting heavy hitters in data streams. It has two versions:

  1. Cuckoo Heavy Keeper (CHK): A fast, accurate, and space-efficient heavy-hitter detection algorithm. It delivers orders of magnitude better throughput and accuracy compared to state-of-the-art methods, even under tight memory constraints. CHK introduces a "lobby" concept that acts as a lightweight filter, requiring items to prove their significance before being promoted. This unlocks new synergies like selective hash collision resolution and pre-calculation.

  2. Parallel Processing Framework: A flexible framework designed to parallelize any heavy-hitter detection algorithm without requiring mergeability. It operates as a wrapper (e.g., ParallelWrapper<HeavyHitterAlgorithm>), allowing developers to achieve near-linear scaling with minimal code changes. Our framework processes billions of updates per second with very low query latency (<150 μsec).

In this visualization, we focus on the first version, Cuckoo Heavy Keeper (CHK).