Scalable Distributed Garbage Collection for Systems of Active Objects ⋆ Nalini Venkatasubramanian ⋆⋆ ⋆ ⋆ ⋆ , Gul Agha *** , and Carolyn Talcott † email: nalini@cs.uiuc.edu, agha@cs.uiuc.edu, clt@sail.stanford.edu 1 University of Illinois, Urbana-Champaign, IL 06120, USA 2 Stanford University, Stanford, CA USA Abstract. Automatic storage management is important in highly par- allel programming environments where large numbers of objects and pro- cesses 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 algo- rithm 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 scaveng- ing, network clearance, broadcast and bulldoze communication, snapshot. 1 Introduction We describe a garbage collection algorithm, HDGC (hierarchical distributed garbage collection), for systems of active objects distributed across a network of nodes. An important advantage of our algorithm is that it is non-disruptive: it does not halt or otherwise interfere with the ongoing computation process. A ⋆ 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. ⋆⋆ Current address: Hewlett Packard Company, 19111 Pruneridge Avenue MS44UT, Cupertino, CA 95014, USA. ⋆⋆⋆ Department of Computer Science, University of Illinois at Urbana-Champaign, Ur- bana, IL 61801 † Department of Computer Science, Stanford University, Stanford, CA 94305