Introduction to pmemstream

Introduction to pmemstream

What is pmemstream? Libpmemstream implements a pmem-optimized log data structure and provides stream-like access to data. It presents a contiguous logical address space, divided into regions, with log entries of arbitrary size. We intend for this library to be a foundation for various, more complex …

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