ACM Home Page
Please provide us with feedback. Feedback
Garbage collection without paging
Full text PdfPdf (231 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation table of contents
Chicago, IL, USA
SESSION: Optimization table of contents
Pages: 143 - 153  
Year of Publication: 2005
ISBN:1-59593-056-6
Also published in ...
Authors
Matthew Hertz  University of Massachusetts Amherst, Amherst, MA
Yi Feng  University of Massachusetts Amherst, Amherst, MA
Emery D. Berger  University of Massachusetts Amherst, Amherst, MA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 89,   Citation Count: 19
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1065010.1065028
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
J2SE 1.5.0 Documentation - Garbage Collector Ergonomics. Available at http://java.sun.com/j2se/1.5.0/docs/guide/vm/gc-ergonomics.html.
 
2
Novell Documentation: NetWare 6 - Optimizing Garbage Collection. Available at http://www.novell.com/documentation/index.html.
 
3
Technical white paper - BEA Weblogic JRockit: Java for the enterprise. Available at http://www.bea.com/content/news_events/white_papers/BEA_JRockit_wp.pdf.
4
5
6
7
 
8
 
9
10
11
12
13
14
15
16
 
17
P. B. Bishop. Computer Systems with a Very Large Address Space and Garbage Collection. PhD thesis, MIT Laboratory for Computer Science, May 1977.
18
 
19
20
21
22
23
24
25
 
26
S. P. E. Corporation. Specjbb2000. Available at http://www.spec.org/jbb2000/docs/userguide.html.
 
27
S. P. E. Corporation. Specjvm98 documentation, Mar. 1999.
28
 
29
L. Eeckhout, A. Georges, and K. D. Bosschere. How Java programs interact with virtual machines at the microarchitectural level. pages 169--186.
30
 
31
M. Hertz and E. D. Berger. Automatic vs. explicit memory management: Settling the performance debate. Technical report, University of Massachusetts, Mar. 2004.
32
 
33
 
34
S. F. Kaplan. In-kernel RIG: Downloads. Available at http://www.cs.amherst.edu/~sfkaplan/research/rig/download.
 
35
 
36
D. Lea. A memory allocator. http://gee.cs.oswego.edu/dl/html/malloc.html, 1997. Available at http://gee.cs.oswego.edu/dl/html/malloc.html.
37
38
39
 
40
 
41
J. H. Reppy. A high-performance garbage collector for Standard ML. Technical memorandum, AT&T Bell Laboratories, Murray Hill, NJ, Dec. 1993.
42
43
44
 
45
P. Savola. LBNL traceroute heap corruption vulnerability. http://www.securityfocus.com/bid/1739.
 
46
Software Verification, Ltd. Memory Validator - Garbage Collectors. Available at http://softwareverify.com/memoryValidator/garbageCollectors.html.
47
 
48
G. Tong and M. J. O'Donnell. Leveled garbage collection. Journal of Functional and Logic Programming, 2001(5):1--22, May 2001.
49
 
50
R. van Riel. rmap VM patch for the Linux kernel. Available at http://www.surriel.com/patches/.
 
51
D. A. Wheeler. SLOCcount. Available at http://www.dwheeler.com/sloccount.
 
52
 
53
54
55
 
56

CITED BY  19

Collaborative Colleagues:
Matthew Hertz: colleagues
Yi Feng: colleagues
Emery D. Berger: colleagues