The act of accessing data objects in a persistent store may result in the creation of state dependencies between the accessing processes and data objects. It is important for the logical integrity of the store that checkpoint or roll-back of all dependent entities (processes or objects) occurs as an atomic action. Reducing the number of dependent entities in the system leads to shortening of the period of suspension of processes during checkpoint and roll-back operations and thus improvement in system efficiency. In this paper we investigate a new approach to the representation of dependencies based on differentiating between dependencies created as a result of read accesses and of write accesses. Using directed graphs to maintain information about dependencies and separately defining the meaning of graph edges for checkpoint and roll-back operations, we show that it is possible to significantly reduce the cascade effects of these operations.
18th Australian Computer Science Conference (ACSC'95). Proceedings of the 18th Australian Computer Science Conference. Volume 1 (Adelaide, S.A. February, 1995) p. 227-236