{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:42:28Z","timestamp":1750308148802,"version":"3.41.0"},"reference-count":34,"publisher":"Association for Computing Machinery (ACM)","issue":"5","license":[{"start":{"date-parts":[[2006,9,1]],"date-time":"2006-09-01T00:00:00Z","timestamp":1157068800000},"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":[[2006,9]]},"abstract":"<jats:p>In systems that support garbage collection, a tension exists between collecting garbage too frequently and not collecting it frequently enough. Garbage collection that occurs too frequently may introduce unnecessary overheads at the risk of not collecting much garbage during each cycle. On the other hand, collecting garbage too infrequently can result in applications that execute with a large amount of virtual memory (i.e., with a large footprint) and suffer from increased execution times due to paging.In this article, we use a large set of Java applications and the highly tuned and widely used Boehm-Demers-Weiser (BDW) conservative mark-and-sweep garbage collector to experimentally examine the extent to which the frequency of garbage collection impacts an application's execution time, footprint, and pause times. We use these results to devise some guidelines for controlling garbage collection and heap growth in a conservative garbage collector in order to minimize application execution times. Then we describe new strategies for controlling garbage collection and heap growth that impact not only the frequency with which garbage collection occurs but also the points at which it occurs. Experimental results demonstrate that when compared with the existing approach used in the standard BDW collector, our new strategy can significantly reduce application execution times.Our goal is to obtain a better understanding of how to control garbage collection and heap growth for an individual application executing in isolation. These results can be applied in a number of high-performance computing and server environments, in addition to some single-user environments. This work should also provide insights into how to make better decisions that impact garbage collection in multiprogrammed environments.<\/jats:p>","DOI":"10.1145\/1152649.1152652","type":"journal-article","created":{"date-parts":[[2006,10,18]],"date-time":"2006-10-18T18:11:32Z","timestamp":1161195092000},"page":"908-941","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":19,"title":["Controlling garbage collection and heap growth to reduce the execution time of Java applications"],"prefix":"10.1145","volume":"28","author":[{"given":"Tim","family":"Brecht","sequence":"first","affiliation":[{"name":"University of Waterloo"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eshrat","family":"Arjomandi","sequence":"additional","affiliation":[{"name":"York University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chang","family":"Li","sequence":"additional","affiliation":[{"name":"IBM Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hang","family":"Pham","sequence":"additional","affiliation":[{"name":"University of Toronto"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,9]]},"reference":[{"volume-title":"Proceedings of the ACM Sigmetrics Conference on Measurement and Modeling of Computer Systems (Boulder CO). ACM Press, 153--162","author":"Alonso R.","key":"e_1_2_1_1_1","unstructured":"Alonso , R. and Appel , A. W . 1990. Advisor for flexible working sets . In Proceedings of the ACM Sigmetrics Conference on Measurement and Modeling of Computer Systems (Boulder CO). ACM Press, 153--162 . 10.1145\/98457.98753 Alonso, R. and Appel, A. W. 1990. Advisor for flexible working sets. In Proceedings of the ACM Sigmetrics Conference on Measurement and Modeling of Computer Systems (Boulder CO). ACM Press, 153--162. 10.1145\/98457.98753"},{"volume-title":"Usenix Java Virtual Machine Research and Technology Symposium (JVM)","author":"Andreasson E.","key":"e_1_2_1_2_1","unstructured":"Andreasson , E. , Hoffmann , F. , and Lindholm , O . 2002. Memory management through machine learning: To collect or not to collect? In Usenix Java Virtual Machine Research and Technology Symposium (JVM) ( San Fransisco, CA). Andreasson, E., Hoffmann, F., and Lindholm, O. 2002. Memory management through machine learning: To collect or not to collect? In Usenix Java Virtual Machine Research and Technology Symposium (JVM) (San Fransisco, CA)."},{"key":"e_1_2_1_3_1","unstructured":"Appel A. 2003. Personal communication.  Appel A. 2003. Personal communication."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380190206"},{"key":"e_1_2_1_5_1","unstructured":"Attanasio C. R. Bacon D. F. Cocchi A. and Smith S. 2001. A comparative evaluation of parallel garbage collectors. In Proceedings of the 14th Annual Workshop on Languages and Compilers for Parallel Computing (Cumberland Falls KT). Lecture Notes in Computer Science Springer Verlag.   Attanasio C. R. Bacon D. F. Cocchi A. and Smith S. 2001. A comparative evaluation of parallel garbage collectors. In Proceedings of the 14th Annual Workshop on Languages and Compilers for Parallel Computing (Cumberland Falls KT). Lecture Notes in Computer Science Springer Verlag."},{"volume-title":"Proceedings of the (OOPSLA) ACM Conference on Object-Oriented Systems, Languages and Applications","author":"Azatchi H.","key":"e_1_2_1_6_1","unstructured":"Azatchi , H. , Levanoni , Y. , Paz , H. , and Petrank , E . 2003. An on-the-fly mark-and-sweep garbage collector based on sliding view . In Proceedings of the (OOPSLA) ACM Conference on Object-Oriented Systems, Languages and Applications ( Anaheim, CA). ACM SIGPLAN Notices. 10.1145\/949305.949329 Azatchi, H., Levanoni, Y., Paz, H., and Petrank, E. 2003. An on-the-fly mark-and-sweep garbage collector based on sliding view. In Proceedings of the (OOPSLA) ACM Conference on Object-Oriented Systems, Languages and Applications (Anaheim, CA). ACM SIGPLAN Notices. 10.1145\/949305.949329"},{"volume-title":"Proceedings of the SIGPLAN Conference on Programming Languages Design and Implementation","author":"Bacon D. F.","key":"e_1_2_1_7_1","unstructured":"Bacon , D. F. , Attanasio , C. R. , Lee , H. B. , Rajan , V. T. , and Smith , S . 2001. Java without the coffee breaks: A nonintrusive multiprocessor garbage collector . In Proceedings of the SIGPLAN Conference on Programming Languages Design and Implementation ( Snowbird, UT). ACM SIGPLAN Notices. 10.1145\/378795.378819 Bacon, D. F., Attanasio, C. R., Lee, H. B., Rajan, V. T., and Smith, S. 2001. Java without the coffee breaks: A nonintrusive multiprocessor garbage collector. In Proceedings of the SIGPLAN Conference on Programming Languages Design and Implementation (Snowbird, UT). ACM SIGPLAN Notices. 10.1145\/378795.378819"},{"volume-title":"Proceedings of the (OOPSLA) ACM Conference on Object-Oriented Systems, Languages and Applications","author":"Barabash K.","key":"e_1_2_1_8_1","unstructured":"Barabash , K. , Ossia , Y. , and Petrank , E . 2003. Mostly concurrent garbage collection revisited . In Proceedings of the (OOPSLA) ACM Conference on Object-Oriented Systems, Languages and Applications ( Anaheim, CA). ACM SIGPLAN Notices. 10.1145\/949305.949328 Barabash, K., Ossia, Y., and Petrank, E. 2003. Mostly concurrent garbage collection revisited. In Proceedings of the (OOPSLA) ACM Conference on Object-Oriented Systems, Languages and Applications (Anaheim, CA). ACM SIGPLAN Notices. 10.1145\/949305.949328"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the 2nd International Symposium on Memory Management","author":"Boehm H.-J.","year":"2000","unstructured":"Boehm , H.-J. 2000 . Reducing garbage collector cache misses . In Proceedings of the 2nd International Symposium on Memory Management ( Minneapolis, MN), T. Hosking, Ed. ACM SIGPLAN Notices 36, 1. 10.1145\/362422.362438 Boehm, H.-J. 2000. Reducing garbage collector cache misses. In Proceedings of the 2nd International Symposium on Memory Management (Minneapolis, MN), T. Hosking, Ed. ACM SIGPLAN Notices 36, 1. 10.1145\/362422.362438"},{"key":"e_1_2_1_10_1","unstructured":"Boehm H.-J. 2004. A garbage collector for C and C&plus;&plus;. Hans Boehm's Web page for his garbage collector http:\/\/www.hpl.hp.com\/personal\/Hans_Boehm\/gc\/.  Boehm H.-J. 2004. A garbage collector for C and C&plus;&plus;. Hans Boehm's Web page for his garbage collector http:\/\/www.hpl.hp.com\/personal\/Hans_Boehm\/gc\/."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380180902"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/286860.286865"},{"volume-title":"Conference Record of the ACM Symposium on Lisp and Functional Programming","author":"Cooper E.","key":"e_1_2_1_13_1","unstructured":"Cooper , E. , Nettles , S. , and Subramanian , I . 1992. Improving the performance of SML garbage collection using application-specific virtual memory management . In Conference Record of the ACM Symposium on Lisp and Functional Programming ( San Fransisco, CA). ACM Press, 43--52. 10.1145\/141471.141501 Cooper, E., Nettles, S., and Subramanian, I. 1992. Improving the performance of SML garbage collection using application-specific virtual memory management. In Conference Record of the ACM Symposium on Lisp and Functional Programming (San Fransisco, CA). ACM Press, 43--52. 10.1145\/141471.141501"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.391.0151"},{"volume-title":"Proceedings of SIGPLAN Conference on Programming Languages Design and Implementation","author":"Domani T.","key":"e_1_2_1_15_1","unstructured":"Domani , T. , Kolodner , E. , and Petrank , E . 2000. A generational on-the-fly garbage collector for Java . In Proceedings of SIGPLAN Conference on Programming Languages Design and Implementation ( Vancouver, BC). ACM SIGPLAN Notices. 10.1145\/349299.349336 Domani, T., Kolodner, E., and Petrank, E. 2000. A generational on-the-fly garbage collector for Java. In Proceedings of SIGPLAN Conference on Programming Languages Design and Implementation (Vancouver, BC). ACM SIGPLAN Notices. 10.1145\/349299.349336"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/362422.362472"},{"key":"e_1_2_1_17_1","unstructured":"Geodesic Systems Inc. 2002. REMIDI. Geodesic Systems Inc. http:\/\/www.geodesic.com\/solutions\/remidi.html.  Geodesic Systems Inc. 2002. REMIDI. Geodesic Systems Inc. http:\/\/www.geodesic.com\/solutions\/remidi.html."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155107"},{"key":"e_1_2_1_19_1","volume-title":"Garbage Collection: Algorithms for Automatic Dynamic Memory Management","author":"Jones R. E.","year":"1996","unstructured":"Jones , R. E. and Lins , R . 1996 . Garbage Collection: Algorithms for Automatic Dynamic Memory Management . Wiley Somerset , NJ. Jones, R. E. and Lins, R. 1996. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley Somerset, NJ."},{"volume-title":"Proceedings of the 6th IEEE Real Time Technology and Applications Symposium (RTAS).","author":"Kim T.","key":"e_1_2_1_20_1","unstructured":"Kim , T. , Chang , N. , and Shin , H . 2000. Bounding worst case garbage collection time for embedded real-time systems . In Proceedings of the 6th IEEE Real Time Technology and Applications Symposium (RTAS). Kim, T., Chang, N., and Shin, H. 2000. Bounding worst case garbage collection time for embedded real-time systems. In Proceedings of the 6th IEEE Real Time Technology and Applications Symposium (RTAS)."},{"key":"e_1_2_1_21_1","volume-title":"Conference Record of the ACM Symposium on Lisp and Functional Programming","author":"Moon D. A.","year":"1984","unstructured":"Moon , D. A. 1984 . Garbage collection in a large LISP system . In Conference Record of the ACM Symposium on Lisp and Functional Programming ( Austin, TX), G. L. Steele, Ed. ACM Press, 235--245. 10.1145\/800055.80 2040 Moon, D. A. 1984. Garbage collection in a large LISP system. In Conference Record of the ACM Symposium on Lisp and Functional Programming (Austin, TX), G. L. Steele, Ed. ACM Press, 235--245. 10.1145\/800055.802040"},{"volume-title":"Proceedings of SIGPLAN Conference on Programming Languages Design and Implementation","author":"Ossia Y.","key":"e_1_2_1_22_1","unstructured":"Ossia , Y. , Ben-Yitzhak , O. , Goft , I. , Kolodner , E. K. , Leikehman , V. , and Owshanko , A . 2002. A parallel, incremental and concurrent GC for servers . In Proceedings of SIGPLAN Conference on Programming Languages Design and Implementation ( Berlin, Germany). ACM SIGPLAN Notices 129--140. 10.1145\/512529.512546 Ossia, Y., Ben-Yitzhak, O., Goft, I., Kolodner, E. K., Leikehman, V., and Owshanko, A. 2002. A parallel, incremental and concurrent GC for servers. In Proceedings of SIGPLAN Conference on Programming Languages Design and Implementation (Berlin, Germany). ACM SIGPLAN Notices 129--140. 10.1145\/512529.512546"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the Java Virtual Machine Research and Technology Symposium. USENIX.","author":"Printezis T.","year":"2001","unstructured":"Printezis , T. 2001 . Hot-Swapping between a mark-and-sweep and a mark-and-compact garbage collector in a generational environment . In Proceedings of the Java Virtual Machine Research and Technology Symposium. USENIX. Printezis, T. 2001. Hot-Swapping between a mark-and-sweep and a mark-and-compact garbage collector in a generational environment. In Proceedings of the Java Virtual Machine Research and Technology Symposium. USENIX."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/362422.362430"},{"volume-title":"Proceedings of the SIGMETRICS Conference. 10","author":"Shuf Y.","key":"e_1_2_1_25_1","unstructured":"Shuf , Y. , Serrano , M. , Gupta , M. , and Singh , J. P . 2001. Characterizing the memory behavior of Java workloads: A structured view and opportunities for optimizations . In Proceedings of the SIGMETRICS Conference. 10 .1145\/378420.378783 Shuf, Y., Serrano, M., Gupta, M., and Singh, J. P. 2001. Characterizing the memory behavior of Java workloads: A structured view and opportunities for optimizations. In Proceedings of the SIGMETRICS Conference. 10.1145\/378420.378783"},{"key":"e_1_2_1_26_1","unstructured":"Sun Microsystems. 2005. Tuning garbage collection with the 5.0 Java virtual machine. http:\/\/java.sun.com\/docs\/hotspot\/gc5.0\/gc_tuning_5.html.  Sun Microsystems. 2005. Tuning garbage collection with the 5.0 Java virtual machine. http:\/\/java.sun.com\/docs\/hotspot\/gc5.0\/gc_tuning_5.html."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/286860.286868"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/62084.62085"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/111186.116734"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the International Workshop on Memory Management (Kinross, Scotland), H. Baker, Ed. Lecture Notes in Computer Science","volume":"986","author":"Wilson P. R.","unstructured":"Wilson , P. R. , Johnstone , M. S. , Neely , M. , and Boles , D . 1995. Dynamic storage allocation: A survey and critical review . In Proceedings of the International Workshop on Memory Management (Kinross, Scotland), H. Baker, Ed. Lecture Notes in Computer Science , vol. 986 . Springer Verlag. Wilson, P. R., Johnstone, M. S., Neely, M., and Boles, D. 1995. Dynamic storage allocation: A survey and critical review. In Proceedings of the International Workshop on Memory Management (Kinross, Scotland), H. Baker, Ed. Lecture Notes in Computer Science, vol. 986. Springer Verlag."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/113446.113461"},{"volume-title":"Conference Record of the ACM Symposium on Lisp and Functional Programming","author":"Wilson P. R.","key":"e_1_2_1_33_1","unstructured":"Wilson , P. R. , Lam , M. S. , and Moher , T. G . 1992. Caching considerations for generational garbage collection . In Conference Record of the ACM Symposium on Lisp and Functional Programming ( San Fransisco, CA). ACM Press, 32--42. 10.1145\/141471.141500 Wilson, P. R., Lam, M. S., and Moher, T. G. 1992. Caching considerations for generational garbage collection. In Conference Record of the ACM Symposium on Lisp and Functional Programming (San Fransisco, CA). ACM Press, 32--42. 10.1145\/141471.141500"},{"key":"e_1_2_1_34_1","volume-title":"Conference Record of the ACM Symposium on Lisp and Functional Programming","author":"Zorn B.","year":"1990","unstructured":"Zorn , B. 1990 . Comparing mark-and-sweep and stop-and-copy garbage collection . In Conference Record of the ACM Symposium on Lisp and Functional Programming ( Nice, France). ACM Press. 10.1145\/91556.91597 Zorn, B. 1990. Comparing mark-and-sweep and stop-and-copy garbage collection. In Conference Record of the ACM Symposium on Lisp and Functional Programming (Nice, France). ACM Press. 10.1145\/91556.91597"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380230704"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1152649.1152652","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1152649.1152652","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:18:42Z","timestamp":1750263522000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1152649.1152652"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,9]]},"references-count":34,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2006,9]]}},"alternative-id":["10.1145\/1152649.1152652"],"URL":"https:\/\/doi.org\/10.1145\/1152649.1152652","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2006,9]]},"assertion":[{"value":"2006-09-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}