New release of PMDK

New release of PMDK

If you are following our mailing group, you’ve probably noticed a stream of release announcements for libraries that are a part of PMDK. Here’s a recap of the most important new features and additions. libpmemkv 1.0 The primary goal of PMDK is enabling adoption of Persistent Memory. We …

Read More
C++ standard limitations and Persistent Memory

C++ standard limitations and Persistent Memory

Introduction C++ language restrictions and the persistent memory programming paradigm imply serious restrictions on objects which may be stored on persistent medium. A user can access persistent memory with memory mapped files to take advantage of its byte addressability thanks to libpmemobj and …

Read More
Multi-level vmemcache

Multi-level vmemcache

Introduction vmemcache which we have recently described performs close to optimum when either all keys are approximately equally likely to be queried, or when all key:value pairs fit completely into the fastest form of memory you are willing to use. But, in many workloads, some keys are “hot” and …

Read More
libvmemcache - buffer-based LRU cache

libvmemcache - buffer-based LRU cache

Introduction libvmemcache is a volatile key-value store optimized for operating on NVDIMM based space. However, it can work with any filesystem whether it is stored in memory (tmpfs) or on any storage device. Consequently, libvmemcache will be significantly less performant if it is stored on the …

Read More
C++ persistent containers - vector

C++ persistent containers - vector

[Note: pmem::obj::vector<> is no longer experimental. The rest of the information in this blog post is still accurate.] Introduction The main idea behind pmem containers is to fully exploit persistent memory potential by designing optimized on-media layouts and algorithms for persistent memory …

Read More