At January’s SNIA Persistent Memory Summit Intel was promoting a book titled: Programming Persistent Memory. This book, aimed at programmers, explains how to develop applications programs that take advantage of persistent memory (PM) to avoid slower persists to SSDs, and also shows how to use Intel’s Optane DIMMs to increase a system’s main memory size.
From the hardware side the book explains how PM works and where it fits within a system, discusses Remote Direct Memory Access (RDMA) with persistent memory, and reviews security features.
So what’s inside? The first four chapters of the 457-page tome explain the concept of PM, how operating systems support it, and how programs work with it. The next five chapters describe a number of software tools that have been developed to support PM, including the PM Development Kit (PMDK) and the various libraries of support software. Chapter 10 covers PM when it’s used as volatile memory. Chapters 11-13 cover software design & debug and the use of PM in real-world software, and the remaining six chapters cover an assortment of topics including reliability and serviceability, performance metrics, concurrency, etc.
As a non-programmer I was particularly tickled by the title of Chapter 8: “libpmemobj-cpp: The Adaptable Language – C++ and Persistent Memory”. You’ll either have to read the chapter yourself or ask someone else what that might mean! The SSD Guy certainly can’t tell you!
A pdf copy of the book can be downloaded for free (a print copy sells for $50) and you don’t even have to register to download it. Simply visit https://pmem.io/book/ for either the download or to order a print copy.