{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,23]],"date-time":"2025-08-23T05:15:37Z","timestamp":1755926137868,"version":"3.41.0"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"9","license":[{"start":{"date-parts":[[2017,6,18]],"date-time":"2017-06-18T00:00:00Z","timestamp":1497744000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001871","name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia","doi-asserted-by":"publisher","award":["UID\/CEC\/50021\/2013"],"award-info":[{"award-number":["UID\/CEC\/50021\/2013"]}],"id":[{"id":"10.13039\/501100001871","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[2017,10,31]]},"abstract":"<jats:p>Big Data applications suffer from unpredictable and unacceptably high pause times due to Garbage Collection (GC). This is the case in latency-sensitive applications such as on-line credit-card fraud detection, graph-based computing for analysis on social networks, etc. Such pauses compromise latency requirements of the whole application stack and result from applications' aggressive buffering\/caching of data, exposing an ill-suited GC design, which assumes that most objects will die young and does not consider that applications hold large amounts of middle-lived data in memory.<\/jats:p>\n          <jats:p>To avoid such pauses, we propose NG2C, a new GC algorithm that combines pretenuring with user-defined dynamic generations. By being able to allocate objects into different generations, NG2C is able to group objects with similar lifetime profiles in the same generation. By allocating objects with similar lifetime profiles close to each other, i.e. in the same generation, we avoid object promotion (copying between generations) and heap fragmentation (which leads to heap compactions) both responsible for most of the duration of HotSpot GC pause times.<\/jats:p>\n          <jats:p>NG2C is implemented for the OpenJDK 8 HotSpot Java Virtual Machine, as an extension of the Garbage First GC. We evaluate NG2C using Cassandra, Lucene, and GraphChi with three different GCs: Garbage First (G1), Concurrent Mark Sweep (CMS), and NG2C. Results show that NG2C decreases the worst observable GC pause time by up to 94.8% for Cassandra, 85.0% for Lucene and 96.45% for GraphChi, when compared to current collectors (G1 and CMS). In addition, NG2c has no negative impact on application throughput or memory usage.<\/jats:p>","DOI":"10.1145\/3156685.3092272","type":"journal-article","created":{"date-parts":[[2017,11,1]],"date-time":"2017-11-01T12:45:06Z","timestamp":1509540306000},"page":"2-13","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["NG2C: pretenuring garbage collection with dynamic generations for HotSpot big data applications"],"prefix":"10.1145","volume":"52","author":[{"given":"Rodrigo","family":"Bruno","sequence":"first","affiliation":[{"name":"INESC-ID, Portugal \/ University of Lisbon, Portugal"}]},{"given":"Lu\u00eds Picciochi","family":"Oliveira","sequence":"additional","affiliation":[{"name":"Feedzai, Portugal"}]},{"given":"Paulo","family":"Ferreira","sequence":"additional","affiliation":[{"name":"INESC-ID, Portugal \/ University of Lisbon, Portugal"}]}],"member":"320","published-online":{"date-parts":[[2017,6,18]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380190206"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/780732.780744"},{"key":"e_1_2_1_3_1","first-page":"305","volume-title":"International Workshop on Embedded Software","author":"Beebee W. S.","unstructured":"W. S. Beebee Jr and M. Rinard . An implementation of scoped memory for Real-Time Java . In International Workshop on Embedded Software , pages 289\u2013 305 . Springer, 2001. W. S. Beebee Jr and M. Rinard. An implementation of scoped memory for Real-Time Java. In International Workshop on Embedded Software, pages 289\u2013305. Springer, 2001."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375586"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/504282.504307"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512548"},{"key":"e_1_2_1_7_1","unstructured":"ISBN 1-58113-463-0.  ISBN 1-58113-463-0."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781168"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491894.2466485"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336769"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277718"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2754169.2754181"},{"key":"e_1_2_1_13_1","first-page":"129","volume-title":"DARPA Information Survivability Conference and Exposition, 2000. DISCEX\u201900. Proceedings","volume":"2","author":"Cowan C.","unstructured":"C. Cowan , P. Wagle , C. Pu , S. Beattie , and J. Walpole . Buffer overflows: Attacks and defenses for the vulnerability of the decade . In DARPA Information Survivability Conference and Exposition, 2000. DISCEX\u201900. Proceedings , volume 2 , pages 119\u2013 129 . IEEE, 2000. C. Cowan, P. Wagle, C. Pu, S. Beattie, and J. Walpole. Buffer overflows: Attacks and defenses for the vulnerability of the decade. In DARPA Information Survivability Conference and Exposition, 2000. DISCEX\u201900. Proceedings, volume 2, pages 119\u2013129. IEEE, 2000."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2408776.2408794"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029879"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/158511.158611"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378815"},{"key":"e_1_2_1_18_1","unstructured":"ISBN 1-58113-414-2.  ISBN 1-58113-414-2."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/647476.727631"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451142"},{"key":"e_1_2_1_21_1","first-page":"2","volume-title":"Proceedings of the 15th USENIX Conference on Hot Topics in Operating Systems, HOTOS\u201915","author":"Gog I.","year":"2015","unstructured":"I. Gog , J. Giceva , M. Schwarzkopf , K. Vaswani , D. Vytiniotis , G. Ramalingan , D. Murray , S. Hand , and M. Isard . Broom: Sweeping out Garbage Collection from Big Data Systems . In Proceedings of the 15th USENIX Conference on Hot Topics in Operating Systems, HOTOS\u201915 , pages 2\u2013 2 , Berkeley, CA, USA , 2015 . USENIX Association. I. Gog, J. Giceva, M. Schwarzkopf, K. Vaswani, D. Vytiniotis, G. Ramalingan, D. Murray, S. Hand, and M. Isard. Broom: Sweeping out Garbage Collection from Big Data Systems. In Proceedings of the 15th USENIX Conference on Hot Topics in Operating Systems, HOTOS\u201915, pages 2\u20132, Berkeley, CA, USA, 2015. USENIX Association."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512563"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028976.1028996"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512547"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/362422.362476"},{"key":"e_1_2_1_26_1","first-page":"263","volume":"1","author":"ACM","unstructured":"ACM . ISBN 1-58113 - 263 - 268 . ACM. ISBN 1-58113-263-8.","journal-title":"ISBN"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029883"},{"key":"e_1_2_1_28_1","first-page":"403","volume-title":"Memory Management","author":"Hudson R. L.","unstructured":"R. L. Hudson and J. E. B. Moss . Incremental collection of mature objects . In Memory Management , pages 388\u2013 403 . Springer, 1992. R. L. Hudson and J. E. B. Moss. Incremental collection of mature objects. In Memory Management, pages 388\u2013403. Springer, 1992."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/263698.264353"},{"key":"e_1_2_1_30_1","first-page":"196","volume-title":"Programs and Systems","author":"Jones R.","year":"2006","unstructured":"R. Jones and C. Ryder . Garbage collection should be lifetime aware. Implementation, Compilation, Optimization of Object-Oriented Languages , Programs and Systems , pages 182\u2013 196 , 2006 . R. Jones and C. Ryder. Garbage collection should be lifetime aware. Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, pages 182\u2013196, 2006."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/2025255"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375634.1375652"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029892"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/581630.581678"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772690.1772751"},{"key":"e_1_2_1_36_1","first-page":"46 96","volume-title":"Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201912","author":"Kyrola A.","year":"2012","unstructured":"A. Kyrola , G. Blelloch , and C. Guestrin . GraphChi: Large-scale Graph Computation on Just a PC . In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201912 , pages 31\u2013 46 , Berkeley, CA, USA , 2012 . USENIX Association. ISBN 978-1-931971- 96 - 96 . A. Kyrola, G. Blelloch, and C. Guestrin. GraphChi: Large-scale Graph Computation on Just a PC. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201912, pages 31\u201346, Berkeley, CA, USA, 2012. USENIX Association. ISBN 978-1-931971-96-6."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1773912.1773922"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568088.2568091"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/358141.358147"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.14778\/2994509.2994513"},{"key":"e_1_2_1_41_1","unstructured":"ISSN 2150-8097.  ISSN 2150-8097."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1296907.1296918"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375634.1375637"},{"key":"e_1_2_1_44_1","first-page":"60558","volume":"978","author":"ACM","unstructured":"ACM . ISBN 978-1 - 60558 - 60134 -7. ACM. ISBN 978-1-60558-134-7.","journal-title":"ISBN"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814313"},{"key":"e_1_2_1_46_1","volume-title":"Manning Publications Co.","author":"McCandless M.","year":"2010","unstructured":"M. McCandless , E. Hatcher , and O. Gospodnetic . Lucene in Action, Second Edition: Covers Apache Lucene 3.0 . Manning Publications Co. , Greenwich, CT, USA , 2010 . ISBN 1933988177, 9781933988177. M. McCandless, E. Hatcher, and O. Gospodnetic. Lucene in Action, Second Edition: Covers Apache Lucene 3.0. Manning Publications Co., Greenwich, CT, USA, 2010. ISBN 1933988177, 9781933988177."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694345"},{"key":"e_1_2_1_48_1","first-page":"4503","volume":"978","author":"ACM","unstructured":"ACM . ISBN 978-1 - 4503 - 2835 -7. ACM. ISBN 978-1-4503-2835-7.","journal-title":"ISBN"},{"key":"e_1_2_1_49_1","first-page":"365 33","volume-title":"Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201916","author":"Nguyen K.","year":"2016","unstructured":"K. Nguyen , L. Fang , G. Xu , B. Demsky , S. Lu , S. Alamian , and O. Mutlu . Yak: A High-performance Big-data-friendly Garbage Collector . In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201916 , pages 349\u2013 365 , Berkeley, CA, USA , 2016 . USENIX Association. ISBN 978- 1-931971- 33 - 31 . K. Nguyen, L. Fang, G. Xu, B. Demsky, S. Lu, S. Alamian, and O. Mutlu. Yak: A High-performance Big-data-friendly Garbage Collector. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201916, pages 349\u2013 365, Berkeley, CA, USA, 2016. USENIX Association. ISBN 978- 1-931971-33-1."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043560"},{"key":"e_1_2_1_51_1","first-page":"307 931971","volume-title":"Chun. Making Sense of Performance in Data Analytics Frameworks. In Proceedings of the 12th USENIX Conference on Networked Systems Design and Implementation, NSDI\u201915","author":"Ousterhout K.","year":"2015","unstructured":"K. Ousterhout , R. Rasti , S. Ratnasamy , S. Shenker , and B.- G. Chun. Making Sense of Performance in Data Analytics Frameworks. In Proceedings of the 12th USENIX Conference on Networked Systems Design and Implementation, NSDI\u201915 , pages 293\u2013 307 , Berkeley, CA, USA , 2015 . USENIX Association. ISBN 978-1- 931971 - 931218 . K. Ousterhout, R. Rasti, S. Ratnasamy, S. Shenker, and B.-G. Chun. Making Sense of Performance in Data Analytics Frameworks. In Proceedings of the 12th USENIX Conference on Networked Systems Design and Implementation, NSDI\u201915, pages 293\u2013307, Berkeley, CA, USA, 2015. USENIX Association. ISBN 978-1-931971-218."},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/1620405.1620421"},{"key":"e_1_2_1_53_1","first-page":"60558","volume":"978","author":"ACM","unstructured":"ACM . ISBN 978-1 - 60558 - 60732 -5. ACM. ISBN 978-1-60558-732-5.","journal-title":"ISBN"},{"key":"e_1_2_1_54_1","first-page":"306","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201910","author":"Power R.","year":"2010","unstructured":"R. Power and J. Li . Piccolo: Building Fast, Distributed Programs with Partitioned Tables . In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201910 , pages 293\u2013 306 , Berkeley, CA, USA , 2010 . USENIX Association. R. Power and J. Li. Piccolo: Building Fast, Distributed Programs with Partitioned Tables. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI\u201910, pages 293\u2013 306, Berkeley, CA, USA, 2010. USENIX Association."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.5555\/1991596.1991611"},{"key":"e_1_2_1_56_1","first-page":"252","volume-title":"European Conference on Object-Oriented Programming","author":"Seligmann J.","unstructured":"J. Seligmann and S. Grarup . Incremental mature garbage collection using the train algorithm . In European Conference on Object-Oriented Programming , pages 235\u2013 252 . Springer, 1995. J. Seligmann and S. Grarup. Incremental mature garbage collection using the train algorithm. In European Conference on Object-Oriented Programming, pages 235\u2013252. Springer, 1995."},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.14778\/2367502.2367513"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2754169.2754185"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993478.1993491"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/800020.808261"},{"key":"e_1_2_1_61_1","unstructured":"ISBN 0-89791-131-8.  ISBN 0-89791-131-8."},{"key":"e_1_2_1_62_1","first-page":"10","volume-title":"Proceedings of the 2Nd USENIX Conference on Hot Topics in Cloud Computing, HotCloud\u201910","author":"Zaharia M.","year":"2010","unstructured":"M. Zaharia , M. Chowdhury , M. J. Franklin , S. Shenker , and I. Stoica . Spark: Cluster Computing with Working Sets . In Proceedings of the 2Nd USENIX Conference on Hot Topics in Cloud Computing, HotCloud\u201910 , pages 10\u2013 10 , Berkeley, CA, USA , 2010 . USENIX Association. M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica. Spark: Cluster Computing with Working Sets. In Proceedings of the 2Nd USENIX Conference on Hot Topics in Cloud Computing, HotCloud\u201910, pages 10\u201310, Berkeley, CA, USA, 2010. USENIX Association."},{"key":"e_1_2_1_63_1","first-page":"2","volume-title":"Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation, NSDI\u201912","author":"Zaharia M.","year":"2012","unstructured":"M. Zaharia , M. Chowdhury , T. Das , A. Dave , J. Ma , M. McCauley , M. J. Franklin , S. Shenker , and I. Stoica . Resilient Distributed Datasets: A Fault-tolerant Abstraction for In-memory Cluster Computing . In Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation, NSDI\u201912 , pages 2\u2013 2 , Berkeley, CA, USA , 2012 . USENIX Association. M. Zaharia, M. Chowdhury, T. Das, A. Dave, J. Ma, M. McCauley, M. J. Franklin, S. Shenker, and I. Stoica. Resilient Distributed Datasets: A Fault-tolerant Abstraction for In-memory Cluster Computing. In Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation, NSDI\u201912, pages 2\u20132, Berkeley, CA, USA, 2012. USENIX Association."},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2015.2427795"}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3156685.3092272","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3156685.3092272","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:38:44Z","timestamp":1750221524000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3156685.3092272"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,6,18]]},"references-count":64,"journal-issue":{"issue":"9","published-print":{"date-parts":[[2017,10,31]]}},"alternative-id":["10.1145\/3156685.3092272"],"URL":"https:\/\/doi.org\/10.1145\/3156685.3092272","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3092255.3092272","asserted-by":"subject"}]},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"type":"print","value":"0362-1340"},{"type":"electronic","value":"1558-1160"}],"subject":[],"published":{"date-parts":[[2017,6,18]]},"assertion":[{"value":"2017-06-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}