ASYNCHRONOUS SAFE MEMORY RECLAMATION

ASMR for Lock-Free Data Structures

Kovan implements ASMR - a snapshot-free, slot-based approach that eliminates read overhead. Reference counting occurs only during reclamation, not during object access, delivering superior performance for read-heavy concurrent data structures.
2x
Throughput vs EBR
0
Read Overhead
O(1)
Object Load

ASMR Algorithm

Snapshot-free memory reclamation using slot-based retirement lists with deferred reference counting.

Zero Read Overhead

Object loads require only a single atomic read - no reference count updates during access.

Slot-Based Architecture

Fixed k slots distribute load evenly across threads without global synchronization points.

Batch Retirement

Retire batches of nodes atomically for efficient amortized reclamation cost.

Wait-Free Progress

Wait-free progress guarantee without mutexes, spinlocks, or blocking primitives.

Flat Memory Usage

Predictable memory consumption - unlike EBR's growing memory usage pattern.

use kovan::{Guard, Atomic}; let atomic = Atomic::new(42); let guard = Guard::new(); let shared = atomic.load(&guard); println!("Value: {}", shared);