C++ and Persistent Memory Technologies, Like Intel's 3D-XPoint
With the advent of a new, persistent-memory-enabled world, the current software industry must prepare for changes. Looking forward to meet the new requirements set by this new type of hardware, a new standard API should be introduced to ease the adoption of this new and exciting technology. During the development of the NVM (Non Volatile Memory) Library, it became apparent that the C API is complex and hard to use. To remove some of the pain points, a proposal of a new C++ API was made. This lecture will introduce the API and explain some of the intricacies behind it. This entails both the basic concepts of persistent memory programming, like pointers and transactions, and a prototype integration with the standard library's containers. Hopefully this will spark a discussion and will help validate the proposed changes. Deciding on an API this early on will help developers in the early adoption of this potentially game-changing technology.