MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Abstract Garbage Collection Without Paging

Download:
pdf
unknown authors
http://www-ali.cs.umass.edu/~hertz/bc-pldi-2005.pdf
Add To MetaCart

Abstract:

Garbage collection offers numerous software engineering advantages, but interacts poorly with virtual memory managers. Existing garbage collectors require far more pages than the application’s working set and touch pages without regard to which ones are in memory, especially during full-heap garbage collection. The resulting paging can cause throughput to plummet and pause times to spike up to seconds or even minutes. We present a garbage collector that avoids paging. This bookmarking collector cooperates with the virtual memory manager to guide its eviction decisions. Using summary information (“bookmarks”) recorded from evicted pages, the collector can perform in-memory full-heap collections. In the absence of memory pressure, the bookmarking collector matches the throughput of the best collector we tested while running in smaller heaps. In the face of memory pressure, it improves throughput by up to a factor of five and reduces pause times by up to a factor of 45 over the next best collector. Compared to a collector that consistently provides high throughput (generational mark-sweep), the bookmarking collector reduces pause times by up to 218x and improves throughput by up to 41x. Bookmarking collection thus provides greater utilization of available physical memory than other collectors while matching or exceeding their throughput.

Citations

381 Uniprocessor Garbage Collection Techniques – Wilson - 1992
297 Garbage Collection: Algorithms for automatic dynamic memory management – Jones, Lins - 1996
280 Generation scavenging: A non-disruptive high performance storage reclamation algorithm – Ungar - 1984
226 The Jalepeño virtual machine – Alpern, Attanasio, et al. - 2000
216 A Real-Time Garbage Collector Based on the Lifetimes of Objects – Lieberman, Hewitt - 1983
193 A non-recursive list compacting algorithm – Cheney - 1970
162 Virtual Memory Primitives for User Programs – Appel, Li - 1991
161 Simple generational garbage collection and fast allocation – Appel - 1989
148 Dynamic storage allocation: A survey and critical review – Wilson, Johnstone, et al. - 1995
136 Real-time concurrent collection on stock multiprocessors – Appel, Ellis, et al. - 1988
129 A.: Garbage Collection in a Large Lisp System – Moon - 1984
80 Computer Systems with a Very Large Address Space and Garbage Collection – Bishop - 1977
77 Using generational garbage collection to implement cache-conscious data placement – Chilimbi, Larus - 1998
76 List processing in real-time on a serial computer – Baker - 1978
75 The measured cost of conservative garbage collection – Zorn - 1993
71 Implementing Jalapeño in Java – Alpern, Attanasio, et al. - 1999
65 A survey of distributed garbage collection techniques – Plainfossé, Shapiro - 1995
56 A parallel, real-time garbage collector – Cheng, Belloch - 2001
53 Oil and Water? High Performance Garbage Collection in Java with MMTk – Blackburn, Cheng, et al. - 2004
50 Hoard: A scalable memory allocator for multithreaded applications – Berger, McKinley, et al. - 2000
43 Myths and realities: The performance impact of garbage collection – Blackburn, Cheng, et al. - 2004
36 Improving locality of reference in a garbage-collecting memory management-system – Courts - 1988
36 A Lisp garbage collector for virtual memory computer systems – Fenichel, Yochelson - 1969
36 Age-based garbage collection – Stefanović, McKinley, et al. - 1999
36 E ective static-graph reorganization to improve locality in garbagecollected systems – Wilson, Lam, et al. - 1992
30 A high-performance garbage collector for Standard ML – Reppy - 1993
28 Improving the performance of SML garbage collection using application-specific virtual memory management – Cooper, Nettles, et al. - 1992
28 A memory allocator. http://gee.cs.oswego.edu/dl/html/malloc.html – Lea - 2006
27 Bosschere. How Java programs interact with virtual machines at the microarchitecture level – Eeckhout, Georges, et al. - 2003
26 Garbage collecting the Internet: a survey of distributed garbage collection – Abdullahi, Ringwood - 1998
24 The Garbage Collection Advantage: Improving Program Locality – Huang, Blackburn, et al. - 2004
21 Controlling fragmentation and space consumption in the Metronome, a real-time garbage collector for Java – Bacon, Cheng, et al. - 2003
21 Mark-copy: Fast copying gc with less space overhead – SACHINDRAN, B
21 Automatic heap sizing: Taking real memory into account – Yang, Hertz, et al. - 2004
20 The AED free storage package – Ross - 1967
18 Prefetch Injection Based on Hardware Monitoring and Object – Adl-Tabatabai, Hudson, et al. - 2004
18 An advisor for flexible working sets – Alonso, Appel - 1990
15 Object type directed garbage collection to improve locality – Lam, Wilson, et al. - 1992
12 A real-time garbage collecor with low overhead and consistent utilization – Bacon, Cheng, et al. - 2003
11 MC 2 : High-performance garbage collection for memory-constrained environments – Sachindran, Moss, et al. - 2004
10 A memory-efficient real-time non-copying garbage collector – Lim, Pardyak, et al. - 1998
7 Structure of a LISP system using two-level storage – G, MURPHY - 1967
7 Automatic vs. explicit memory management: Settling the performance debate – Hertz, Berger - 2004
6 LBNL traceroute heap corruption vulnerability. http: //www.securityfocus.com/bid/1739 – Savola
4 Garbage collection for virtual memory computer systems – Baecker - 1972
4 Leveled garbage collection – Tong, O’Donnell - 2001
3 Documentation: NetWare 6 - Optimizing Garbage Collection. Available at http://www.novell.com/documentation/ index.html – Novell
3 A note on the efficiency of a LISP computation in a paged machine – Bobrow, Murphy - 1968
3 Memory Validator - Garbage Collectors. Available at http://softwareverify.com/ memoryValidator/garbageCollectors.html – Verification, Ltd
3 rmap VM patch for the Linux kernel. Available at http://www.surriel.com/patches – Riel