Overview
Explore persistent memory extensions to libstdc++ and libc++ in this 50-minute conference talk by Intel's Tomasz Kapela. Delve into the design process and implementation decisions behind a proposed C++ API for persistent memory, addressing the complexities of the current C API. Learn about the interaction between this new API and existing C++ standard library implementations. Gain insights into type safety, transactions, persistence macros, exception handling, and multistep allocation in the context of non-volatile memory. Discover the challenges and solutions in preparing software for a persistent memory-enabled future, including discussions on lazy transactions, lambda transactions, and layered versioning. Benefit from Kapela's expertise in radio communication systems and software development for next-generation non-volatile memory.
Syllabus
Introduction
Mandatory slide
NVM Libraries
VML
Type Safety
Limitations
Transactions
Persistence
Macros
Bad example
How transactions work
Lazy people
Problems with C
C Transactions
STD Uncaught Exceptions
Multistep Allocation
Lambda Transactions
Exception Handling
STD
STD Demo
Pros
Layered versioning
x8664
Taught by
Linux Foundation