All things recoverable

Persistent memory is real!

In early 2019, Intel launched the long-anticipated Optane Data Center Persistent Memory Module. This breakthrough represents the convergence of primary and secondary storage media into a single layer in the memory hierarchy that combines the performance benefits of conventional main memory with the durability of secondary storage. Harnessing these performance benefits in multi-core architectures requires a careful rethinking of concurrent data structures and synchronization algorithms.

My research group purchased a four-socket server with Optane persistent memory in 2019 from Dell.

Dell EMC

PODC 2019 Tutorial

My research group delivered a half-day tutorial on persistent memory at PODC 2019. The tutorial included the following presentations:

  • Introduction to Persistent Memory [PDF]
  • Persistent Memory Emulation and Programming [PDF]
  • Linearizability Testing of Multi-Word Synchronization Primitives [PDF]
  • Algorithms: Recoverable Mutex and Consensus [PDF]

Publications

My research group and collaborators have published several papers on the topic of recovering from crashes using persistent memory:

  • NUMA-Aware RME Lock (SPAA 2022)
    [ACM DL]
  • Detectable Sequential Specifications (DISC 2021 and ApPLIED@PODC 2022)
    [DISC PDF] [ApPLIED PDF] [code]
  • Recoverable Consensus Hierarchy (SPAA 2020)
    [ACM DL]
  • Recoverable Mutual Exclusion Under System-Wide Failures (PODC 2018)
    [PDF]
  • Recoverable Mutual Exclusion in Sub-Logarithmic Time (PODC 2017)
    [PDF]
  • Recoverable Mutual Exclusion (PODC 2016)
    [PDF of extended draft]
  • Recoverable Linearizability (OPODIS 2015)
    [PDF]

Funding acknowledgment

This research is supported in part by an Ontario Early Researcher Award, by a Google Faculty Research Award, and by an NSERC Collaborative Research and Development Grant.