{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:41:27Z","timestamp":1750308087037,"version":"3.41.0"},"reference-count":45,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2005,11,1]],"date-time":"2005-11-01T00:00:00Z","timestamp":1130803200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2005,11]]},"abstract":"<jats:p>Multithreaded applications with multigigabyte heaps running on modern servers provide new challenges for garbage collection (GC). The challenges for \u201cserver-oriented\u201d 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%.<\/jats:p>","DOI":"10.1145\/1108970.1108972","type":"journal-article","created":{"date-parts":[[2006,2,6]],"date-time":"2006-02-06T15:07:09Z","timestamp":1139238429000},"page":"1097-1146","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":47,"title":["A parallel, incremental, mostly concurrent garbage collector for servers"],"prefix":"10.1145","volume":"27","author":[{"given":"Katherine","family":"Barabash","sequence":"first","affiliation":[{"name":"IBM Haifa Research Lab, Haifa, Israel"}]},{"given":"Ori","family":"Ben-Yitzhak","sequence":"additional","affiliation":[{"name":"IBM Haifa Research Lab, Haifa, Israel"}]},{"given":"Irit","family":"Goft","sequence":"additional","affiliation":[{"name":"IBM Haifa Research Lab, Haifa, Israel"}]},{"given":"Elliot K.","family":"Kolodner","sequence":"additional","affiliation":[{"name":"IBM Haifa Research Lab, Haifa, Israel"}]},{"given":"Victor","family":"Leikehman","sequence":"additional","affiliation":[{"name":"IBM Haifa Research Lab, Haifa, Israel"}]},{"given":"Yoav","family":"Ossia","sequence":"additional","affiliation":[{"name":"IBM Haifa Research Lab, Haifa, Israel"}]},{"given":"Avi","family":"Owshanko","sequence":"additional","affiliation":[{"name":"IBM Haifa Research Lab, Haifa, Israel"}]},{"given":"Erez","family":"Petrank","sequence":"additional","affiliation":[{"name":"Technion, Israel"}]}],"member":"320","published-online":{"date-parts":[[2005,11]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"crossref","unstructured":"Adve S. V. and Gharachorloo K. 1995. Shared memory consistency models: A tutorial. Res. Rep. 95\/7. Western Research Laboratory Palo Alto CA Sept.  Adve S. V. and Gharachorloo K. 1995. Shared memory consistency models: A tutorial. Res. Rep. 95\/7. Western Research Laboratory Palo Alto CA Sept.","DOI":"10.21236\/ADA638015"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626499000360"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/949305.949329"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378819"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277734"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/359460.359470"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/512429.512442"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/113446.113459"},{"key":"e_1_2_1_9_1","unstructured":"Borman S. 2002. Sensible sanitation - understanding the ibm java garbage collector (Part 1: Object allocation). http:\/\/www.ibm.com\/developerworks\/ibm\/library\/i-garbage1.  Borman S. 2002. Sensible sanitation - understanding the ibm java garbage collector (Part 1: Object allocation). http:\/\/www.ibm.com\/developerworks\/ibm\/library\/i-garbage1."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378823"},{"key":"e_1_2_1_11_1","volume-title":"Tech. Rep. 18638","author":"Corella F.","year":"1993","unstructured":"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. 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."},{"key":"e_1_2_1_13_1","volume-title":"Lecture Notes in Computer Science","volume":"46","author":"Dijkstra E. W.","unstructured":"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. 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."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/359642.359655"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.391.0151"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/174675.174673"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/158511.158611"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349336"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/362422.362484"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/509593.509641"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/512429.512432"},{"volume-title":"Proceedings of the Usenix Java Virtual Machine Research and Technology Symposium (JVM '01)","author":"Flood C.","key":"e_1_2_1_22_1","unstructured":"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). 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)."},{"key":"e_1_2_1_23_1","volume-title":"ISMM 2000 Proceedings of the Second International Symposium on Memory Management. ACM SIGPLAN Notices","author":"Hosking T., Ed.","year":"2000","unstructured":"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. 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."},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of International Workshop on Memory Management, Y. Bekkers and J. Cohen, Eds. Lecture Notes in Computer Science","volume":"637","author":"Hudson R. L.","unstructured":"Hudson , R. L. and Moss , J. E. B. 1992. Incremental garbage collection for mature objects . In Proceedings of International Workshop on Memory Management, Y. Bekkers and J. Cohen, Eds. Lecture Notes in Computer Science , vol. 637 . Springer-Verlag, New York. Hudson, R. L. and Moss, J. E. B. 1992. Incremental garbage collection for mature objects. In Proceedings of International Workshop on Memory Management, Y. Bekkers and J. Cohen, Eds. Lecture Notes in Computer Science, vol. 637. Springer-Verlag, New York."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/376656.376810"},{"key":"e_1_2_1_26_1","unstructured":"IBM 2000. Z\/Architecture Principles of Operation (SA22-7832-01). Appendix A. Available at www.ibm.com.  IBM 2000. Z\/Architecture Principles of Operation (SA22-7832-01). Appendix A. Available at www.ibm.com."},{"key":"e_1_2_1_27_1","unstructured":"Intel 1999. IA-64 Application Developer's Architecture Guide. Available at http:\/\/developer.intel.com\/design\/itanium.  Intel 1999. IA-64 Application Developer's Architecture Guide. Available at http:\/\/developer.intel.com\/design\/itanium."},{"key":"e_1_2_1_28_1","volume-title":"Software Products","author":"Intel Software Network","year":"2005","unstructured":"Intel Software Network , Software Products . 2005 . Intel Vtune Performance Analyzers . http:\/\/www.intel.com\/cd\/software\/products\/asmona\/eng\/vtune\/index.htm. Intel Software Network, Software Products. 2005. Intel Vtune Performance Analyzers. http:\/\/www.intel.com\/cd\/software\/products\/asmona\/eng\/vtune\/index.htm."},{"key":"e_1_2_1_29_1","volume-title":"Garbage Collection: Algorithms for Automatic Dynamic Memory Management","author":"Jones R. E.","year":"1996","unstructured":"Jones , R. E. 1996 . Garbage Collection: Algorithms for Automatic Dynamic Memory Management . Wiley , New York . (With a chapter on Distributed Garbage Collection by R. Lins.) Jones, R. E. 1996. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, New York. (With a chapter on Distributed Garbage Collection by R. Lins.)"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/29650.29677"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/504282.504309"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/358141.358147"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/800055.802040"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155111"},{"key":"e_1_2_1_35_1","unstructured":"Patterson D. and Hennessy J. 1990. Computer architecture: A quantitative approach. Morgan-Kaufman Reading MA.   Patterson D. and Hennessy J. 1990. Computer architecture: A quantitative approach. Morgan-Kaufman Reading MA."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/362422.362480"},{"volume-title":"SPECjbb2000 Java Business Benchmark","author":"Cjbb","key":"e_1_2_1_38_1","unstructured":"SPE Cjbb 2000 1998. SPECjbb2000 Java Business Benchmark . Standard Performance Evaluation Corporation (SPEC) , Fairfax, VA . Available at http:\/\/www.spec.org\/osg\/jbb2000\/. SPECjbb2000 1998. SPECjbb2000 Java Business Benchmark. Standard Performance Evaluation Corporation (SPEC), Fairfax, VA. Available at http:\/\/www.spec.org\/osg\/jbb2000\/."},{"volume-title":"Standard Performance Evaluation Corporation (SPEC)","author":"Cjvm","key":"e_1_2_1_39_1","unstructured":"SPECJVM98 1998. SPE Cjvm 98 Benchmarks. Standard Performance Evaluation Corporation (SPEC) , Fairfax, VA . Available at http:\/\/www.spec.org\/osg\/jvm98\/. SPECJVM98 1998. SPECjvm98 Benchmarks. Standard Performance Evaluation Corporation (SPEC), Fairfax, VA. Available at http:\/\/www.spec.org\/osg\/jvm98\/."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/361002.361005"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/361002.361005"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.391.0175"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/504282.504296"},{"key":"e_1_2_1_44_1","unstructured":"SUN 2003. JSRs: Java Specification Requests. JSR 133: Java Memory Model and Thread Specification Revision. Available at hhttp:\/\/jcp.org\/jsr\/detail\/133.jsp.  SUN 2003. JSRs: Java Specification Requests. JSR 133: Java Memory Model and Thread Specification Revision. Available at hhttp:\/\/jcp.org\/jsr\/detail\/133.jsp."},{"key":"e_1_2_1_45_1","unstructured":"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.  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."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/390011.808261"},{"key":"e_1_2_1_47_1","unstructured":"White D. and Garthwaite A. 1998. The GC interface in the EVM. Tech. Rep. SML TR--98--67 Sun Microsystems Laboratories. Dec.   White D. and Garthwaite A. 1998. The GC interface in the EVM. Tech. Rep. SML TR--98--67 Sun Microsystems Laboratories. Dec."}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1108970.1108972","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1108970.1108972","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:07:50Z","timestamp":1750262870000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1108970.1108972"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,11]]},"references-count":45,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2005,11]]}},"alternative-id":["10.1145\/1108970.1108972"],"URL":"https:\/\/doi.org\/10.1145\/1108970.1108972","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2005,11]]},"assertion":[{"value":"2005-11-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}