Transactions on Red-black and AVL trees in NVRAM

06/29/2020
by   Thorsten Schütt, et al.
0

Byte-addressable non-volatile memory (NVRAM) supports persistent storage with low latency and high bandwidth. Complex data structures in it ought to be updated transactionally, so that they remain recoverable at all times. Traditional database technologies such as keeping a separate log, a journal, or shadow data work on a coarse-grained level, where the whole transaction is made visible using a final atomic update operation. These methods typically need significant additional space overhead and induce non-trivial overhead for log pruning, state maintenance, and resource (de-)allocation. Thus, they are not necessarily the best choice for NVRAM, which supports fine-grained, byte-addressable access. We present a generic transaction mechanism to update dynamic complex data structures `in-place' with a constant memory overhead. It is independent of the size of the data structure. We demonstrate and evaluate our approach on Red-Black Trees and AVL Trees with a redo log of constant size (4 resp. 2 cache lines). The redo log guarantees that each accepted (started) transaction is executed eventually despite arbitrary many system crashes and recoveries in the meantime. We update complex data structures in local and remote NVRAM providing exactly once semantics and durable linearizability for multi-reader single-writer access. To persist data, we use the available processor instructions for NVRAM in the local case and remote direct memory access (RDMA) combined with a software agent in the remote case.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/03/2023

Transactional Composition of Nonblocking Data Structures

This paper introduces nonblocking transaction composition (NBTC), a new ...
research
02/02/2019

Fine-Grain Checkpointing with In-Cache-Line Logging

Non-Volatile Memory offers the possibility of implementing high-performa...
research
01/02/2020

Using Nesting to Push the Limits of Transactional Data Structure Libraries

Transactional data structure libraries (TDSL) combine the ease-of-progra...
research
03/14/2019

Architecture-Aware, High Performance Transaction for Persistent Memory

Byte-addressable non-volatile main memory (NVM) demands transactional me...
research
01/11/2023

Adaptive Data Path Selection for Durable Transaction in GPU Persistent Memory

The new non-volatile memory technology relies on data recoverability to ...
research
09/25/2018

An Efficient Framework for Implementing Persist Data Structures on Remote NVM

The byte-addressable Non-Volatile Memory (NVM) is a promising technology...
research
03/23/2018

Efficient Single Writer Concurrency

In this paper we consider single writer multiple reader concurrency - an...

Please sign up or login with your details

Forgot password? Click here to reset