The Atomic Tree Engine is a high-performance persistent memory visualization tool. It demonstrates how modern CPU micro-architecture (Store Buffers, Cache Hierarchies) interacts with Non-Volatile Memory (NVM) using advanced data structures like NV-Tree and WORT.
Analogy: It is a "Glass-Walled High-Speed Train System". You (the user) are in the Control Tower (VS Code), watching the tracks being laid (Flushes) and verified (Fences) milliseconds before the Train (Atomic Pointer Update) switches tracks.
Implemented Components
1. Backend (C++)
Primitives: Low-level wrappers for CLFLUSHOPT and SFENCE with instruction tracing.
See: backend/src/primitives.cpp
Allocator: Bitmap-based Persistent Allocator using Memory Mapped Files (Win32).
See: backend/src/allocator.cpp
NV-Tree: Implements "Atomic Split" (Shadow Paging) to ensure crash consistency.
See: backend/src/b_tree.cpp
WORT: Write-Optimal Radix Tree using 8-byte failure-atomic updates.
See: backend/src/wort.cpp
Manager: JSON-RPC Loop handling commands from VS Code.
See: backend/src/manager.cpp
2. VS Code Extension
Control Tower: Spawns the backend process and routes telemetry.