{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,8]],"date-time":"2026-04-08T08:59:24Z","timestamp":1775638764748,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":72,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,4,4]],"date-time":"2019-04-04T00:00:00Z","timestamp":1554336000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Center for Research on Intelligent Storage and Processing-in-memory"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,4,4]]},"DOI":"10.1145\/3297858.3304077","type":"proceedings-article","created":{"date-parts":[[2019,4,4]],"date-time":"2019-04-04T18:38:43Z","timestamp":1554403123000},"page":"427-439","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":39,"title":["Finding and Fixing Performance Pathologies in Persistent Memory Software Stacks"],"prefix":"10.1145","author":[{"given":"Jian","family":"Xu","sequence":"first","affiliation":[{"name":"Google &amp; University of California San Diego, Sunnyvale, CA, USA"}]},{"given":"Juno","family":"Kim","sequence":"additional","affiliation":[{"name":"University of California, San Diego, La Jolla, CA, USA"}]},{"given":"Amirsaman","family":"Memaripour","sequence":"additional","affiliation":[{"name":"University of California, San Diego, La Jolla, CA, USA"}]},{"given":"Steven","family":"Swanson","sequence":"additional","affiliation":[{"name":"University of California, San Diego, La Jolla, CA, USA"}]}],"member":"320","published-online":{"date-parts":[[2019,4,4]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.14778\/3137765.3137780"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3187009.3164147"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2527792.2527793"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132779"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/1924943.1924944"},{"key":"e_1_3_2_1_6_1","volume-title":"Proceedings of the Linux Symposium. 119--130","author":"Boyd-Wickizer Silas","year":"2012","unstructured":"Silas Boyd-Wickizer, M Frans Kaashoek, Robert Morris, and Nickolai Zeldovich. 2012. Non-scalable locks are dangerous. In Proceedings of the Linux Symposium. 119--130."},{"key":"e_1_3_2_1_7_1","volume-title":"Phase Change Memory. Interconnect Technology Conference, 2008. IITC 2008. International (June","author":"Breitwisch Matthew J.","year":"2008","unstructured":"Matthew J. Breitwisch. 2008. Phase Change Memory. Interconnect Technology Conference, 2008. IITC 2008. International (June 2008), 219--221."},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151017"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3060147"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2013.6558440"},{"key":"e_1_3_2_1_11_1","unstructured":"Dave Chinner. 2015. xfs: updates for 4.2-rc1. http:\/\/oss.sgi.com\/archives\/xfs\/2015-06\/msg00478.html."},{"key":"e_1_3_2_1_12_1","volume-title":"Solid-State Circuits Conference Digest of Technical Papers (ISSCC)","author":"Choi Youngdon","year":"2012","unstructured":"Youngdon Choi, Ickhyun Song, Mu-Hui Park, Hoeju Chung, Sanghoan Chang, Beakhyoung Cho, Jinyoung Kim, Younghoon Oh, Duckmin Kwon, Jung Sunwoo, Junho Shin, Yoohwan Rho, Changsoo Lee, Min Gu Kang, Jaeyun Lee, Yongjin Kwon, Soehee Kim, Jaehwan Kim, Yong-Jun Lee, Qi Wang, Sooho Cha, Sujin Ahn, H. Horii, Jaewook Lee, Kisung Kim, Hansung Joo, Kwangjin Lee, Yeong-Taek Lee, Jeihwan Yoo, and G. Jeong. 2012. A 20nm 1.8V 8Gb PRAM with 40MB\/s program bandwidth. In Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2012 IEEE International. 46--48."},{"key":"e_1_3_2_1_13_1","unstructured":"Howard Chu. 2014. LMDB app-level crash consistency. https:\/\/www.openldap.org\/lists\/openldap-devel\/201410\/msg00004.html."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2699681"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950380"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276523"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629589"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154690.3154758"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2967360.2967379"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592814"},{"key":"e_1_3_2_1_22_1","unstructured":"Facebook. 2017. RocksDB. http:\/\/rocksdb.org."},{"key":"e_1_3_2_1_23_1","volume-title":"Solid-State Circuits Conference Digest of Technical Papers (ISSCC)","author":"Fackenthal R.","year":"2014","unstructured":"R. Fackenthal, M. Kitagawa, W. Otsuka, K. Prall, D. Mills, K. Tsutsui, J. Javanifard, K. Tedrow, T. Tsushima, Y. Shibahara, and G. Hush. 2014. A 16Gb ReRAM with 200MB\/s write and 1GB\/s read in 27nm technology. In Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2014 IEEE International. 338--339."},{"key":"e_1_3_2_1_24_1","unstructured":"FAL Labs. 2010. Kyoto Cabinet: a straightforward implementation of DBM. http:\/\/fallabs.com\/kyotocabinet\/."},{"key":"e_1_3_2_1_25_1","unstructured":"Robin Harris. 2016. Windows leaps into the NVM revolution. http:\/\/www.zdnet.com\/article\/windows-leaps-into-the-nvm-revolution\/."},{"key":"e_1_3_2_1_26_1","unstructured":"Hewlett Packard Enterprise. 2018. HPE Scalable Persistent Memory. https:\/\/www.hpe.com\/us\/en\/servers\/persistent-memory.html."},{"key":"e_1_3_2_1_27_1","unstructured":"Intel. 2015. NVDIMM Namespace Specification. http:\/\/pmem.io\/documents\/NVDIMM_Namespace_Spec.pdf."},{"key":"e_1_3_2_1_28_1","unstructured":"Intel. 2017. Intel Architecture Instruction Set Extensions Programming Reference. https:\/\/software.intel.com\/sites\/default\/files\/managed\/0d\/53\/319433-022.pdf."},{"key":"e_1_3_2_1_29_1","volume-title":"Software Engineering (Workshops)","volume":"13","author":"Jeong Sooman","year":"2013","unstructured":"Sooman Jeong, Kisung Lee, Jungwoo Hwang, Seongjin Lee, and Youjip Won. 2013. AndroStep: Android Storage Performance Analysis Tool. In Software Engineering (Workshops), Vol. 13. 327--340."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.5555\/2535461.2535499"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/2813767.2813786"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/3277355.3277450"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154690.3154748"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2010.97"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872392"},{"key":"e_1_3_2_1_36_1","unstructured":"Youngjin Kwon. 2018. Personal communication."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132770"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.5555\/2813767.2813785"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.5555\/2643634.2643658"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154601.3154605"},{"key":"e_1_3_2_1_42_1","volume-title":"AUUG Conference Proceedings. AUUG, Inc., 175","author":"McKenney Paul E","year":"2001","unstructured":"Paul E McKenney, Jonathan Appavoo, Andi Kleen, Orran Krieger, Rusty Russell, Dipankar Sarma, and Maneesh Soni. 2001. Read-copy update. In AUUG Conference Proceedings. AUUG, Inc., 175."},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3064176.3064215"},{"key":"e_1_3_2_1_44_1","unstructured":"Micron. 2017. 3D XPoint Technology. http:\/\/www.micron.com\/products\/advanced-solutions\/3d-xpoint-technology."},{"key":"e_1_3_2_1_45_1","volume-title":"Hybrid Memory: Bridging the Gap Between DRAM Speed and NAND Nonvolatility","year":"2017","unstructured":"Micron. 2017. Hybrid Memory: Bridging the Gap Between DRAM Speed and NAND Nonvolatility. http:\/\/www.micron.com\/products\/dram-modules\/nvdimm."},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.5555\/3026959.3026967"},{"key":"e_1_3_2_1_47_1","unstructured":"MongoDB Inc. 2017. MongoDB. https:\/\/www.mongodb.com."},{"key":"e_1_3_2_1_48_1","volume-title":"Solid-State Circuits Conference (ISSCC)","author":"Noguchi H.","year":"2015","unstructured":"H. Noguchi, K. Ikegami, K. Kushida, K. Abe, S. Itai, S. Takaya, N. Shimomura, J. Ito, A. Kawasumi, H. Hara, and S. Fujita. 2015. A 3.3nsaccess-time 71.2uW\/MHz 1Mb embedded STT-MRAM using physically eliminated read-disturb scheme and normally-off memory architecture. In Solid-State Circuits Conference (ISSCC), 2015 IEEE International. 1--3."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824044"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154690.3154764"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685082"},{"key":"e_1_3_2_1_52_1","unstructured":"pmem.io. 2017. Persistent Memory Development Kit. http:\/\/pmem.io\/pmdk."},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0465"},{"key":"e_1_3_2_1_54_1","unstructured":"redislabs. 2017. Redis. https:\/\/redis.io."},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/3037697.3037737"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.5555\/3189759.3189781"},{"key":"e_1_3_2_1_57_1","unstructured":"SQLite. 2017. SQLite. https:\/\/www.sqlite.org."},{"key":"e_1_3_2_1_58_1","volume-title":"The Missing Memristor Found. Nature 453, 7191","author":"Strukov Dmitri B","year":"2008","unstructured":"Dmitri B Strukov, Gregory S Snider, Duncan R Stewart, and R Stanley Williams. 2008. The Missing Memristor Found. Nature 453, 7191 (2008), 80--83."},{"key":"e_1_3_2_1_59_1","unstructured":"Symas. 2017. Lightning Memory-Mapped Database (LMDB). https:\/\/symas.com\/lmdb\/."},{"key":"e_1_3_2_1_60_1","volume-title":"Filebench: A Flexible Framework for File System Benchmarking. USENIX","author":"Tarasov Vasily","year":"2016","unstructured":"Vasily Tarasov, Erez Zadok, and Spencer Shepler. 2016. Filebench: A Flexible Framework for File System Benchmarking. USENIX; login 41 (2016)."},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815405"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.5555\/1960475.1960480"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592810"},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950379"},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.5555\/2591305.2591336"},{"key":"e_1_3_2_1_66_1","unstructured":"Matthew Wilcox. 2014. Add Support for NV-DIMMs to Ext4. https:\/\/lwn.net\/Articles\/613384\/."},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.5555\/2930583.2930608"},{"key":"e_1_3_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132761"},{"key":"e_1_3_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208464"},{"key":"e_1_3_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.5555\/2750482.2750495"},{"key":"e_1_3_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/2540708.2540744"},{"key":"e_1_3_2_1_72_1","unstructured":"Ross Zwisler. 2014. Add Support for New Persistent Memory Instructions. https:\/\/lwn.net\/Articles\/619851\/."}],"event":{"name":"ASPLOS '19: Architectural Support for Programming Languages and Operating Systems","location":"Providence RI USA","acronym":"ASPLOS '19","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGOPS ACM Special Interest Group on Operating Systems","SIGARCH ACM Special Interest Group on Computer Architecture","SIGBED ACM Special Interest Group on Embedded Systems"]},"container-title":["Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3297858.3304077","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3297858.3304077","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:53:15Z","timestamp":1750204395000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3297858.3304077"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,4,4]]},"references-count":72,"alternative-id":["10.1145\/3297858.3304077","10.1145\/3297858"],"URL":"https:\/\/doi.org\/10.1145\/3297858.3304077","relation":{},"subject":[],"published":{"date-parts":[[2019,4,4]]},"assertion":[{"value":"2019-04-04","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}