{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T05:00:47Z","timestamp":1750309247029,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":41,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,6,17]],"date-time":"2024-06-17T00:00:00Z","timestamp":1718582400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000038","name":"Natural Sciences and Engineering Research Council of Canada","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Ontario Early Researcher Award"},{"name":"Google Faculty Research Award"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2024,6,17]]},"DOI":"10.1145\/3663338.3665832","type":"proceedings-article","created":{"date-parts":[[2024,6,20]],"date-time":"2024-06-20T15:32:50Z","timestamp":1718897570000},"page":"1-9","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Snapshotting Mechanisms for Persistent Memory-Mapped Files"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0009-0003-5020-2399","authenticated-orcid":false,"given":"Mohammad","family":"Moridi","sequence":"first","affiliation":[{"name":"Electrical and Computer Engineering, University of Waterloo, Waterloo, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8891-256X","authenticated-orcid":false,"given":"Wojciech","family":"Golab","sequence":"additional","affiliation":[{"name":"Electrical and Computer Engineering, University of Waterloo, Waterloo, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,6,20]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3381898.3397212"},{"volume-title":"Proc. of the 35th International Symposium on Distributed Computing (DISC). 14:1--14:20","author":"Cai Wentao","key":"e_1_3_2_1_2_1","unstructured":"Wentao Cai, Haosen Wen, Vladimir Maksimovski, Mingzhe Du, Rafaello Sanna, Shreif Abdallah, and Michael L. Scott. 2021. Fast Nonblocking Persistence for Concurrent Data Structures. In Proc. of the 35th International Symposium on Distributed Computing (DISC). 14:1--14:20."},{"volume-title":"Proc. of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP). 441--443","author":"Cai Wentao","key":"e_1_3_2_1_3_1","unstructured":"Wentao Cai, Haosen Wen, and Michael L. Scott. 2023. Transactional Composition of Nonblocking Data Structures. In Proc. of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP). 441--443."},{"volume-title":"Proc. ACM SIGMOD Int. Conf. Manage. Data (SIGMOD). 265--276","author":"Cao T.","key":"e_1_3_2_1_4_1","unstructured":"T. Cao, M.A.V. Salles, B. Sowell, Y. Yue, A.J. Demers, J. Gehrke, and W.M. White. 2011. Fast checkpoint recovery algorithms for frequently consistent applications. In Proc. ACM SIGMOD Int. Conf. Manage. Data (SIGMOD). 265--276."},{"key":"e_1_3_2_1_5_1","volume-title":"Proc. of the ACM Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA). 433--452","author":"Chakrabarti Dhruva R","year":"2014","unstructured":"Dhruva R Chakrabarti, Hans-J Boehm, and Kumud Bhandari. 2014. Atlas: Leveraging locks for non-volatile memory consistency. In Proc. of the ACM Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA). 433--452."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3409964.3461819"},{"volume-title":"Proc. of the 7th IEEE\/ACIS International Conference on Computer and Information Science (ICIS). 444--450","author":"Chu C.","key":"e_1_3_2_1_7_1","unstructured":"C. Chu and M. Brockmeyer. 2008. Predicate Detection Modality and Semantics in Three Partially Synchronous Models. In Proc. of the 7th IEEE\/ACIS International Conference on Computer and Information Science (ICIS). 444--450."},{"volume-title":"Proc. of the Usenix Annual Technical Conference (ATC). 373--386","author":"David T.","key":"e_1_3_2_1_8_1","unstructured":"T. David, A. Dragojevi\u0107, R. Guerraoui, and I. Zablotchi. 2018. Log-free concurrent data structures. In Proc. of the Usenix Annual Technical Conference (ATC). 373--386."},{"volume-title":"Proc. of the 23rd ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP). 28--40","author":"Friedman M.","key":"e_1_3_2_1_9_1","unstructured":"M. Friedman, M. Herlihy, V. Marathe, and E. Petrank. 2018. A Persistent Lock-Free Queue for Non-Volatile Memory. In Proc. of the 23rd ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP). 28--40."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/78969.78972"},{"key":"e_1_3_2_1_11_1","volume-title":"Proc. of the 12th European Conference on Computer Systems (EuroSys). 468--482","author":"Ching-Hsiang Hsu Terry","year":"2017","unstructured":"Terry Ching-Hsiang Hsu, Helge Br\u00fcgner, Indrajit Roy, Kimberly Keeton, and Patrick Eugster. 2017. NVthreads: Practical persistence for multi-threaded applications. In Proc. of the 12th European Conference on Computer Systems (EuroSys). 468--482."},{"volume-title":"Proc. of the 16th Usenix Conf. on File and Storage Technologies (FAST). 187--200","author":"Hwang D.","key":"e_1_3_2_1_12_1","unstructured":"D. Hwang, W.-H. Kim, Y. Won, and B. Nam. 2018. Endurable Transient Inconsistency in Byte-Addressable Persistent B\u00b1Tree. In Proc. of the 16th Usenix Conf. on File and Storage Technologies (FAST). 187--200."},{"key":"e_1_3_2_1_13_1","volume-title":"Proc. of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 427--442","author":"Izraelevitz Joseph","year":"2016","unstructured":"Joseph Izraelevitz, Terence Kelly, and Aasheesh Kolli. 2016. Failure-atomic persistent memory updates via JUSTDO logging. In Proc. of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 427--442."},{"volume-title":"Proc. of the International Symposium on Distributed Computing (DISC). 313--327","author":"Izraelevitz J.","key":"e_1_3_2_1_14_1","unstructured":"J. Izraelevitz, H. Mendes, and M. L. Scott. 2016. Linearizability of persistent memory objects under a full-system-crash failure model. In Proc. of the International Symposium on Distributed Computing (DISC). 313--327."},{"key":"e_1_3_2_1_15_1","volume-title":"Zixuan Wang, Yi Xu, Subramanya R. Dulloor, Jishen Zhao, and Steven Swanson.","author":"Izraelevitz Joseph","year":"2019","unstructured":"Joseph Izraelevitz, Jian Yang, Lu Zhang, Juno Kim, Xiao Liu, Amirsaman Memaripour, Yun Joon Soh, Zixuan Wang, Yi Xu, Subramanya R. Dulloor, Jishen Zhao, and Steven Swanson. 2019. Basic Performance Measurements of the Intel Optane DC Persistent Memory Module. CoRR abs\/1903.05714 (2019)."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3129263"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2019.2930987"},{"key":"e_1_3_2_1_18_1","volume-title":"Proc. of the 2021 ACM Symposium on Principles of Distributed Computing (PODC). 557--560","author":"Li Nan","year":"2021","unstructured":"Nan Li and Wojciech Golab. 2021. Brief Announcement: Detectable Sequential Specifications for Recoverable Shared Objects. In Proc. of the 2021 ACM Symposium on Principles of Distributed Computing (PODC). 557--560."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2022.3173707"},{"key":"e_1_3_2_1_20_1","first-page":"1","article-title":"Building Scalable NVM-Based B+Tree with HTM. In Proc of the Intl","volume":"101","author":"Liu M.","year":"2019","unstructured":"M. Liu, J. Xing, K. Chen, and Y. Wu. 2019. Building Scalable NVM-Based B+Tree with HTM. In Proc of the Intl. Conf. on Parallel Processing (ICPP). 101:1--101:10.","journal-title":"Conf. on Parallel Processing (ICPP)."},{"key":"e_1_3_2_1_21_1","volume-title":"Proc. of the 51st International Symposium on Microarchitecture (MICRO). 258--270","author":"Liu Qingrui","year":"2018","unstructured":"Qingrui Liu, Joseph Izraelevitz, Se Kwon Lee, Michael L Scott, Sam H Noh, and Changhee Jung. 2018. iDO: Compiler-directed failure atomicity for nonvolatile memory. In Proc. of the 51st International Symposium on Microarchitecture (MICRO). 258--270."},{"key":"e_1_3_2_1_22_1","volume-title":"Proc. of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 789--806","author":"Memaripour Amirsaman","year":"2020","unstructured":"Amirsaman Memaripour, Joseph Izraelevitz, and Steven Swanson. 2020. Pronto: Easy and Fast Persistence for Volatile Data Structures. In Proc. of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 789--806."},{"key":"e_1_3_2_1_23_1","unstructured":"Microsoft 2021. Database Snapshots (SQL Server). Microsoft. https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/databases\/database-snapshots-sql-server"},{"key":"e_1_3_2_1_24_1","volume-title":"Proc. of the Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed Systems (ApPLIED). 56--64","author":"Moridi Mohammad","year":"2022","unstructured":"Mohammad Moridi, Erica Wang, Amelia Cui, and Wojciech Golab. 2022. A Closer Look at Detectable Objects for Persistent Memory. In Proc. of the Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating Algorithms for Distributed Systems (ApPLIED). 56--64."},{"key":"e_1_3_2_1_25_1","volume-title":"Proc. of the 24th ACM Symposium on Operating Systems Principles (SOSP). 439--455","author":"Murray Derek G","year":"2013","unstructured":"Derek G Murray, Frank McSherry, Rebecca Isaacs, Michael Isard, Paul Barham, and Martin Abadi. 2013. Naiad: a timely dataflow system. In Proc. of the 24th ACM Symposium on Operating Systems Principles (SOSP). 439--455."},{"key":"e_1_3_2_1_26_1","article-title":"B3-Tree: Byte-Addressable Binary B-Tree for Persistent Memory","volume":"16","author":"Nam M.","year":"2020","unstructured":"M. Nam, H. Cha, K. Jin, J. Seo, and B. Nam. 2020. B3-Tree: Byte-Addressable Binary B-Tree for Persistent Memory. ACM Trans. on Storage 16, 3 (2020), 17:1--17:27.","journal-title":"ACM Trans. on Storage"},{"volume-title":"Proc. of the 31st International Symposium on Distributed Computing (DISC). 37:1--37:16","author":"Nawab Faisal","key":"e_1_3_2_1_27_1","unstructured":"Faisal Nawab, Joseph Izraelevitz, Terence Kelly, Charles B. Morrey III, Dhruva R. Chakrabarti, and Michael L. Scott. 2017. Dal\u00ed: A Periodically Persistent Hash Map. In Proc. of the 31st International Symposium on Distributed Computing (DISC). 37:1--37:16."},{"key":"e_1_3_2_1_28_1","volume-title":"Proc. of the Digital Forensics Research Conference Europe (DFRWS EU).","author":"Ottmann Jenny","year":"2022","unstructured":"Jenny Ottmann, Frank Breitinger, and Felix Freiling. 2022. Defining Atomicity (and Integrity) for Snapshots of Storage in Forensic Computing. In Proc. of the Digital Forensics Research Conference Europe (DFRWS EU)."},{"key":"e_1_3_2_1_29_1","volume-title":"Proc. of the 48th Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO). 672--685","author":"Ren Jinglei","year":"2015","unstructured":"Jinglei Ren, Jishen Zhao, Samira Khan, Jongmoo Choi, Yongwei Wu, and Onur Mutlu. 2015. ThyNVM: Enabling software-transparent crash consistency in persistent memory systems. In Proc. of the 48th Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO). 672--685."},{"key":"e_1_3_2_1_30_1","volume-title":"Schmidt and Tim Harrison","author":"Douglas","year":"1998","unstructured":"Douglas C. Schmidt and Tim Harrison. 1998. Double-Checked Locking. In Pattern Languages of Program Design 3, Robert Martin, Dirk Riehle, and Frank Buschmann (Eds.). Addison-Wesley."},{"volume-title":"Proc. of the 3rd VLDB Workshop on In-Memory Data Management and Analytics (IMDM). 4:1--4:8.","author":"Schwalb D.","key":"e_1_3_2_1_31_1","unstructured":"D. Schwalb, M. Dreseler, M. Uflacker, and H. Plattner. 2015. NVC-Hashmap: A Persistent and Concurrent Hashmap for Non-Volatile Memories. In Proc. of the 3rd VLDB Workshop on In-Memory Data Management and Analytics (IMDM). 4:1--4:8."},{"key":"e_1_3_2_1_32_1","unstructured":"SNA. 2017. NVM Programming Model (NPM). https:\/\/www.snia.org\/tech_activities\/standards\/curr_standards\/npm"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/s004460050069"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.diin.2012.04.005"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"crossref","DOI":"10.1145\/3177915","article-title":"Persisting RB-Tree into NVM in a Consistency Perspective","volume":"14","author":"Wang C.","year":"2018","unstructured":"C. Wang, Q. Wei, L. Wu, S. Wang, C. Chen, X. Xiao, J. Yang, M. Xue, and Y. Yang. 2018. Persisting RB-Tree into NVM in a Consistency Perspective. ACM Trans. on Storage 14, 1 (2018), 6:1--6:27.","journal-title":"ACM Trans. on Storage"},{"key":"e_1_3_2_1_36_1","volume-title":"Scott","author":"Wen Haosen","year":"2020","unstructured":"Haosen Wen, Wentao Cai, Mingzhe Du, Louis Jenkins, Benjamin Valpey, and Michael L. Scott. 2020. Montage: A General System for Buffered Durably Linearizable Data Structures. CoRR abs\/2009.13701 (2020)."},{"volume-title":"Proc. of the 50th International Conference on Parallel Processing (ICPP). 73:1--73:11","author":"Wen Haosen","key":"e_1_3_2_1_37_1","unstructured":"Haosen Wen, Wentao Cai, Mingzhe Du, Louis Jenkins, Benjamin Valpey, and Michael L. Scott. 2021. A Fast, General System for Buffered Persistent Data Structures. In Proc. of the 50th International Conference on Parallel Processing (ICPP). 73:1--73:11."},{"key":"e_1_3_2_1_38_1","volume-title":"Scott","author":"Wen Haosen","year":"2023","unstructured":"Haosen Wen, Wentao Cai, Mingzhe Du, Louis Jenkins, Benjamin Valpey, and Michael L. Scott. 2023. Montage: A Fast, General System for Buffered Persistent Data Structures. https:\/\/github.com\/urcs-sync\/Montage. Accessed: 2023."},{"key":"e_1_3_2_1_39_1","article-title":"Dual-Page Checkpointing: An Architectural Approach to Efficient Data Persistence for In-Memory Applications","volume":"15","author":"Wu Song","year":"2019","unstructured":"Song Wu, Fang Zhou, Xiang Gao, Hai Jin, and Jinglei Ren. 2019. Dual-Page Checkpointing: An Architectural Approach to Efficient Data Persistence for In-Memory Applications. ACM Transactions on Architecture and Code Optimization 15, 4 (2019), 57:1--57:27.","journal-title":"ACM Transactions on Architecture and Code Optimization"},{"volume-title":"Proc. of the 39th IEEE International Conference on Distributed Computing Systems (ICDCS). 2188--2194","author":"Zheng X.","key":"e_1_3_2_1_40_1","unstructured":"X. Zheng and V.K. Garg. 2019. An Optimal Vector Clock Algorithm for Multi-threaded Systems. In Proc. of the 39th IEEE International Conference on Distributed Computing Systems (ICDCS). 2188--2194."},{"key":"e_1_3_2_1_41_1","volume-title":"Proc. of the ACM on Programming Languages 3, OOPSLA","author":"Zuriel Y.","year":"2019","unstructured":"Y. Zuriel, M. Friedman, G. Sheffi, N. Cohen, and E. Petrank. 2019. Efficient Lock-Free Durable Sets. Proc. of the ACM on Programming Languages 3, OOPSLA (2019), 128:1--128:26."}],"event":{"name":"ApPLIED'24: 2024 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems","sponsor":["SIGACT ACM Special Interest Group on Algorithms and Computation Theory","SIGOPS ACM Special Interest Group on Operating Systems"],"location":"Nantes France","acronym":"ApPLIED'24"},"container-title":["Proceedings of the 2024 Workshop on Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3663338.3665832","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3663338.3665832","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T23:56:45Z","timestamp":1750291005000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3663338.3665832"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6,17]]},"references-count":41,"alternative-id":["10.1145\/3663338.3665832","10.1145\/3663338"],"URL":"https:\/\/doi.org\/10.1145\/3663338.3665832","relation":{},"subject":[],"published":{"date-parts":[[2024,6,17]]},"assertion":[{"value":"2024-06-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}