Mostly-copying reachability-based orthogonal persistence

Antony L. Hosking*, Jiawan Chen

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

1 Citation (Scopus)

Abstract

We describe how reachability-based orthogonal persistence can be supported even in uncooperative implementations of languages such as C++ and Modula-3, and without modification to the compiler. Our scheme extends Bartlett's mostly-copying garbage collector to manage both transient objects and resident persistent objects, and to compute the reachability closure necessary for stabilization of the persistent heap. It has been implemented in our prototype of reachability-based persistence for Modula-3, yielding performance competitive with that of comparable, but non-orthogonal, persistent variants of C++. Experimental results, using the OO7 object database benchmarks, reveal that the mostly-copying approach offers a straightforward path to efficient orthogonal persistence in these uncooperative environments. The results also characterize the performance of persistence implementations based on virtual memory protection primitives.

Original languageEnglish
Pages (from-to)382-398
Number of pages17
JournalACM SIGPLAN Notices
Volume34
Issue number10
DOIs
Publication statusPublished - Oct 1999
Externally publishedYes

Fingerprint

Dive into the research topics of 'Mostly-copying reachability-based orthogonal persistence'. Together they form a unique fingerprint.

Cite this