ACM Home Page
Please provide us with feedback. Feedback
Software prefetching for mark-sweep garbage collection: hardware analysis and software redesign
Full text PdfPdf (165 KB)
Source ACM SIGPLAN Notices archive
Volume 39 ,  Issue 11  (November 2004) table of contents
ASPLOS '04
SESSION: Memory system analysis and optimization table of contents
Pages: 199 - 210  
Year of Publication: 2004
ISSN:0362-1340
Also published in ...
Authors
Chen-Yong Cher  Purdue University, West Lafayette, IN
Antony L. Hosking  Purdue University, West Lafayette, IN
T. N. Vijaykumar  Purdue University, West Lafayette, IN
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 88,   Citation Count: 3
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/1037187.1024417
What is a DOI?

ABSTRACT

Tracing garbage collectors traverse references from live program variables, transitively tracing out the closure of live objects. Memory accesses incurred during tracing are essentially random: a given object may contain references to any other object. Since application heaps are typically much larger than hardware caches, tracing results in many cache misses. Technology trends will make cache misses more important, so tracing is a prime target for prefetching.Simulation of Java benchmarks running with the Boehm-De-mers-Weiser mark-sweep garbage collector for a projected hardware platform reveal high tracing overhead (up to 65% of elapsed time), and that cache misses are a problem. Applying Boehm's default prefetching strategy yields improvements in execution time (16% on average with incremental/generational collection for GC-intensive benchmarks), but analysis shows that his strategy suffers from significant timing problems: prefetches that occur too early or too late relative to their matching loads. This analysis drives development of a new prefetching strategy that yields up to three times the performance improvement of Boehm's strategy for GC-intensive benchmark (27% average speedup), and achieves performance close to that of perfect timing ie, few misses for tracing accesses) on some benchmarks. Validating these simulation results with live runs on current hardware produces average speedup of 6% for the new strategy on GC-intensive benchmarks with a GC configuration that tightly controls heap growth. In contrast, Boehm's default prefetching strategy is ineffective on this platform.


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
 
2
3
4
5
 
6
 
7
 
8
9
 
10
 
11
Horowitz, M., Martonosi, M., Mowry, T. C., and Smith, M. D. Informing memory operations: Memory performance feedback mechanisms and their applications.
 
12
Hughes, R. J. M. A semi-incremental garbage collection algorithm. Software---Practice and Experience 21, 11 (Nov. 1982), 1081--1084.
 
13
 
14
Karlsson, M., Dahlgren, F., and Stenström, P. A prefetching technique for irregular accesses to linked data structures. In Proceedings of the International Symposium on High Performance Computer Architecture (Toulouse, France, Jan.). IEEE Computer Society, 2000, pp. 206--217.
 
15
16
17
18
 
19
20
 
21
SPEC. SPECjvm98 benchmarks, 1998. http://www.spec.org/osg/jvm98.
22
 
23
24
25
26


Collaborative Colleagues:
Chen-Yong Cher: colleagues
Antony L. Hosking: colleagues
T. N. Vijaykumar: colleagues