Re: Help finding a book and some gc references
Erez Petrank <[email protected]> Wed, 15 Oct 2008 15:43:22 +0200
| Newsgroups | gmane.comp.programming.garbage-collection.general |
|---|---|
| Message-ID | <[email protected]> |
I ran a project that concentrated on improving reference counting algorithms and engineering for parallel platforms. You can check my publication page (http://www.cs.technion.ac.il/~erez/papers-by-area.html) to see the papers and some presentations. The first paper in this project was joint with Levanoni in TOPLAS 2006 (originally OOPSLA 2001) on concurrent reference-counting for SMP [1]. It proposes the update coalescing technique to reduce the overheads, a low-overhead write-barrier that avoids synchronization, and the sliding-views methodology for arguing about concurrent collectors. (You can also find pointers to earlier work in that paper.) An extension of the Levanoni-Petrank with generational GC and old-generation reference counting appeared later in [2]. Independently, the Ulterior collector [3] also used generations with reference counting on the old generation. The Ulterior collector is not concurrent, but it employs some cool techniques for reducing the collector's pause times (even on a uniprocessor) while maintaining high efficiency. The age-oriented collector [4] attempts to propose the best way to use reference-counting generational collectors. Further work on prefetching for reference counting appears in [5]. Cycle collection has a long history, but notably, the 2001 Bacon-Rajan paper [6] provides a modern concurrent cycle collector. A subsequent combination of cycle collector with the Levanoni-Petrank reference-counting collector (plus some improved techniques) [7] provides the state-of-the-art cycle collection. It is worth noting that Pramod Joisha has recently written a few papers on static analysis to aid refernce counting (e.g. [8]). That project involved a substantial effort with non-trivial analysis, but his collectors did not parallelize and they only used analysis on the root pointers. A statical Analysis of pointers on the heap is even more challenging and was left as future work. [1] Yossi Levanoni and Erez Petrank. An On-the-fly Reference Counting Garbage Collector for Java. ACM Transactions on Programming Languages and Systems, Vol. 28, No. 1, January, 2006. [2] Hezi Azatchi and Erez Petrank. Integrating Generations with Advanced Reference Counting Garbage Collectors. The 12th International Conference on Compiler Construction (CC'03), April 2003. [3] Steven Blackburn and Katheryn McKinley. Ulterior Reference Counting: Fast Garbage Collection without a Long Wait. (http://portal.acm.org/citation.cfm?id=949343.949336). OOPSLA'03, October 2003 [4] Harel Paz, Erez Petrank, and Stephen M. Blackburn. Age-Oriented Concurrent Garbage Collection. 14th International Conference on Compiler Construction (CC'05), April 2005. [5] Harel Paz and Erez Petrank. Using Prefetching to Improve Reference-Counting Garbage Collectors. Proceedings of the 16th International Conference on Compiler Construction (CC'07), March, 2007. [6] David F. Bacon, V. T. Rajan: Concurrent Cycle Collection in Reference Counted Systems. ECOOP 2001: 207-235. [7] Harel Paz, David F. Bacon, Elliot K. Kolodner, Erez Petrank, and V.T. Rajan. Efficinet On-the-Fly Cycle Collection. 14th International Conference on Compiler Construction (CC'05), April 2005. [8] Pramod G. Joisha: Overlooking roots: a framework for making nondeferred reference-counting garbage collection fast. ISMM 2007: 141-158 Best, -- Erez ---------------------------------------------------------------------- Erez Petrank, Assoc. Prof. Dept. of Computer Science, Technion - Israel Institute of Technology Haifa 32000, Israel Email: [email protected] homepage: http://www.cs.technion.ac.il/~erez Phone: +972-4-829-4942. Fax: +972-4-829-3900 ----------------------------------------------------------------------