Remote reference counting: Distributed garbage collection with low communication and computation overhead

Citation
D. Kogan et A. Schuster, Remote reference counting: Distributed garbage collection with low communication and computation overhead, J PAR DISTR, 60(10), 2000, pp. 1260-1292
Citations number
25
Categorie Soggetti
Computer Science & Engineering
Journal title
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING
ISSN journal
07437315 → ACNP
Volume
60
Issue
10
Year of publication
2000
Pages
1260 - 1292
Database
ISI
SICI code
0743-7315(200010)60:10<1260:RRCDGC>2.0.ZU;2-0
Abstract
Automatic storage management is important in distributed programming enviro nments because programmer controlled reclamation is highly prone to errors. The main disadvantage of existing memory reclamation schemes is their high communication cost, a cost that is proportional to the number of pointer o perations. We present a novel, efficient distributed garbage collection (GC ) algorithm called Remote Reference Counting (RRC). This algorithm has smal l network traffic and computation overheads, essentially eliminating all co mmunication when there is no active collection. The efficiency is provided by locality of RRC computations. RRC sends an average of only two to three messages from every node in order to reach global consensus on reclamation of any object. Moreover. no GC messages are-sent as a result of a pointer o peration. Messages for different objects can be combined and piggybacked on non-CC messages, trading promptness of garbage reclamation for additional communication efficiency. The low cost of local garbage identification is p rovided by a reference counting strategy which is independent of the heap s ize. RRC works correctly for asynchronous environments where messages may e xperience arbitrary delays on the way to their destinations. In addition, w hen applied in granularity of pages, the communication and memory overhead is not inflated when the average allocation size is small, and the memory r eorganization required due to the CC operations is simplified. RRC was impl emented as a WIN32 library on Windows-NT on top of a distributed shared mem ory system called MILLIPAGE. We confirm RRC efficiency by providing perform ance results measured on a set of widely accepted benchmarks. (C) 2000 Acad emic Press.