Lightweight Recoverable Virtual Memory
M. Satyanarayanan, Henry H. Mashburn, Puneet Kumar, David C. Steere, James
J. Kistler
Abstract
Recoverable virtual memory refers to regions of a virtual address
space on which transactional guarantees are offered. This paper describes
RVM, an efficient, portable, and easily used implementation of recoverable
virtual memory for Unix environments. A unique characteristic of RVM is
that it allows independent control over the transactional properties of
atomicity, permanence, and serializability. This leads to considerable
flexibility in the use of RVM, potentially enlarging the range of applications
than can benefit from transactions. It also simplifies the layering of
functionality such as nesting and distribution. The paper shows that RVM
performs well over its intended range of usage even though it does not
benefit from specialized operating system support. It also demonstrates
the importance of intra- and inter-transaction optimizations.