Vmem is split out of PMDK

Introduction

We have just split libvmem and its companion libvmmalloc out of the PMDK tree. They now live in a separate repository, and will follow their own release cadence. And, as these libraries are considered mature and finished, no new releases are planned once the split has been tested and tagged – except for defects and new requirements of underlying platforms.

Further development

libvmem remains the only way to use filesystem-managed persistent memory for volatile allocations on Windows.

On Linux, though, you are better served by memkind instead of libvmem in new code – it provides extra features such as NUMA awareness and handling of other kinds of memory.

As for libvmmalloc, new kernel features allow redirecting an unported program to volatile persistent memory by attaching that memory to a separate NUMA node you can then assign your program to with numactl -m or numactl --preferred.

Effects on PMDK

Besides separating out unrelated modes of use (PMDK is meant for Persistent usage), libvmem included a different build system and a test suite, frustrating maintenance of PMDK and making clean-ups hard. Splitting VMEM out already revealed an issue fixing which sped up compiles by a factor of 4.

Share this Post:

Related Posts: