A Hybrid Distributed Garbage Collection of Active Objects

Different from traditional garbage collection (GC), in actor system GC identifying whether the object is garbage or not depends on not only its references but also its processing state. It makes garbage collection more complicate. In previous work tracing algorithms such as mark-sweep are utilized which lead to GC too complicated to be suitable for large-scale distributed system. We present in this paper a hybrid distributed garbage collection which is comprised of local GC and global GC. A reverse reference is added for each reference which is from an actor that can be activated (include remotely referenced actors). Then we can utilize tracing algorithm to collect local garbage. We use timestamp algorithm and backward inquiry to identify and collect global garbage. This GC scheme can collect all garbage correctly. Furthermore, it is fault tolerant and suitable for large-scale distributed system.