Transparent Memory Service
The Transparent Memory Service (TMS) intercepts Linux glibc.so function calls and reroutes them to the MemVerge Memory Allocation Service (MVMAS), which manages the MemVerge PMem store.
Most C and C++ applications on Linux are dynamically linked to the GNU C core library glibc.so which provides memory allocation functions such as
mmap()
and malloc()
. Linux offers the ability to
intercept and reroute calls to these functions by naming a preloaded library with identical function
names. The file path of this preloaded library is specified in the LD_PRELOAD environment variable. The preloaded
library (if it has been specified) shadows the glibc.so library and intercepts its function calls.
MemVerge provides a shared library, Transparent Memory Service, that replicates glibc.so’s core memory management functions.
Calls to mmap()
, malloc()
, and other functions are routed
via the TMS to the MVMAS, a service that maps byte-addressable memory to the MemVerge PMem store. See MVMalloc Library Call
Intercept Flow.