67
When to use it?
Use libvmemcache when implementing caching for workloads that typically would
have low space efficiency when cached using a system with a normal memory allocation
scheme.
libvmem
What is it?
libvmem is a deprecated predecessor to libmemkind. It is a jemalloc-derived
memory allocator, with both metadata and objects allocations placed in file-based
mapping. The libvmem library is an open source project available from https://pmem.
io/pmdk/libvmem/.
When to use it?
Use libvmem only if you have an existing application that uses libvmem or if you
need to have multiple completely separate heaps of memory. Otherwise, consider using
libmemkind.
Persistent Libraries
Persistent libraries help applications maintain data structure consistency in the presence
of failures. In contrast to the previously described volatile libraries, these provide new
semantics and take full advantage of the unique possibilities enabled by persistent
memory.
libpmem
What is it?
libpmem is a low-level C library that provides basic abstraction over the primitives
exposed by the operating system. It automatically detects features available in the
platform and chooses the right durability semantics and memory transfer (memcpy())
methods optimized for persistent memory. Most applications will need at least parts of
this library.
Chapter 5 IntroduCIng the persIstent MeMory developMent KIt
Précédent

- 95/457

Suivant