Transparent Memory Service
The Transparent Memory Service (TMS) intercepts Linux glibc.so function calls and reroutes them to the Distributed Persistent Memory Engine (DPME), 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 DPME, a service that maps byte-addressable memory to the MemVerge PMEM store. See MVMalloc Library Call
Intercept Flow.