FREE DOWNLOAD BOOKS

Programming Persistent Memory

Programming Persistent Memory

A Comprehensive Guide for Developers

by Steve Scargall


DOWNLOAD EBOOK READ ONLINE SHARE BOOK QR CODE

Book Description

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.

What You'll Learn: 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. You can download Programming Persistent Memory ebook for free in PDF format (9.2 MB).

Table of Contents

About the Author
xiii
About the Technical Reviewer
xv
About the Contributors
xvii
Acknowledgments
xxi
Preface
xxiii
Chapter 1
Introduction to Persistent Memory Programming
1
Chapter 2
Persistent Memory Architecture
11
Chapter 3
Operating System Support for Persistent Memory
31
Chapter 4
Fundamental Concepts of Persistent Memory Programming
55
Chapter 5
Introducing the Persistent Memory Development Kit
63
Chapter 6
libpmem: Low-Level Persistent Memory Support
73
Chapter 7
libpmemobj: A Native Transactional Object Store
81
Chapter 8
libpmemobj-cpp: The Adaptable Language - C++ and
Chapter 9
pmemkv: A Persistent In-­Memory Key-Value Store
141
Chapter 10
Volatile Use of Persistent Memory
155
Chapter 11
Designing Data Structures for Persistent Memory
187
Chapter 12
Debugging Persistent Memory Applications
207
Chapter 13
Enabling Persistence Using a Real-World Application
261
Chapter 14
Concurrency and Persistent Memory
277
Chapter 15
Profiling and Performance
295
Chapter 16
PMDK Internals: Important Algorithms and Data Structures
313
Chapter 17
Reliability, Availability, and Serviceability (RAS)
333
Chapter 18
Remote Persistent Memory
347
Chapter 19
Advanced Topics
373
Appendix A
How to Install NDCTL and DAXCTL on Linux
389
Appendix B
How to Install the Persistent Memory Development Kit (PMDK)
395
Appendix C
How to Install IPMCTL on Linux and Windows
403
Appendix D
Java for Persistent Memory
411
Appendix E
The Future of Remote Persistent Memory Replication
421
Glossary
425
Index
429

Book Details

Subject
Computer Science & Technology
Publisher
Apress
Published
2020
Pages
438
Edition
1
Language
English
ISBN13
9781484249314
ISBN10
1484249313
eISBN13
9781484249321
eISBN10
1484249321
PDF size
9.2 MB
License
CC

Related Books

Pro TBB
Pro TBB

by Michael Voss, Rafael  Asenjo, James Reinders

This book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present ...

Optimizing HPC Applications with Intel Cluster Tools
Optimizing HPC Applications with Intel Cluster Tools

by Alexander Supalov, Andrey Semin, Michael Klemm, Christopher Dahnken

Optimizing HPC Applications with Intel Cluster Tools takes the reader on a tour of the fast-growing area of high performance computing and the optimization of hybrid programs. These programs typically combine distributed memory and shared memory programming models and use the Message Passing Interface (MPI) and OpenMP for multi-threading to achieve...

History and Cultural Memory in Neo-Victorian Fiction
History and Cultural Memory in Neo-Victorian Fiction

by Kate Mitchell

Arguing that neo-Victorian fiction enacts and celebrates cultural memory, this book uses memory discourse to position these novels as dynamic participants in the contemporary historical imaginary....

A Memory of Ice
A Memory of Ice

by Elizabeth Truswell

In the southern summer of 1972/73, the Glomar Challenger was the first vessel of the international Deep Sea Drilling Project to venture into the seas surrounding Antarctica, confronting severe weather and ever-present icebergs. A Memory of Ice presents the science and the excitement of that voyage in a manner readable for non-scientists. Woven i...

Dissonant Heritages and Memories in Contemporary Europe
Dissonant Heritages and Memories in Contemporary Europe

by Tuuli Lähdesmäki, Luisa Passerini, Sigrid Kaasik-Krogerus, Iris van Huis

This book discusses political, economic, social, and humanitarian challenges that influence both how people deal with their past and how they build their identities in contemporary Europe. Ongoing debates on migration, on local, national, inter- and transnational levels, prove that it is a divisive issue with regards to understanding European integ...