🎯 NUMA Memory Access & False Sharing
Compare the latency penalty when two cores write to adjacent variables sharing one cache line versus a padded, aligned layout, and see how NUMA memory placement compounds the cost.
The simulation compares two cores writing to adjacent variables packed on one cache line against the same variables padded onto separate lines, showing the resulting coherence traffic and latency difference, with an optional NUMA node placement layer added on top.
🔬 What It Demonstrates
The simulation compares two cores writing to adjacent variables packed on one cache line against the same variables padded onto separate lines, showing the resulting coherence traffic and latency difference, with an optional NUMA node placement layer added on top.
🎮 How to Use
Toggle between packed and padded memory layouts and assign cores to the same or different NUMA nodes, then run the write workload to compare measured latency and coherence event counts between configurations.
💡 Did You Know?
Padding a single 4-byte counter out to a full 64-byte cache line wastes 60 bytes of memory per counter, yet this deliberate waste can make heavily contended multithreaded code run several times faster.
Compare the latency penalty when two cores write to adjacent variables sharing one cache line versus a padded, aligned layout, and see how NUMA memory placement compounds the cost.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install