Table of contents

  1. Front Matter
    Pages i-xxxi
  2. Steve Scargall
    Pages 1-10 Open Access
  3. Steve Scargall
    Pages 11-30 Open Access
  4. Steve Scargall
    Pages 31-54 Open Access
  5. Steve Scargall
    Pages 55-61 Open Access
  6. Steve Scargall
    Pages 63-72 Open Access
  7. Steve Scargall
    Pages 73-79 Open Access
  8. Steve Scargall
    Pages 81-109 Open Access
  9. Steve Scargall
    Pages 141-153 Open Access
  10. Steve Scargall
    Pages 155-186 Open Access
  11. Steve Scargall
    Pages 187-206 Open Access
  12. Steve Scargall
    Pages 207-260 Open Access
  13. Steve Scargall
    Pages 261-276 Open Access
  14. Steve Scargall
    Pages 277-294 Open Access
  15. Steve Scargall
    Pages 295-312 Open Access
  16. Steve Scargall
    Pages 313-331 Open Access
  17. Steve Scargall
    Pages 333-346 Open Access
  18. Steve Scargall
    Pages 347-371 Open Access
  19. Steve Scargall
    Pages 373-387 Open Access
  20. Back Matter
    Pages 389-438

About this book


Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times—a huge leap forward in byte-addressable capacity compared with current DRAM offerings.

This revolutionary new technology gives applications significant performance and capacity improvements over existing technologies. It requires a new way of thinking and developing, which makes this highly disruptive to the IT/computing industry. The full spectrum of industry sectors that will benefit from this technology include, but are not limited to, in-memory and traditional databases, AI, analytics, HPC, virtualization, and big data.   

Programming Persistent Memory describes the technology and why it is exciting the industry. It covers the operating system and hardware requirements as well as how to create development environments using emulated or real persistent memory hardware. The book explains fundamental concepts; provides an introduction to persistent memory programming APIs for C, C++, JavaScript, and other languages; discusses RMDA with persistent memory; reviews security features; and presents many examples. Source code and examples that you can run on your own systems are included.

You will:

  • Understand what persistent memory is, what it does, and the value it brings to the industry
  • Become familiar with the operating system and hardware requirements to use persistent memory
  • Know the fundamentals of persistent memory programming: why it is different from current programming methods, and what developers need to keep in mind when programming for persistence
  • Look at persistent memory application development by example using the Persistent Memory Development Kit (PMDK)
  • Design and optimize data structures for persistent memory
  • Study how real-world applications are modified to leverage persistent memory
  • Utilize the tools available for persistent memory programming, application performance profiling, and debugging


Persistent Memory Persistent data Intel Persistent Memory Developer Kit PMDK Intel Optane DC Persistent Memory RDMA Storage hierarchy Low latency Memory DRAM NVRAM Non-volatile random-access memory PMEM programming

Authors and affiliations

  • Steve Scargall
    • 1
  1. 1.Santa ClaraUSA

Bibliographic information

Industry Sectors
Materials & Steel
Finance, Business & Banking
IT & Software
Consumer Packaged Goods
Energy, Utilities & Environment
Oil, Gas & Geosciences