Open Systems Laboratory at Illinois

Scalable distributed garbage collection for systems of active objects

By Nalini Venkatasubramanian, Gul Agha, and Carolyn L. Talcott. In IWMM, volume 637 of Lecture Notes in Computer Science, 134–147. Springer, 1992.

Full Text:
Download PDF
Publisher Link:
http://dx.doi.org/10.1007/BFb0017187

Abstract

Automatic storage management is important in highly parallel programming environments where large numbers of objects and processes are being constantly created and discarded. Part of the difficulty with automatic garbage collection in systems of active objects, such as actors, is that an active object may not be garbage if it has references to other reachable objects, even when no other object has references to it. This is because an actor may at some point communicate its mail address to a reachable object thereby making itself reachable. Because messages may be pending in the network, the asynchrony of distributed networks makes it difficult to determine the current topology. Existing garbage collection schemes halt the computation process in order to determine if a currently inaccessible actor may be potentially active, thus precluding a real-time response by the system. We describe a generation based algorithm which does not require ongoing computation to be halted during garbage collection. We also outline an informal proof of the correctness of the algorithm.

Keywords  actors - asynchrony - distributed systems - generation scavenging - network clearance - broadcast and bulldoze communication - snapshot

This research was partially supported by DARPA contract NAG2-703, by DARPA and NSF joint contract CCR 90-07195, by ONR contract N00014-90-J-1899, and by the Digital Equipment Corporation.

BibTeX

@inproceedings{conf/iwmm/VenkatasubramanianAT92,
    author = "Venkatasubramanian, Nalini and Agha, Gul and Talcott,
              Carolyn L.",
    editor = "Bekkers, Yves and Cohen, Jacques",
    title = "Scalable Distributed Garbage Collection for Systems of
             Active Objects",
    booktitle = "IWMM",
    crossref = "conf/iwmm/1992",
    ee = "http://dx.doi.org/10.1007/BFb0017187",
    keywords = "software engineering",
    pages = "134-147",
    year = "1992",
}

@proceedings{conf/iwmm/1992,
    editor = "Bekkers, Yves and Cohen, Jacques",
    title = "Memory Management, International Workshop IWMM 92, St.
             Malo, France, September 17-19, 1992, Proceedings",
    isbn = "3-540-55940-X",
    publisher = "Springer",
    series = "Lecture Notes in Computer Science",
    volume = "637",
    year = "1992",
}