Programming Persistent Memory: A Comprehensive Guide for Developers

Author:   Steve Scargall
Publisher:   APress
Edition:   1st ed.
ISBN:  

9781484249314


Pages:   438
Publication Date:   10 January 2020
Format:   Paperback
Availability:   Manufactured on demand   Availability explained
We will order this item for you from a manufactured on demand supplier.

Our Price $131.97 Quantity:  
Add to Cart

Share |

Programming Persistent Memory: A Comprehensive Guide for Developers


Add your own review!

Overview

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 andhardware 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 MemoryDevelopment 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 Who This Book Is For C, C++, Java, and Python developers, but will also be useful to software, cloud, and hardware architects across a broad spectrum of sectors, including cloud service providers, independent software vendors, high performance compute, artificial intelligence, data analytics, big data, etc.   

Full Product Details

Author:   Steve Scargall
Publisher:   APress
Imprint:   APress
Edition:   1st ed.
Weight:   0.891kg
ISBN:  

9781484249314


ISBN 10:   1484249313
Pages:   438
Publication Date:   10 January 2020
Audience:   Professional and scholarly ,  Professional & Vocational
Format:   Paperback
Publisher's Status:   Active
Availability:   Manufactured on demand   Availability explained
We will order this item for you from a manufactured on demand supplier.

Table of Contents

Chapter 1: Introduction to Persistent Memory This introduces the reader to the Persistent Memory technology.  What is it, What does it do, and Why the industry needs it. 1.       Introduction 2.       Describe current dominant architecture designs using DRAM and Storage 3.       Definition of Persistent Memory a.       Type N NV-DIMM as first instantiation of Persistent Memory (PM) b.      3DXP as first NVDIMM-P technology 4.       Brief introduction of new capability enabled with Persistent Memory 5.       Describe why persistent memory is required and what benefits it brings   Chapter 2: Operating System Support for Persistent Memory This chapter describes the requirements to use Persistent Memory hardware.  1.       Recap of traditional File-based programming model for I/O-based storage 2.       ACPI extensions – how OS recognizes PM 3.       Using as fast storage via driver 4.       DAX and the Programming Model.  Mmap today with buffer cache vs. DAX 5.       Windows vs. Linux considerations. 6.       Emulating Persistent Memory   Chapter 3:  Fundamental Concepts of Persistent Memory Programming This chapter introduces the fundamentals of persistent memory programming.  Why it’s different to current programming methods, and what developers need to keep in mind when programming for persistence. 1.       Cover variety of basic concepts:  Relative pointers, consistency/atomicity across power fails, re-do logs 2.       Cache hierarchy and need for flushing 3.       Powerfail safe domain and different architectures   Chapter 4: Persistent Memory Programming APIs Walk through the PMDK (Persistent Memory Developer Kit) and describe the intent behind each one.  Examples will use C and C++ (low-level programming). Chapter 5: Java, Python and other high level languages This chapter will describe how to use the high level language bindings delivered by PMDK using Java and Python examples. Chapter 6: Creating an in-memory database storage engine This chapter describes how to write an in-memory database storage engine from scratch using the PMDK.  It will describe the new thinking model required for application developers and describe how the new programming paradigm should be used.  By the end of the chapter, the reader will have implemented a working storage engine for a popular open source in-memory database. Chapter 7: Tools for Profiling and Debug Walk through the tools available for persistent memory programming, application performance profiling, and debugging issues.

Reviews

Author Information

Steve Scargall is a persistent memory software/cloud architect within Intel’s Data Center Group (DCG). He contributes to the SNIA NVM Programming Technical Work Group, PMDK, NDCTL, and other open sources projects. With more than 18 years of enterprise application and filesystem IO performance analysis, Steve now works on the exciting and disruptive bleeding edge of persistent memory application design solutions. He works with ISVs and CSPs to enable and deliver persistent memory solutions.  

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List