PMOS: A Complete and Coarse-Grained Incremental Garbage Collector for Persistent Object Stores.
J. Eliot B. Moss, David S. Munro, Richard L. Hudson · 1996
Traditional garbage collection techniques designed for language systems operating over transient data do not readily migrate to a persistent context. The size, complexity, and permanence characteristics of a persistent object store mean that an automatic storage reclamation system, in addition to ensuring that all unreachable and only unreachable data is reclaimed, must also maintain store consistency while limiting I/O overhead when collecting secondary-memory data. Research has shown that careful selection of which area of a store to collect can significantly increase the amount of reclaimed storage while reducing the I/O costs. Many garbage collectors for existing stores, however, either are off-line or rely on reclaiming space in a predefined order. This paper presents a new incremental garbage collection algorithm specifically designed for reclaiming persistent object storage. The collector extends the Mature Object Space algorithm to ensure incrementality in a persistent context, to achieve recoverability, and to impose minimum constraints on the order of collection of areas of the persistent address space.