Disaggregated Memory - In pursuit of scale and efficiency

Disaggregated Memory - In pursuit of scale and efficiency

A software person perspective on new upcoming interconnect technologies. Existing Server Landscape Servers are expensive. And difficult to maintain properly. That’s why most people turn to the public cloud for their hosting and computing needs. Dynamic virtual server instances have been key to …

Read More
How to Contribute to pmem.io

How to Contribute to pmem.io

Contributing to this repository [This entry was edited on 2022-07-22 to update Code of Conduct link and add a link to Contributing guide] Please note that this blog post is a snapshot of our CONTRIBUTING file. For always up-to-date information, please see guideline file on repository with content of …

Read More
Libpmemobj-cpp - lessons learned

Libpmemobj-cpp - lessons learned

Introduction We’ve been working on C++ bindings for libpmemobj since around 2016 - see our very first tutorial for libpmemobj-cpp. We’ve come a long way since then. A lot has changed - we’ve gained more experience and knowledge, added new features, fixed quite a few bugs, and …

Read More
Concurrency considerations in libpmemobj-cpp

Concurrency considerations in libpmemobj-cpp

Introduction Ensuring data consistency on pmem is a challenging task. It gets even more complicated if data is modified concurrently. This blog post describes several challenges related to data visibility, using transactions in multi-threaded environments, and memory leaks. Lock-free programming on …

Read More
Memkind support for heterogeneous memory attributes

Memkind support for heterogeneous memory attributes

Introduction Memkind is a library mostly associated with enabling Persistent Memory. However, it is not the only type of memory that memkind supports. The library is a general solution designed for platforms with heterogeneous memory. But before we delve into heterogeneous memory itself, let’s …

Read More