General purpose parallel computers can be expected to become widely available shortly; compilers for such machines need to be developed now. Declarative languages provide an excellent foundation for software development on such machines. One of the critical areas for an efficient implementation of a declarative language is the memory allocator and its associated garbage collector. In a sequential implementation of a high level language, Appel has shown that the asymptotically most efficient garbage collector is a copying collector. For parallel implementations, we would like a distributed algorithm for allocation and garbage collection. A reasonably efficient solution to this problem is weighted reference counting, which was discovered independently by Bevan and Watson and Watson. This paper builds on their work, by providing a composite garbage collector; it incorporates the best features of both a copying and a reference counting collector. For non-local heap operations, the collector is fully distributed; it is as efficient as copying collection for heap operations local to a single processor. The garbage collector is proved to be correct and an analysis of the space complexity of the algorithm is given.
CITATION STYLE
Lester, D. R. (1989). An efficient distributed garbage collection algorithm. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 365 LNCS, pp. 207–223). Springer Verlag. https://doi.org/10.1007/3540512845_41
Mendeley helps you to discover research relevant for your work.