Log In Sign Up

Execution of NVRAM Programs with Persistent Stack

by   Vitaly Aksenov, et al.

Non-Volatile Random Access Memory (NVRAM) is a novel type of hardware that combines the benefits of traditional persistent memory (persistency of data over hardware failures) and DRAM (fast random access). In this work, we describe an algorithm that can be used to execute NVRAM programs and recover the system after a hardware failure while taking the architecture of real-world NVRAM systems into account. Moreover, the algorithm can be used to execute NVRAM-destined programs on commodity persistent hardware, such as hard drives. That allows us to test NVRAM algorithms using only cheap hardware, without having access to the NVRAM. We report the usage of our algorithm to implement and test NVRAM CAS algorithm.


page 1

page 2

page 3

page 4


Crafty: Efficient, HTM-Compatible Persistent Transactions

Byte-addressable persistent memory, such as Intel/Micron 3D XPoint, is a...

Beyond Profiling: Scaling Profiling Data Usage to Multiple Applications

Profiling techniques are used extensively at different parts of the comp...

The Parallel Persistent Memory Model

We consider a parallel computational model that consists of P processors...

Revamping Storage Class Memory With Hardware Automated Memory-Over-Storage Solution

Large persistent memories such as NVDIMM have been perceived as a disrup...

System on Chip Rejuvenation in the Wake of Persistent Attacks

To cope with the ever increasing threats of dynamic and adaptive persist...

A Prompt Report on the Performance of Intel Optane DC Persistent Memory Module

In this prompt report, we present the basic performance evaluation of In...

View-Based Owicki-Gries Reasoning for Persistent x86-TSO (Extended Version)

The rise of persistent memory is disrupting computing to its core. Our w...