By now you should be fairly familiar with the basics persistent memory programming, but to make sure the application is always in a consistent state you had to rely on your own solutions and tricks - like the length of a buffer in the previous example. Now, we will learn a generic solution provided …
Read MoreIn the previous post, you learned a little bit about the general concept of the persistent memory programming model, now it’s time to start the coding ;) Memory pools If you’ve read the overview you know that persistent memory is exposed by the OS as memory-mapped files, we call them …
Read MoreThe aim of this tutorial series is to introduce you to programming with persistent, byte-addressable memory using the pmemobj library. We will go over all the available features, implement an example application and learn something about the inner workings of libpmemobj. If you haven’t read …
Read MoreThe PMEMoid plays the role of a persistent pointer in a pmemobj pool. It consist of a shortened UUID of the pool which the object comes from and an offset relative to the beginning of the pool: typedef struct pmemoid { uint64_t pool_uuid_lo; uint64_t off; } PMEMoid; Operating on such persistent …
Read MoreThe focus of the pmemobj library, like the name suggests, is storing objects on a persistent medium. A different, but very common, approach of doing exactly the same is to use a database with a specialized interface to manipulate the collection of data. MySQL is one such database, it processes SQL …
Read More