Published August 22, 2019 | Version v1
Conference paper Open

OneFile: A Wait-Free Persistent Transactional Memory

  • 1. Cisco Systems
  • 2. University of Neuchatel
  • 3. EPFL

Description

A persistent transactional memory (PTM) library provides an easy-to-use interface to programmers for using byte-addressable non-volatile memory (NVM). Previously proposed PTMs have, so far, been blocking. We present OneFile, the first wait-free PTM with integrated wait-free memory reclamation. We have designed and implemented two variants of the OneFile, one with lock-free progress and the other with bounded wait-free progress. We additionally present software transactional memory (STM) implementations of the lock-free and wait-free algorithms targeting volatile memory. Each of our PTMs and STMs is implemented as a single C++ file with ~1,000 lines of code, making them versatile to use. Equipped with these PTMs and STMs, non-expert developers can design and implement their own lock-free and wait-free data structures on NVM, thus making lock-free programming accessible to common software developers.

Files

OneFile-zenodo.pdf

Files (545.8 kB)

Name Size Download all
md5:db747f634acf3b1fcb53aa412d5c89d8
545.8 kB Preview Download