Garbage Collection frees the programmer from the burden of explicitly deallocating unused data. This facility induces a considerable overhead but also causes some delays that may affect real-time applications. Guaranteed throughput (with at most short and predictable delays) is needed in many applications such as plane or plant control and requires at least a worst case analysis to identify the performances of the whole system. Traditional GC are made of two phases: the marker which identifies all useful data, followed by the sweeper which reclaims all useless data. On-the-fly GC schemes were introduced to permit an application and a collector to run concurrently. That concurrency may lessen the GC penalty incurred by the application. We present here a new algorithm where the application, the marker and the sweeper are concurrent. The benefit is to tightly adjust collection rate to application consumption and have an allocation time bounded by a small constant. Moreover our algorithm does not waste memory and appears to be well suited for embedded systems. This “mark DURING sweep” algorithm is completely presented. An interesting single-processor and incremental realisation is also analysed and followed by some implementation variations.
CITATION STYLE
Queinnec, C., Beaudoing, B., & Queille, J. P. (1989). Mark DURING sweep rather than mark THEN sweep. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 365 LNCS, pp. 224–237). Springer Verlag. https://doi.org/10.1007/3540512845_42
Mendeley helps you to discover research relevant for your work.