This well-written, concise paper discusses an important issue regarding memory management: specifically, the idea that automated garbage collection in an object-oriented runtime environment is preferable to programmer-controlled memory management. The authors present garbage collection strategies, including the idea of a local collector that determines reclaimable objects at the node level. They also describe a global collector that uses a distributed algorithm. Snapshots and so-called coloring algorithms aid in reclamation. The algorithms necessary to achieve correct concurrent operation among the collectors and between collectors and mutators (applications) are presented in detail. Recent supporting work in the areas of garbage collection and supporting algorithms is incorporated into the body of the paper. Examples and clear figures add to the paper’s clarity and understandability. Potential problems with the algorithms, along with areas for further study, are included.
I found this paper to be an excellent source of ideas and information for someone interested in garbage collection issues. It provides information for researchers and advanced practitioners. Furthermore, distributed systems issues and concepts are necessarily covered, adding depth and insight to these areas.