Concurrency implications of nonvolatile byte-addressablememory
2018
In the near future, storage technology advances are
expected to provide nonvolatile
byte addressable memory (NVM) for
general purpose computing.
These new technologies provide high
density storage and speeds only slightly
slower than DRAM, and are
consequently presumed by industry to be used
as main memory
storage. We believe that the common availability of fast
NVM
storage will have a significant impact on all levels of the
computing
hierarchy. Such a technology can be leveraged by an
assortment of common
applications, and will require significant
changes to both operating systems
and systems library code.
Existing software for durable storage is a poor
match for NVM, as
it both assumes a larger granularity of access and a
higher
latency overhead.
Our thesis is that exploiting this new
byte-addressable and nonvolatile
technology requires a significant
redesign of current systems, and that by designing
systems that
are tailored to NVM specifically we can realize performance
gains.
This thesis extends existing system software for understanding
and
using nonvolatile main memory. In particular, we propose to
understand durability as a shared memory construct, instead of an
I/O construct, and consequently will focus particularly on
concurrent applications.
The work covered here builds theoretical
and practical infrastructure for
using nonvolatile main memory. At
the theory level, we explore what it
means for a concurrent data
structure to be “correct” when its state can
reside in nonvolatile
memory, propose novel designs and design philosophies
for data
structures that meet these correctness criteria, and demonstrate
that
all nonblocking data structures can be easily transformed
into persistent,
correct, versions of themselves. At the practical
level, we explore how to give
programmers systems for manipulating
persistent memory in a consistent
manner, thereby avoiding
inconsistencies after a crash. Combining these two
ideas, we also
explore how to compose data structure operations into larger,
consistent operation in persistence.
Keywords:
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
0
References
0
Citations
NaN
KQI