Persistent stores support uniform management of data objects regardless of their lifetimes and locations. Such stores typically maintain a self-consistent state even after failure of the host computer system. This property is termed stability, and may be achieved using operations called checkpoints. When objects in the store are modified, or modified objects are accessed, dependencies are created between the modifying processes and the objects. Directed graphs may be used to describe such dependencies. For the persistent store to maintain a consistent state, all dependent entities must be checkpointed together. In this paper we show that hardware support can assist in the construction of stable stores for which stability is based on dependency graphs. We then describe an implementation of such support in the Monads-MM computer.
Frans A. Henskens, D. M. Koch, Rasool Jalili, John