OBASE: Object-Based Address-Space Engineering to Improve Memory Tiering
make memory tiering effective with hotnesss object clustering
Background
Data center overprovision DRAM. Because of inefficient memory tiering
Because of the hotness fragmentation: allocators place objects by size rather than access pattern, so hot and cold objects become interleaved within the same pages. -> trapping the whole page in expensive DRAM -> 97% of the bytes in active pages are cold
why?
- application : access data at object granularity
- OS: manages memory at fixed-size page granularity
Key Idea
dynamically reorganizing virtual memory -> so that hot objects cluster into uniformly hot pages/ cold objects into uniformly cold pages. How?: with pointer
Solution
OBASE: an intelligent frontend for memory organization / clustering hot and cold objects together.
OBASE tracks accesses via lightweight pointer instrumentation and migrates objects at runtime using a lock-free protocol that is safe under concurrency.
By reorganizing the address space, OBASE enables unmodified backends (kswapd, TMO, TPP, Memtis) to tier memory effectively.
OBASE prepares the memory layout for any OS backend, enabling them to work more effectively.
OBASE preserves a familiar programming model: developers annotate which pointer fields may relocate, and the compiler routes their accesses through guides.
This does require giving up two assumptions (stable object addresses and pointer arithmetic over managed objects) and applies to pointer-based structures rather than arbitrary code;
Evaluation
- improves page utilization by 2–4×
- reduces memory footprint by up to 70%, with only 2–5% overhead.
Thoughts & Questions
Root cause is really interesting. figuring this out itself is great work i think. and solution: pointer itself is nothing novel but at least seems most easy to implement & practical approach.
However it is true that some hardware method seems fit better for this problem. Because the area itself is hardware.
Input
- DRAM is expensive : 50% of server capital expenses
- Memory tiering promises: by placing cold, less accessed data in cheaper, slower tiers—such as compressed memory, SSDs, or CXL-attached disaggregated memory—one could significantly reduce the expensive DRAM capacity required, thereby lowering costs
- objects identified as hot when allocated will change throughout their lifetimes.
- identifying hotness at allocation time is challenging because the same code path allocates objects with vastly different lifecycles.