Hardware Transactional Persistent Memory

05/22/2018
by   Ellis Giles, et al.
0

Emerging Persistent Memory technologies (also PM, Non-Volatile DIMMs, Storage Class Memory or SCM) hold tremendous promise for accelerating popular data-management applications like in-memory databases. However, programmers now need to deal with ensuring the atomicity of transactions on Persistent Memory resident data and maintaining consistency between the order in which processors perform stores and that in which the updated values become durable. The problem is specially challenging when high-performance isolation mechanisms like Hardware Transactional Memory (HTM) are used for concurrency control. This work shows how HTM transactions can be ordered correctly and atomically into PM by the use of a novel software protocol combined with a Persistent Memory Controller, without requiring changes to processor cache hardware or HTM protocols. In contrast, previous approaches require significant changes to existing processor microarchitectures. Our approach, evaluated using both micro-benchmarks and the STAMP suite compares well with standard (volatile) HTM transactions. It also yields significant gains in throughput and latency in comparison with persistent transactional locking.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/01/2020

Crafty: Efficient, HTM-Compatible Persistent Transactions

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

Efficient Logging in Non-Volatile Memory by Exploiting Coherency Protocols

Non-volatile memory (NVM) technologies such as PCM, ReRAM and STT-RAM al...
research
10/22/2018

Enabling Efficient RDMA-based Synchronous Mirroring of Persistent Memory Transactions

Synchronous Mirroring (SM) is a standard approach to building highly-ava...
research
05/15/2018

The Parallel Persistent Memory Model

We consider a parallel computational model that consists of P processors...
research
06/24/2011

An Architectural Approach to Ensuring Consistency in Hierarchical Execution

Hierarchical task decomposition is a method used in many agent systems t...
research
05/25/2021

Execution of NVRAM Programs with Persistent Stack

Non-Volatile Random Access Memory (NVRAM) is a novel type of hardware th...
research
07/05/2019

On the Cost of Concurrency in Hybrid Transactional Memory

State-of-the-art software transactional memory (STM) implementations ach...

Please sign up or login with your details

Forgot password? Click here to reset