{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T16:48:00Z","timestamp":1760028480782,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":29,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,9,2]],"date-time":"2017-09-02T00:00:00Z","timestamp":1504310400000},"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":[],"published-print":{"date-parts":[[2017,9,2]]},"DOI":"10.1145\/3124680.3124729","type":"proceedings-article","created":{"date-parts":[[2017,9,5]],"date-time":"2017-09-05T12:23:44Z","timestamp":1504614224000},"page":"1-8","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":23,"title":["Programming for Non-Volatile Main Memory Is Hard"],"prefix":"10.1145","author":[{"given":"Jinglei","family":"Ren","sequence":"first","affiliation":[{"name":"Microsoft Research"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Qingda","family":"Hu","sequence":"additional","affiliation":[{"name":"Tsinghua University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Samira","family":"Khan","sequence":"additional","affiliation":[{"name":"University of Virginia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thomas","family":"Moscibroda","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,9,2]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2010.2070830"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463585.2463589"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735479.2735483"},{"key":"e_1_3_2_1_4_1","volume-title":"4th Workshop on Interactions of NVM\/Flash with Operating Systems and Workloads (INFLOW '16)","author":"Chauhan Himanshu","year":"2016","unstructured":"Himanshu Chauhan , Irina Calciu , Vijay Chidambaram , Eric Schkufza , Onur Mutlu , and Pratap Subrahmanyam . 2016 . NVMOVE: Helping Programmers Move to Byte-Based Persistence . In 4th Workshop on Interactions of NVM\/Flash with Operating Systems and Workloads (INFLOW '16) . Savannah, GA. https:\/\/www.usenix.org\/conference\/inflow16\/workshop-program\/presentation\/chauhan Himanshu Chauhan, Irina Calciu, Vijay Chidambaram, Eric Schkufza, Onur Mutlu, and Pratap Subrahmanyam. 2016. NVMOVE: Helping Programmers Move to Byte-Based Persistence. In 4th Workshop on Interactions of NVM\/Flash with Operating Systems and Workloads (INFLOW '16). Savannah, GA. https:\/\/www.usenix.org\/conference\/inflow16\/workshop-program\/presentation\/chauhan"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950380"},{"volume-title":"Proceedings of the 25th ACM International Symposium on High-Performance Parallel and Distributed Computing (HPDC '16)","author":"Denny Joel E.","key":"e_1_3_2_1_6_1","unstructured":"Joel E. Denny , Seyong Lee , and Jeffrey S. Vetter . 2016. NVL-C: Static Analysis Techniques for Efficient, Correct Programming of Non-Volatile Main Memory Systems . In Proceedings of the 25th ACM International Symposium on High-Performance Parallel and Distributed Computing (HPDC '16) . 125--136. https:\/\/doi.org\/10.1145\/2907294.2907303 10.1145\/2907294.2907303 Joel E. Denny, Seyong Lee, and Jeffrey S. Vetter. 2016. NVL-C: Static Analysis Techniques for Efficient, Correct Programming of Non-Volatile Main Memory Systems. In Proceedings of the 25th ACM International Symposium on High-Performance Parallel and Distributed Computing (HPDC '16). 125--136. https:\/\/doi.org\/10.1145\/2907294.2907303"},{"key":"e_1_3_2_1_7_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software. Addis on-Wesley Professional.","author":"Gamma Erich","year":"1994","unstructured":"Erich Gamma , Richard Helm , Ralph Johnson , and John Vlissides . 1994 . Design Patterns: Elements of Reusable Object-Oriented Software. Addis on-Wesley Professional. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addis on-Wesley Professional."},{"key":"e_1_3_2_1_8_1","unstructured":"GCC. 2017. GNU libitm. https:\/\/gcc.gnu.org\/onlinedocs\/libitm\/. (2017).  GCC. 2017. GNU libitm. https:\/\/gcc.gnu.org\/onlinedocs\/libitm\/. (2017)."},{"key":"e_1_3_2_1_9_1","volume-title":"Proceedings of 2017 USENIX Annual Technical Conference (USENIX ATC '17)","author":"Hu Qingda","year":"2017","unstructured":"Qingda Hu , Jinglei Ren , Anirudh Badam , and Thomas Moscibroda . 2017 . Log-Structured Non-Volatile Main Memory . In Proceedings of 2017 USENIX Annual Technical Conference (USENIX ATC '17) . Santa Clara, CA. http:\/\/jinglei.ren.systems\/files\/lsnvmm_slides_atc17.pptx Qingda Hu, Jinglei Ren, Anirudh Badam, and Thomas Moscibroda. 2017. Log-Structured Non-Volatile Main Memory. In Proceedings of 2017 USENIX Annual Technical Conference (USENIX ATC '17). Santa Clara, CA. http:\/\/jinglei.ren.systems\/files\/lsnvmm_slides_atc17.pptx"},{"key":"e_1_3_2_1_10_1","unstructured":"Intel. 2016. The NVM Library. http:\/\/pmem.io\/. (2016).  Intel. 2016. The NVM Library. http:\/\/pmem.io\/. (2016)."},{"key":"e_1_3_2_1_11_1","unstructured":"Intel and Micron. 2017. 3D XPoint Technology. https:\/\/www.micron.com\/about\/our-innovation\/3d-xpoint-technology. (2017).  Intel and Micron. 2017. 3D XPoint Technology. https:\/\/www.micron.com\/about\/our-innovation\/3d-xpoint-technology. (2017)."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872392"},{"volume-title":"Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '16)","author":"Kolli Aasheesh","key":"e_1_3_2_1_13_1","unstructured":"Aasheesh Kolli , Steven Pelley , Ali Saidi , Peter M. Chen , and Thomas F. Wenisch . 2016. High-Performance Transactions for Persistent Memories . In Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '16) . 399--411. https:\/\/doi.org\/10.1145\/2872362.2872381 10.1145\/2872362.2872381 Aasheesh Kolli, Steven Pelley, Ali Saidi, Peter M. Chen, and Thomas F. Wenisch. 2016. High-Performance Transactions for Persistent Memories. In Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '16). 399--411. https:\/\/doi.org\/10.1145\/2872362.2872381"},{"key":"e_1_3_2_1_14_1","volume-title":"Proceeding of the 2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS '13)","author":"K\u00c3ijlt\u00c3ijrsay E.","year":"2013","unstructured":"E. K\u00c3ijlt\u00c3ijrsay , M. Kandemir , A. Sivasubramaniam , and O. Mutlu . 2013. Evaluating STT-RAM as an energy-efficient main memory alternative . In Proceeding of the 2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS '13) . 256--267. https:\/\/doi.org\/10.1109\/ISPASS. 2013 .6557176 10.1109\/ISPASS.2013.6557176 E. K\u00c3ijlt\u00c3ijrsay, M. Kandemir, A. Sivasubramaniam, and O. Mutlu. 2013. Evaluating STT-RAM as an energy-efficient main memory alternative. In Proceeding of the 2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS '13). 256--267. https:\/\/doi.org\/10.1109\/ISPASS.2013.6557176"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2010.24"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037714"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2541940.2541957"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2524211.2524216"},{"key":"e_1_3_2_1_19_1","volume-title":"Whole-system Persistence. In Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVII). 401--410","author":"Narayanan Dushyanth","year":"2012","unstructured":"Dushyanth Narayanan and Orion Hodson . 2012 . Whole-system Persistence. In Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVII). 401--410 . https:\/\/doi.org\/10.1145\/2150976.2151018 10.1145\/2150976.2151018 Dushyanth Narayanan and Orion Hodson. 2012. Whole-system Persistence. In Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVII). 401--410. https:\/\/doi.org\/10.1145\/2150976.2151018"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/1267308.1267309"},{"volume-title":"Memory Persistency. In Proceeding of the 41st Annual International Symposium on Computer Architecuture (ISCA '14)","author":"Pelley Steven","key":"e_1_3_2_1_21_1","unstructured":"Steven Pelley , Peter M. Chen , and Thomas F. Wenisch . 2014 . Memory Persistency. In Proceeding of the 41st Annual International Symposium on Computer Architecuture (ISCA '14) . 265--276. http:\/\/dl.acm.org\/citation.cfm?id=2665671.2665712 Steven Pelley, Peter M. Chen, and Thomas F. Wenisch. 2014. Memory Persistency. In Proceeding of the 41st Annual International Symposium on Computer Architecuture (ISCA '14). 265--276. http:\/\/dl.acm.org\/citation.cfm?id=2665671.2665712"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0465"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2830772.2830802"},{"key":"e_1_3_2_1_24_1","unstructured":"TIOBE software BV. 2017. TIOBE Programming Community index. http:\/\/www.tiobe.com\/tiobe-index\/. (2017).  TIOBE software BV. 2017. TIOBE Programming Community index. http:\/\/www.tiobe.com\/tiobe-index\/. (2017)."},{"key":"e_1_3_2_1_25_1","volume-title":"Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST '11)","author":"Venkataraman Shivaram","year":"1960","unstructured":"Shivaram Venkataraman , Niraj Tolia , Parthasarathy Ranganathan , and Roy H. Campbell . 2011. Consistent and Durable Data Structures for Non-volatile Byte-addressable Memory . In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST '11) . 61--75. http:\/\/dl.acm.org\/citation.cfm?id= 1960 475.1960480 Shivaram Venkataraman, Niraj Tolia, Parthasarathy Ranganathan, and Roy H. Campbell. 2011. Consistent and Durable Data Structures for Non-volatile Byte-addressable Memory. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST '11). 61--75. http:\/\/dl.acm.org\/citation.cfm?id=1960475.1960480"},{"key":"e_1_3_2_1_26_1","volume-title":"Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVI). 91--104","author":"Volos Haris","year":"1950","unstructured":"Haris Volos , Andres Jaan Tack , and Michael M. Swift . 2011. Mnemosyne: Lightweight Persistent Memory . In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVI). 91--104 . https:\/\/doi.org\/10.1145\/ 1950 365.1950379 10.1145\/1950365.1950379 Haris Volos, Andres Jaan Tack, and Michael M. Swift. 2011. Mnemosyne: Lightweight Persistent Memory. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVI). 91--104. https:\/\/doi.org\/10.1145\/1950365.1950379"},{"key":"e_1_3_2_1_27_1","volume-title":"Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST'15)","author":"Yang Jun","year":"2015","unstructured":"Jun Yang , Qingsong Wei , Cheng Chen , Chundong Wang , Khai Leong Yong , and Bingsheng He . 2015 . NV-Tree: Reducing Consistency Cost for NVM-based Single Level Systems . In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST'15) . 167--181. http:\/\/dl.acm.org\/citation.cfm?id=2750482.2750495 Jun Yang, Qingsong Wei, Cheng Chen, Chundong Wang, Khai Leong Yong, and Bingsheng He. 2015. NV-Tree: Reducing Consistency Cost for NVM-based Single Level Systems. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST'15). 167--181. http:\/\/dl.acm.org\/citation.cfm?id=2750482.2750495"},{"key":"e_1_3_2_1_28_1","volume-title":"Proceedings of the 31st Symposium on Mass Storage Systems and Technologies (MSST '15)","author":"Zhang Y.","year":"2015","unstructured":"Y. Zhang and S. Swanson . 2015. A study of application performance with nonvolatile main memory . In Proceedings of the 31st Symposium on Mass Storage Systems and Technologies (MSST '15) . 1--10. https:\/\/doi.org\/10.1109\/MSST. 2015 .7208275 10.1109\/MSST.2015.7208275 Y. Zhang and S. Swanson. 2015. A study of application performance with nonvolatile main memory. In Proceedings of the 31st Symposium on Mass Storage Systems and Technologies (MSST '15). 1--10. https:\/\/doi.org\/10.1109\/MSST.2015.7208275"},{"volume-title":"Proceedings of the 46th Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO-46)","author":"Zhao Jishen","key":"e_1_3_2_1_29_1","unstructured":"Jishen Zhao , Sheng Li , Doe Hyun Yoon , Yuan Xie , and Norman P. Jouppi . 2013. Kiln: Closing the Performance Gap Between Systems with and Without Persistence Support . In Proceedings of the 46th Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO-46) . 421--432. https:\/\/doi.org\/10.1145\/2540708.2540744 10.1145\/2540708.2540744 Jishen Zhao, Sheng Li, Doe Hyun Yoon, Yuan Xie, and Norman P. Jouppi. 2013. Kiln: Closing the Performance Gap Between Systems with and Without Persistence Support. In Proceedings of the 46th Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO-46). 421--432. https:\/\/doi.org\/10.1145\/2540708.2540744"}],"event":{"name":"APSys '17: 8th Asia-Pacific Workshop on Systems","sponsor":["SIGOPS ACM Special Interest Group on Operating Systems"],"location":"Mumbai India","acronym":"APSys '17"},"container-title":["Proceedings of the 8th Asia-Pacific Workshop on Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3124680.3124729","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3124680.3124729","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:11:23Z","timestamp":1750212683000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3124680.3124729"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,9,2]]},"references-count":29,"alternative-id":["10.1145\/3124680.3124729","10.1145\/3124680"],"URL":"https:\/\/doi.org\/10.1145\/3124680.3124729","relation":{},"subject":[],"published":{"date-parts":[[2017,9,2]]},"assertion":[{"value":"2017-09-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}