1. A persistent lock-free queue for non-volatile memory
- Author
-
HerlihyMaurice, MaratheVirendra, PetrankErez, and FriedmanMichal
- Subjects
020203 distributed computing ,Hardware_MEMORYSTRUCTURES ,Computer science ,business.industry ,Concurrent data structure ,020207 software engineering ,02 engineering and technology ,Computer Graphics and Computer-Aided Design ,Non-volatile memory ,Embedded system ,0202 electrical engineering, electronic engineering, information engineering ,Non-blocking algorithm ,business ,Software ,Dram - Abstract
Non-volatile memory is expected to coexist with (or even displace) volatile DRAM for main memory in upcoming architectures. This has led to increasing interest in the problem of designing and specifying durable data structures that can recover from system crashes. Data structures may be designed to satisfy stricter or weaker durability guarantees to provide a balance between the strength of the provided guarantees and performance overhead. This paper proposes three novel implementations of a concurrent lock-free queue. These implementations illustrate algorithmic challenges in building persistent lock-free data structures with different levels of durability guarantees. In presenting these challenges, the proposed algorithmic designs, and the different durability guarantees, we hope to shed light on ways to build a wide variety of durable data structures. We implemented the various designs and compared their performance overhead to a simple queue design for standard (volatile) memory.
- Published
- 2018