000 04500nam a2200373 i 4500
001 OTLid0001372
003 MnU
005 20241120064031.0
006 m o d s
007 cr
008 230313s2020 mnu o 0 0 eng d
040 _aMnU
_beng
_cMnU
050 4 _aQA76
050 4 _aQA76
100 1 _aScargall, Stteve
_eauthor
245 0 0 _aProgramming Persistent Memory
_bA Comprehensive Guide for Developers
_cStteve Scargall
264 2 _aMinneapolis, MN
_bOpen Textbook Library
264 1 _aNew York, NY
_bApress
_c[2020]
264 4 _c©2020.
300 _a1 online resource
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
490 0 _aOpen textbook library.
505 0 _aFront Matter -- Introduction to Persistent Memory Programming -- Persistent Memory Architecture -- Operating Systetm Support for Persistent Memory -- Fundamental Concepts of Persistent Memory Programming -- Introducing the Persistent Memory Develpoment Kit -- Iibpmem: Low-Level Persistent Memory Support -- Iibpmemobj: A Native Transactional Object Store -- libpmemobj-cpp: The Adaptable Language - C++ and Persistent Memory -- pmemkv: A Persistent In-Memory Key-Value Store -- Volatile Use of Persistent Memory -- Designing Data Structures for Persistent Memory -- Debugging Persistent Memory Applications -- Enabling Persistence Using a Real-World Application -- Concurrency and Persistent Memory -- Profiling and Performance -- PMDK Internals: Important Algorithms and Data Structures -- Reliability, Availability, and Serviceability (RAS) -- Remote Persistent Memory -- Advanced Topics -- Back Matter
520 0 _aBeginning 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 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.
542 1 _fAttribution
546 _aIn English.
588 0 _aDescription based on print resource
650 0 _aComputer Science
_vTextbooks
650 0 _aProgramming Languages
_vTextbooks
710 2 _aOpen Textbook Library
_edistributor
856 4 0 _uhttps://open.umn.edu/opentextbooks/textbooks/1372
_zAccess online version
999 _c39529
_d39529