Thu 8 Nov 2018 16:15 - 16:37 at Studio 1 - Performance Chair(s): Adam Welc

New non-volatile memory (NVM) technologies allow direct, durable storage of data in an application’s heap. Durable random-access memory can simplify the construction of reliable applications that do not lose data at a system shutdown or power failure. Existing NVM programming frameworks are intended for non-object-oriented native languages such as C and do not gracefully support an object-oriented language such as C++. They lack support for common abstractions — transient fields, function pointers, and virtual methods — which results in error-prone programming practices.

This paper proposes a new NVM language extension and runtime system that supports object-oriented programming and alleviates the programming pitfalls of prior approaches. At the heart of our approach is object reconstruction, which transparently restores a persistent object’s state during process restart. We describe NVMReconstruction, a Clang/LLVM extension and a runtime library, which implements the language extension and object reconstruction that significantly simplifies writing correct programs that exploit byte-addressable persistent memory with these features: (i) transient fields in persistent objects, (ii) support for object-oriented requirements such as type inheritance and virtual functions, (iii) direct representation of persistent pointers as virtual addresses, and (iv) type-specific reconstruction of a persistent object during program restart. In addition, NVMReconstruction supports upgrading an application, even if the size of an object increases, by enabling object migration. NVMReconstruction also performs compaction to reduce fragmentation of the persistent heap. Experiments demonstrate the versatility of object reconstruction and its low runtime performance cost.

Thu 8 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

15:30 - 17:00
PerformanceOOPSLA at Studio 1
Chair(s): Adam Welc Uber Technologies
15:30
22m
Talk
Cross-Component Garbage Collection
OOPSLA
DOI Media Attached
15:52
22m
Talk
Reactive Caching for Composed Services
OOPSLA
Sebastian Burckhardt Microsoft Research, Tim Coppieters Vrije Universiteit Brussel, Belgium
16:15
22m
Talk
Object-Oriented Recovery for Non-Volatile Memory
OOPSLA
Nachshon Cohen EPFL, Switzerland, David T. Aksun EPFL, James Larus EPFL
16:37
22m
Talk
Software Multiplexing: Share Your Libraries and Statically Link Them Too
OOPSLA
Will Dietz University of Illinois at Urbana-Champaign, Vikram S. Adve University of Illinois at Urbana-Champaign
Link to publication DOI Pre-print