300 nanoseconds (1 of 2)

300 nanoseconds (1 of 2)

Educating people has always been a challenge for me. I tend to skip over things I wrongly consider obvious, or do large leaps in reasoning when explaining a solution to a problem. And so, when faced with an attempt to explain a complex topic, I tend to ramble on and on, hoping that the audience …

Read More
Vmem is split out of PMDK

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 …

Read More
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