C++ persistent containers - array

C++ persistent containers - array

[Note: pmem::obj::array<> is no longer experimental. The rest of the information in this blog post is still accurate.] Introduction Until now, our C++ bindings were missing one important component - persistent containers. In 1.5 release we have introduced the first one - pmem::obj::array. This …

Read More
New release of PMDK

New release of PMDK

We’ve been very quiet on this blog as of late, mostly because of the amount of work that we needed to put into our very ambitiously planned 1.5 release. But we’ve made it, and there’s finally time to get back to discussing the technical minutiae of our work. In this post, we will …

Read More
Running FIO with pmem engines

Running FIO with pmem engines

When we, the PMDK team, want to check performance of our library, either to see if there was any regression or if our tweaks did a good job, we run benchmarks. One of them is FIO. It helps us simulate synthetic traffic of reads and writes to a pmem device. In this blog post I will introduce this …

Read More
Using Persistent Memory Devices with the Linux Device Mapper

Using Persistent Memory Devices with the Linux Device Mapper

Introduction X86/X64 systems do not typically interleave Persistent Memory Devices (also referred to as ‘modules’ or ‘DIMMs’) across sockets, so a two-socket system will have two separate interleave sets. To use these interleave sets as a single device requires using a …

Read More
Benchmarking with different storage engines using pmemkv

Benchmarking with different storage engines using pmemkv

We’re closing out 2017 with two big improvements to pmemkv: support for multiple storage engines, and an improved benchmarking utility based on db_bench. These changes set the stage for some interesting experiments to come next year, as we continue to add new features and tune performance of …

Read More