OBASE: Object-Based Address-Space Engineering to Improve Memory Tiering

make memory tiering effective with hotnesss object clustering

Featured image

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?


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


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