ACM Home Page
Please provide us with feedback. Feedback
A parallel, incremental, mostly concurrent garbage collector for servers
Full text PdfPdf (683 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 27 ,  Issue 6  (November 2005) table of contents
Pages: 1097 - 1146  
Year of Publication: 2005
ISSN:0164-0925
Authors
Katherine Barabash  IBM Haifa Research Lab, Haifa, Israel
Ori Ben-Yitzhak  IBM Haifa Research Lab, Haifa, Israel
Irit Goft  IBM Haifa Research Lab, Haifa, Israel
Elliot K. Kolodner  IBM Haifa Research Lab, Haifa, Israel
Victor Leikehman  IBM Haifa Research Lab, Haifa, Israel
Yoav Ossia  IBM Haifa Research Lab, Haifa, Israel
Avi Owshanko  IBM Haifa Research Lab, Haifa, Israel
Erez Petrank  Technion, Israel
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 103,   Citation Count: 11
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/1108970.1108972
What is a DOI?

ABSTRACT

Multithreaded applications with multigigabyte heaps running on modern servers provide new challenges for garbage collection (GC). The challenges for “server-oriented” GC include: ensuring short pause times on a multigigabyte heap while minimizing throughput penalty, good scaling on multiprocessor hardware, and keeping the number of expensive multicycle fence instructions required by weak ordering to a minimum.We designed and implemented a collector facing these demands building on the mostly concurrent garbage collector proposed by Boehm et al. [1991]. Our collector incorporates new ideas into the original collector. We make it parallel and incremental; we employ concurrent low-priority background GC threads to take advantage of processor idle time; we propose novel algorithmic improvements to the basic mostly concurrent algorithm improving its efficiency and shortening its pause times; and finally, we use advanced techniques, such as a low-overhead work packet mechanism to enable full parallelism among the incremental and concurrent collecting threads and ensure load balancing.We compared the new collector to the mature, well-optimized, parallel, stop-the-world mark-sweep collector already in the IBM JVM. When allowed to run aggressively, using 72% of the CPU utilization during a short concurrent phase, our collector prototype reduces the maximum pause time from 161 ms to 46 ms while only losing 11.5% throughput when running the SPECjbb2000 benchmark on a 600-MB heap on an 8-way PowerPC 1.1-GHz processors. When the collector is limited to a nonintrusive operation using only 29% of the CPU utilization, the maximum pause time obtained is 79 ms and the loss in throughput is 15.4%.


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
Adve, S. V. and Gharachorloo, K. 1995. Shared memory consistency models: A tutorial. Res. Rep. 95/7. Western Research Laboratory, Palo Alto, CA, Sept.
 
2
Azagury, A., Kolodner, E. K., and Petrank, E. 1999. A note on the implementation of replication-based garbage collection for multithreaded applications and multiprocessor environments. Paral. Proc. Lett.
3
4
5
6
7
8
 
9
Borman, S. 2002. Sensible sanitation - understanding the ibm java garbage collector (Part 1: Object allocation). http://www.ibm.com/developerworks/ibm/library/i-garbage1.
10
 
11
Corella, F., Stone, J., and Barton, C. 1993. Specification of the PowerPC shared memory architecture. Tech. Rep. 18638, IBM Thomas J. Watson Research Center. Jan.
 
12
DeTreville, J. 1990. Experience with concurrent garbage collectors for Modula-2+. Tech. Rep. 64, DEC Systems Research Center, Palo Alto, CA. Aug.
 
13
Dijkstra, E. W., Lamport, L., Martin, A. J., Scholten, C. S., and Steffens, E. F. M. 1976. On-the-fly garbage collection: An exercise in cooperation. In Lecture Notes in Computer Science, vol. 46. Springer-Verlag, New York.
14
 
15
16
17
18
19
20
21
 
22
Flood, C., Detlefs, D., Shavit, N., and Zhang, C. 2001. Parallel garbage collection for shared memory multiprocessors. In Proceedings of the Usenix Java Virtual Machine Research and Technology Symposium (JVM '01) (Monterey, CA).
 
23
Hosking, T., Ed. 2000. ISMM 2000 Proceedings of the Second International Symposium on Memory Management. ACM SIGPLAN Notices, vol. 36(1). ACM Press, Minneapolis, MN.
 
24
25
 
26
IBM 2000. Z/Architecture Principles of Operation (SA22-7832-01). Appendix A. Available at www.ibm.com.
 
27
Intel 1999. IA-64 Application Developer's Architecture Guide. Available at http://developer.intel.com/design/itanium.
 
28
Intel Software Network, Software Products. 2005. Intel Vtune Performance Analyzers. http://www.intel.com/cd/software/products/asmona/eng/vtune/index.htm.
 
29
30
31
32
33
34
 
35
36
 
37
 
38
SPECjbb2000 1998. SPECjbb2000 Java Business Benchmark. Standard Performance Evaluation Corporation (SPEC), Fairfax, VA. Available at http://www.spec.org/osg/jbb2000/.
 
39
SPECJVM98 1998. SPECjvm98 Benchmarks. Standard Performance Evaluation Corporation (SPEC), Fairfax, VA. Available at http://www.spec.org/osg/jvm98/.
40
41
 
42
43
 
44
SUN 2003. JSRs: Java Specification Requests. JSR 133: Java Memory Model and Thread Specification Revision. Available at hhttp://jcp.org/jsr/detail/133.jsp.
 
45
Thomas, S., Charnell, W., Darnell, S., Dias, B. A. A., Kramskoy, J. G. P., Sexton, J., Wynn, J., Rautenbach, K., and Plummer W. 1998. Lowconnection grey object sets for concurrent, marking garbage collection. United States Patent Application, 20020042807.
46
 
47

CITED BY  11

Collaborative Colleagues:
Katherine Barabash: colleagues
Ori Ben-Yitzhak: colleagues
Irit Goft: colleagues
Elliot K. Kolodner: colleagues
Victor Leikehman: colleagues
Yoav Ossia: colleagues
Avi Owshanko: colleagues
Erez Petrank: colleagues