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 Getting started Before you begin: The pmem.io website is powered by the Hugo static site generator and hosted on GitHub Pages. Have you read the code of conduct? Review the existing issues and see if we accept contributions for your type of issue. Types 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