Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Algorithms for on-the-fly garbage collection
Ben-Ari M. ACM Transactions on Programming Languages and Systems6 (3):333-344,1984.Type:Article
Date Reviewed: Feb 1 1985

On-the-fly garbage collectors provide an interesting class of concurrent algorithms for study, as they are quintessentially concurrent, rather than sequential algorithms which manage to work despite the concurrency. Dijstra et al. [1] present an algorithm with an extremely complex and difficult proof. Other proofs of the same algorithm have been produced, but all are hard to grasp.

In this paper, a new algorithm is presented. It is slightly simpler than [1], involving the use of only two “colors” for marking the data structure (rather than three), but its real objective and strength is its amenability to a very straightforward proof. This is presented for a program fragment in ADA, in the form of invariants which involve the program coutner explicitly. The algorithm is shown to be robust in the face of the apparently trivial programming changes which have invalidated other proofs; it also appears to be compatible with the hardware used to implement the mutator part of [1] on the Intel iAPX-432 machine.

The straightforward nature of the algorithm makes it possible to develop provable variants with little effort. A more efficient version and an incremental garbage collector are shown. This is an extremely lucid and approachable paper in an area not often found rewarding by nonspecialists. It is strongly recommended.

Reviewer:  Benedict Heal Review #: CR108700
1) Dijkstra, e. w.; lamport, L. et al.On the fly garbage collection: an exercise in cooperation, Commun. ACM 21, 11 (Nov. 1978), 966-975.
Bookmark and Share
 
Garbage Collection (D.4.2 ... )
 
 
Concurrent Programming (D.1.3 )
 
 
Software/ Program Verification (D.2.4 )
 
 
Storage Management (D.4.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Garbage Collection": Date
Program logic and equivalence in the presence of garbage collection: a case study
Calcagno C., O’Hearn P., Bornat R. Theoretical Computer Science 298(3): 557-581, 2003. Type: Article
Jul 7 2003
Real-time garbage collection for a multithreaded Java microcontroller
Pfeffer M., Ungerer T., Fuhrmann S., Kreuzinger J., Brinkschulte U. Real-Time Systems 26(1): 89-106, 2004. Type: Article, Reviews: (1 of 2)
Mar 19 2004
Real-time garbage collection for a multithreaded Java microcontroller
Pfeffer M., Ungerer T., Fuhrmann S., Kreuzinger J., Brinkschulte U. Real-Time Systems 26(1): 89-106, 2004. Type: Article, Reviews: (2 of 2)
Aug 18 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy