Authors
Terry Ching-Hsiang Hsu, Helge Brügner, Indrajit Roy, Kimberly Keeton, Patrick Eugster
Publication date
2017/4/23
Book
Proceedings of the Twelfth European Conference on Computer Systems
Pages
468-482
Description
Non-volatile memory technologies, such as memristor and phase-change memory, will allow programs to persist data with regular memory instructions. Liberated from the overhead to serialize and deserialize data to storage devices, programs can aim for high performance and still be crash fault-tolerant. Unfortunately, to leverage non-volatile memory, existing systems require hardware changes or extensive program modifications.
We present NVthreads, a programming model and runtime that adds persistence to existing multi-threaded C/C++ programs. NVthreads is a drop-in replacement for the pthreads library and requires only tens of lines of program changes to leverage non-volatile memory. NVthreads infers consistent states via synchronization points, uses the process memory to buffer uncommitted changes, and logs writes to ensure a program's data is recoverable even after a crash. NVthreads' page level …
Total citations
2017201820192020202120222023202432019223015163
Scholar articles
TCH Hsu, H Brügner, I Roy, K Keeton, P Eugster - Proceedings of the Twelfth European Conference on …, 2017