{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,17]],"date-time":"2025-12-17T08:27:58Z","timestamp":1765960078143,"version":"3.41.0"},"reference-count":62,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2019,3,26]],"date-time":"2019-03-26T00:00:00Z","timestamp":1553558400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100010663","name":"European Research Council","doi-asserted-by":"publisher","award":["741097"],"award-info":[{"award-number":["741097"]}],"id":[{"id":"10.13039\/100010663","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Meas. Anal. Comput. Syst."],"published-print":{"date-parts":[[2019,3,26]]},"abstract":"<jats:p>Non-volatile memories (NVM) offer greater capacity than DRAM but suffer from high latency and low write endurance. Hybrid memories combine DRAM and NVM to form scalable memory systems with the promise of high capacity, low energy consumption, and high endurance. Automatically managing hybrid NVM-DRAM memories to achieve their promise without changing user applications or their programming models remains an open question. This paper uses garbage collection in managed languages to exploit NVM capacity while preventing NVM wear out in hybrid memories with no changes to the programming model. We introduce profile-driven write-rationing garbage collection. Allocation sites that produce frequently written objects are predicted based on previous program executions. Objects are initially allocated in a DRAM nursery space. The collector copies surviving nursery objects from highly written sites to a mature DRAM space and read-mostly objects to a mature NVM space.Write-intensity prediction for 15 Java benchmarks accurately places objects in the correct space, eliminating expensive object monitoring from prior write-rationing garbage collectors. Furthermore, our technique exposes a Pareto tradeoff between DRAM usage and NVM lifetime, unlike prior work. Experimental results on NUMA hardware that emulates hybrid NVM-DRAM memory demonstrates that profile-driven write-rationing garbage collection reduces the number of writes to NVM compared to prior work to extend its lifetime, maximizes the use of NVM for its capacity, and achieves good performance.<\/jats:p>","DOI":"10.1145\/3322205.3311080","type":"journal-article","created":{"date-parts":[[2020,3,26]],"date-time":"2020-03-26T13:12:37Z","timestamp":1585228357000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Crystal Gazer"],"prefix":"10.1145","volume":"3","author":[{"given":"Shoaib","family":"Akram","sequence":"first","affiliation":[{"name":"Ghent University, Ghent, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jennifer","family":"Sartor","sequence":"additional","affiliation":[{"name":"Ghent University, Ghent, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kathryn","family":"McKinley","sequence":"additional","affiliation":[{"name":"Google, Seattle, WA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lieven","family":"Eeckhout","sequence":"additional","affiliation":[{"name":"Gent University, Ghent, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,3,26]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3191697.3213803"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2016.2609903"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192392"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.442.0399"},{"key":"e_1_2_1_5_1","first-page":"2","volume":"19","year":"1989","unstructured":"Andrew W. Appel. Simple Generational Garbage Collection and Fast Allocation. Softw. Pract. Exper. 19 , 2 ( Feb. 1989 ). Andrew W. Appel. Simple Generational Garbage Collection and Fast Allocation. Softw. Pract. Exper. 19, 2 (Feb. 1989).","journal-title":"Andrew W. Appel. Simple Generational Garbage Collection and Fast Allocation. Softw. Pract. Exper."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/JETCAS.2016.2528598"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155108"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1005686.1005693"},{"volume-title":"Proceedings of the International Conference on Software Engineering (ICSE).","author":"Blackburn Stephen M.","key":"e_1_2_1_9_1","unstructured":"Stephen M. Blackburn , Perry Cheng , and Kathryn S . McKinley. 2004. Oil and Water? High Performance Garbage Collection in Java with MMTk . In Proceedings of the International Conference on Software Engineering (ICSE). Stephen M. Blackburn, Perry Cheng, and Kathryn S. McKinley. 2004. Oil and Water? High Performance Garbage Collection in Java with MMTk. In Proceedings of the International Conference on Software Engineering (ICSE)."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167488"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1180475.1180477"},{"key":"e_1_2_1_12_1","volume-title":"pjbb2005: The pseudojbb benchmark","author":"Blackburn Stephen M","year":"2005","unstructured":"Stephen M Blackburn , Martin Hirzel , Robin Garner , and Darko Stefanovic . 2010. pjbb2005: The pseudojbb benchmark , 2005 . http:\/\/users.cecs.anu.edu.au\/~steveb\/research\/research-infrastructure\/pjbb2005 Stephen M Blackburn, Martin Hirzel, Robin Garner, and Darko Stefanovic. 2010. pjbb2005: The pseudojbb benchmark, 2005. http:\/\/users.cecs.anu.edu.au\/~steveb\/research\/research-infrastructure\/pjbb2005"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375586"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/504282.504307"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2597917.2597924"},{"key":"e_1_2_1_16_1","first-page":"2","volume":"28","author":"Burr W.","year":"2010","unstructured":"Geoffrey W. Burr , Matthew J. Breitwisch , Michele Franceschini , Davide Garetto , Kailash Gopalakrishnan , Bryan Jackson , B\u00c3O Elent Kurdi , Chung Lam , Luis A. Lastras , Alvaro Padilla , Bipin Rajendran , Simone Raoux , and Rohit S. Shenoy . Phase change memory technology. Journal of Vacuum Science & Technology B, Nanotechnology and Microelectronics: Materials , Processing, Measurement, and Phenomena 28 , 2 ( 2010 ). GeoffreyW. Burr, Matthew J. Breitwisch, Michele Franceschini, Davide Garetto, Kailash Gopalakrishnan, Bryan Jackson, B\u00c3OElent Kurdi, Chung Lam, Luis A. Lastras, Alvaro Padilla, Bipin Rajendran, Simone Raoux, and Rohit S. Shenoy. Phase change memory technology. Journal of Vacuum Science & Technology B, Nanotechnology and Microelectronics: Materials, Processing, Measurement, and Phenomena 28, 2 (2010).","journal-title":"Phenomena"},{"key":"e_1_2_1_17_1","first-page":"74","volume":"1","author":"Buytaert Dries","year":"2007","unstructured":"Dries Buytaert , Kris Venstermans , Lieven Eeckhout , and Koen De Bosschere. GCH: Hints for Triggering Garbage Collections. Trans. HiPEAC 1 ( 2007 ), 74 -- 94 . Dries Buytaert, Kris Venstermans, Lieven Eeckhout, and Koen De Bosschere. GCH: Hints for Triggering Garbage Collections. Trans. HiPEAC 1 (2007), 74--94.","journal-title":"Koen De Bosschere. GCH: Hints for Triggering Garbage Collections. Trans. HiPEAC"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134021"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277718"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029879"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509529"},{"key":"e_1_2_1_22_1","volume-title":"Kulkarni","author":"Effler T. Chad","year":"2018","unstructured":"T. Chad Effler , Adam P. Howard , Tong Zhou , Michael R. Jantz , Kshitij A. Doshi , and Prasad A . Kulkarni . 2018 . On Automated Feedback-Driven Data Placement in Multi-tiered Memory. In Architecture of Computing Systems (ARCS), Mladen Berekovic, Rainer Buchty, Heiko Hamann, Dirk Koch, and Thilo Pionteck (Eds .). T. Chad Effler, Adam P. Howard, Tong Zhou, Michael R. Jantz, Kshitij A. Doshi, and Prasad A. Kulkarni. 2018. On Automated Feedback-Driven Data Placement in Multi-tiered Memory. In Architecture of Computing Systems (ARCS), Mladen Berekovic, Rainer Buchty, Heiko Hamann, Dirk Koch, and Thilo Pionteck (Eds.)."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3190508.3190524"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1508293.1508305"},{"volume-title":"Microarchitectural Characterization of Production JVMs and Java Workloads. In IBM CAS Workshop.","author":"Ha Jungwoo","key":"e_1_2_1_25_1","unstructured":"Jungwoo Ha , Magnus Gustafsson , Stephen M. Blackburn , and Kathryn S . McKinley. 2008 . Microarchitectural Characterization of Production JVMs and Java Workloads. In IBM CAS Workshop. Jungwoo Ha, Magnus Gustafsson, Stephen M. Blackburn, and Kathryn S. McKinley. 2008. Microarchitectural Characterization of Production JVMs and Java Workloads. In IBM CAS Workshop."},{"key":"e_1_2_1_26_1","unstructured":"Jim Handy. 2017. Examining 3D XPoint's 1 000 Times Endurance Benefit. https:\/\/thememoryguy.com\/ examining-3d-xpoints-1000-times-endurance-benefit\/  Jim Handy. 2017. Examining 3D XPoint's 1 000 Times Endurance Benefit. https:\/\/thememoryguy.com\/ examining-3d-xpoints-1000-times-endurance-benefit\/"},{"key":"e_1_2_1_27_1","unstructured":"Joel Hruska. 2018. Why RAM Prices Are Through the Roof. https:\/\/www.extremetech.com\/computing\/ 263031-ram-prices-roof-stuck-way  Joel Hruska. 2018. Why RAM Prices Are Through the Roof. https:\/\/www.extremetech.com\/computing\/ 263031-ram-prices-roof-stuck-way"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509510"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028976.1028983"},{"key":"e_1_2_1_30_1","unstructured":"ITRS. 2015. Internatial Technology Roadmap for Semiconductors 2.0: Executive Report.  ITRS. 2015. Internatial Technology Roadmap for Semiconductors 2.0: Executive Report."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814322"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029892"},{"key":"e_1_2_1_33_1","unstructured":"Patrick Kennedy. 2018. Why Server ASPs Are Rising the 2017--2018 DDR4 DRAM Shortage. https:\/\/www.servethehome. com\/why-server-asps-are-rising-the-2017--2018-ddr4-dram-shortage\/  Patrick Kennedy. 2018. Why Server ASPs Are Rising the 2017--2018 DDR4 DRAM Shortage. https:\/\/www.servethehome. com\/why-server-asps-are-rising-the-2017--2018-ddr4-dram-shortage\/"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/776261.776269"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378831"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the USENIX Conference on Operating Systems Design and Implementation (OSDI).","author":"Kyrola Aapo","year":"2012","unstructured":"Aapo Kyrola , Guy Blelloch , and Carlos Guestrin . 2012 . GraphChi: Large-scale Graph Computation on Just a PC . In Proceedings of the USENIX Conference on Operating Systems Design and Implementation (OSDI). Aapo Kyrola, Guy Blelloch, and Carlos Guestrin. 2012. GraphChi: Large-scale Graph Computation on Just a PC. In Proceedings of the USENIX Conference on Operating Systems Design and Implementation (OSDI)."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2010.24"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1038\/nmat3070"},{"key":"e_1_2_1_40_1","unstructured":"Jure Leskovec and Andrej Krevl. 2014. SNAP Datasets: Stanford Large Network Dataset Collection. http:\/\/snap.stanford. edu\/data.  Jure Leskovec and Andrej Krevl. 2014. SNAP Datasets: Stanford Large Network Dataset Collection. http:\/\/snap.stanford. edu\/data."},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of the USENIX Conference on Operating Systems Design and Implementation (OSDI).","author":"Nguyen Khanh","year":"2016","unstructured":"Khanh Nguyen , Lu Fang , Guoqing Xu , Brian Demsky , Shan Lu , Sanazsadat Alamian , and Onur Mutlu . 2016 . Yak: A High-performance Big-data-friendly Garbage Collector . In Proceedings of the USENIX Conference on Operating Systems Design and Implementation (OSDI). Khanh Nguyen, Lu Fang, Guoqing Xu, Brian Demsky, Shan Lu, Sanazsadat Alamian, and Onur Mutlu. 2016. Yak: A High-performance Big-data-friendly Garbage Collector. In Proceedings of the USENIX Conference on Operating Systems Design and Implementation (OSDI)."},{"key":"e_1_2_1_42_1","unstructured":"Numonym. 2008. Phase Change Memory. http:\/\/www.pdl.cmu.edu\/SDI\/2009\/slides\/Numonyx.pdf  Numonym. 2008. Phase Change Memory. http:\/\/www.pdl.cmu.edu\/SDI\/2009\/slides\/Numonyx.pdf"},{"key":"e_1_2_1_43_1","unstructured":"OpenJDK Group. 2019. Hotspot VM. http:\/\/openjdk.java.net\/groups\/hotspot\/  OpenJDK Group. 2019. Hotspot VM. http:\/\/openjdk.java.net\/groups\/hotspot\/"},{"key":"e_1_2_1_44_1","volume-title":"Usenix Java Virtual Machine Research and Technology Symposium (JVM).","author":"Paleczny Michael","year":"2001","unstructured":"Michael Paleczny , Christopher Vick , and Cliff Click . 2001 . The Java Hotspot server compiler . In Usenix Java Virtual Machine Research and Technology Symposium (JVM). Michael Paleczny, Christopher Vick, and Cliff Click. 2001. The Java Hotspot server compiler. In Usenix Java Virtual Machine Research and Technology Symposium (JVM)."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2155620.2155658"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669117"},{"volume-title":"Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA).","author":"Qureshi Moinuddin K.","key":"e_1_2_1_47_1","unstructured":"Moinuddin K. Qureshi , Andre Seznec , Luis A. Lastras , and Michele M. Franceschini . 2011. Practical and secure PCM systems by online detection of malicious write streams . In Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA). Moinuddin K. Qureshi, Andre Seznec, Luis A. Lastras, and Michele M. Franceschini. 2011. Practical and secure PCM systems by online detection of malicious write streams. In Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA)."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555760"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1995896.1995911"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2628071.2628083"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2010.2"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509527"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/800020.808261"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/111186.116734"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-47099-3_3"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2015.10"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3173162.3173201"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2258996.2259004"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048092"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2016.52"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2009.30"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640116"}],"container-title":["Proceedings of the ACM on Measurement and Analysis of Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3322205.3311080","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3322205.3311080","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T00:25:54Z","timestamp":1750206354000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3322205.3311080"}},"subtitle":["Profile-Driven Write-Rationing Garbage Collection for Hybrid Memories"],"short-title":[],"issued":{"date-parts":[[2019,3,26]]},"references-count":62,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2019,3,26]]}},"alternative-id":["10.1145\/3322205.3311080"],"URL":"https:\/\/doi.org\/10.1145\/3322205.3311080","relation":{},"ISSN":["2476-1249"],"issn-type":[{"type":"electronic","value":"2476-1249"}],"subject":[],"published":{"date-parts":[[2019,3,26]]},"assertion":[{"value":"2019-03-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}