Programming Persistent Memory [electronic resource] : A Comprehensive Guide for Developers /
Scargall, Steve.author.
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.
Chapter 1: Introduction to Persistent Memory Programming -- Chapter 2: Persistent Memory Architecture -- Chapter 3: Operating System Support for Persistent Memory -- Chapter 4: Fundamental Concepts of Persistent Memory Programming -- Chapter 5: Introducing the Persistent Memory Development Kit -- Chapter 6: libpmem: Low-Level Persistent Memory Support -- Chapter 7: libpmemobj - A Native Transactional Object Store -- Chapter 8: libpmemobj-cpp: The adaptable language C++ and Persistent Memory -- Chapter 9: pmemkv - A Persistent In-Memory Key-Value Store -- Chapter 10: Volatile Use of Persistent Memory -- Chapter 11: Designing Data Structures for Persistent Memory -- Chapter 12: Debugging Persistent Memory Applications -- Chapter 13: Enabling Persistence in a Real World Application -- Chapter 14: Concurrency and Persistent Memory -- Chapter 15: Profiling and Performance -- Chapter 16: PMDK Internals - Important Algorithms and Data Structures -- Chapter 17: Reliability, Availability and Serviceability -- Chapter 18: Remote Persistent Memory -- Chapter 19: Advanced Topics -- Appendix A: Installing NDCTL and DAXCTL on Linux -- Appendix B: Installing PMDK on Linux & Windows -- Appendix C: Installing IPMCTL on Linux and Windows -- Appendix D: Java for Persistent Memory -- Appendix E: The Future of Remote Persistent Memory Replocation.
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.
Computer communication systems.
Big data.
Computer Communication Networks.
Big Data.

Open Access