{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:14:00Z","timestamp":1750306440434,"version":"3.41.0"},"reference-count":28,"publisher":"Association for Computing Machinery (ACM)","issue":"7","license":[{"start":{"date-parts":[[2015,7,1]],"date-time":"2015-07-01T00:00:00Z","timestamp":1435708800000},"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":["Queue"],"published-print":{"date-parts":[[2015,7]]},"abstract":"<jats:p>The reading and writing of data, one of the most fundamental aspects of any Von Neumann computer, is surprisingly subtle and full of nuance. For example, consider access to a shared memory in a system with multiple processors. While a simple and intuitive approach known as strong consistency is easiest for programmers to understand, many weaker models are in widespread use (e.g., x86 total store ordering); such approaches improve system performance, but at the cost of making reasoning about system behavior more complex and error-prone. Fortunately, a great deal of time and effort has gone into thinking about such memory models, and, as a result, most multiprocessor applications are not caught unaware.<\/jats:p>","DOI":"10.1145\/2800695.2801719","type":"journal-article","created":{"date-parts":[[2020,9,3]],"date-time":"2020-09-03T03:40:10Z","timestamp":1599104410000},"page":"20-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Crash Consistency"],"prefix":"10.1145","volume":"13","author":[{"given":"Thanumalayan Sankaranarayana","family":"Pillai","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Vijay","family":"Chidambaram","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ramnatthan","family":"Alagappan","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Samer","family":"Al-Kiswany","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrea C.","family":"Arpaci-Dusseau","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Remzi H.","family":"Arpaci-Dusseau","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,7,7]]},"reference":[{"volume-title":"the 15th Workshop on Hot Topics in Operating Systems, Kartause Ittingen, Switzerland (May).","year":"2015","author":"Alagappan R.","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","unstructured":"Al-Kiswany S. 2014. Namenode fails to boot if the file system reorders rename operations; http:\/\/issues.apache.org\/jira\/browse\/HDFS-6820.  Al-Kiswany S. 2014. Namenode fails to boot if the file system reorders rename operations; http:\/\/issues.apache.org\/jira\/browse\/HDFS-6820."},{"key":"e_1_2_1_3_1","unstructured":"Aurora V. 2009. POSIX v. reality: a position on O_PONIES; http:\/\/lwn.net\/Articles\/351422\/.  Aurora V. 2009. POSIX v. reality: a position on O_PONIES; http:\/\/lwn.net\/Articles\/351422\/."},{"key":"e_1_2_1_4_1","unstructured":"Austin Group Defect Tracker. 2013. 0000672: Necessary step(s) to synchronize filename operations on disk; http:\/\/austingroupbugs.net\/view.php?id=672.  Austin Group Defect Tracker. 2013. 0000672: Necessary step(s) to synchronize filename operations on disk; http:\/\/austingroupbugs.net\/view.php?id=672."},{"volume-title":"the 15th Workshop on Hot Topics in Operating Systems, Kartause Ittingen, Switzerland (May).","year":"2015","author":"Chen H.","key":"e_1_2_1_5_1"},{"key":"e_1_2_1_6_1","unstructured":"Corbet J. 2009. Ext4 and data loss; https:\/\/lwn.net\/Articles\/322823\/.  Corbet J. 2009. Ext4 and data loss; https:\/\/lwn.net\/Articles\/322823\/."},{"key":"e_1_2_1_7_1","unstructured":"Corbet J. 2009. That massive filesystem thread; http:\/\/lwn.net\/Articles\/326471\/.  Corbet J. 2009. That massive filesystem thread; http:\/\/lwn.net\/Articles\/326471\/."},{"key":"e_1_2_1_8_1","unstructured":"Davies C. 2011. Fake hard drive has short-term memory not 500GB. SlashGear; http:\/\/www.slashgear.com\/fake-hard-drive-has-short-term-memory-not-500gb-08145144\/.  Davies C. 2011. Fake hard drive has short-term memory not 500GB. SlashGear; http:\/\/www.slashgear.com\/fake-hard-drive-has-short-term-memory-not-500gb-08145144\/."},{"key":"e_1_2_1_9_1","unstructured":"Edge J. 2015. Testing power failures; https:\/\/lwn.net\/Articles\/637079\/.  Edge J. 2015. Testing power failures; https:\/\/lwn.net\/Articles\/637079\/."},{"volume-title":"Proceedings of the 1st Symposium on Operating Systems Design and Implementation: 49-60","year":"1994","author":"Ganger G. R.","key":"e_1_2_1_10_1"},{"volume-title":"Database Systems: The Complete Book","year":"2008","author":"Garcia-Molina H.","key":"e_1_2_1_11_1"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/41457.37518"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208478"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1979.1675439"},{"key":"e_1_2_1_15_1","unstructured":"Mercurial. 2014. Dealing with repository and dirstate corruption; http:\/\/mercurial.selenic.com\/wiki\/RepositoryCorruption.  Mercurial. 2014. Dealing with repository and dirstate corruption; http:\/\/mercurial.selenic.com\/wiki\/RepositoryCorruption."},{"key":"e_1_2_1_16_1","unstructured":"Microsoft. Alternatives to using transactional NTFS; https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/hh802690(v=vs.85).aspx.  Microsoft. Alternatives to using transactional NTFS; https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/hh802690(v=vs.85).aspx."},{"key":"e_1_2_1_17_1","unstructured":"Open Group Base Specifications. 2013. POSIX.1-2008 IEEE Std 1003.1; http:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/.  Open Group Base Specifications. 2013. POSIX.1-2008 IEEE Std 1003.1; http:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/."},{"key":"e_1_2_1_18_1","unstructured":"Sankaranarayana Pillai T. 2013. Possible bug: fsync() required after calling rename(); https:\/\/code.google.com\/p\/leveldb\/issues\/detail?id=189.  Sankaranarayana Pillai T. 2013. Possible bug: fsync() required after calling rename(); https:\/\/code.google.com\/p\/leveldb\/issues\/detail?id=189."},{"key":"e_1_2_1_19_1","unstructured":"Sankaranarayana Pillai T. 2013. Possible bug: Missing a fsync() on the log file before compaction; https:\/\/code.google.com\/p\/leveldb\/issues\/detail?id=187.  Sankaranarayana Pillai T. 2013. Possible bug: Missing a fsync() on the log file before compaction; https:\/\/code.google.com\/p\/leveldb\/issues\/detail?id=187."},{"key":"e_1_2_1_20_1","unstructured":"Sankaranarayana Pillai T. Chidambaram V. Alagappan R. Al-Kiswany S. Arpaci-Dusseau A. C. and Arpaci-Dusseau R. H. ALICE: Application-Level Intelligent Crash Explorer; http:\/\/research.cs.wisc.edu\/adsl\/Software\/alice\/.  Sankaranarayana Pillai T. Chidambaram V. Alagappan R. Al-Kiswany S. Arpaci-Dusseau A. C. and Arpaci-Dusseau R. H. ALICE: Application-Level Intelligent Crash Explorer; http:\/\/research.cs.wisc.edu\/adsl\/Software\/alice\/."},{"volume-title":"Proceedings of the 11th Symposium on Operating Systems Design and Implementation, Broomfield, Colorado (October).","year":"2014","author":"Sankaranarayana Pillai T.","key":"e_1_2_1_21_1"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1785414.1785443"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2010.5496972"},{"key":"e_1_2_1_24_1","doi-asserted-by":"crossref","unstructured":"Sorin D. J. Hill M. D. Wood D. A. 2011. A Primer on Memory Consistency and Cache Coherence. Morgan & Claypool Publishers.   Sorin D. J. Hill M. D. Wood D. A. 2011. A Primer on Memory Consistency and Cache Coherence. Morgan & Claypool Publishers.","DOI":"10.1007\/978-3-031-01733-9"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.5555\/2750482.2750498"},{"key":"e_1_2_1_27_1","unstructured":"VMWare. Software-defined storage (SDS) and storage virtualization; http:\/\/www.vmware.com\/software-defined-datacenter\/storage.  VMWare. Software-defined storage (SDS) and storage virtualization; http:\/\/www.vmware.com\/software-defined-datacenter\/storage."},{"key":"e_1_2_1_28_1","unstructured":"VMWare. The VMware perspective on software-defined storage; http:\/\/www.vmware.com\/files\/pdf\/solutions\/VMware-Perspective-on-software-defined-storage-white-paper.pdf.  VMWare. The VMware perspective on software-defined storage; http:\/\/www.vmware.com\/files\/pdf\/solutions\/VMware-Perspective-on-software-defined-storage-white-paper.pdf."},{"volume-title":"Proceedings of the 11th Symposium on Operating Systems Design and Implementation, Broomfield, Colorado (October).","year":"2014","author":"Zheng M.","key":"e_1_2_1_29_1"}],"container-title":["Queue"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2800695.2801719","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2800695.2801719","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T05:42:44Z","timestamp":1750225364000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2800695.2801719"}},"subtitle":["Rethinking the Fundamental Abstractions of the File System"],"short-title":[],"issued":{"date-parts":[[2015,7]]},"references-count":28,"journal-issue":{"issue":"7","published-print":{"date-parts":[[2015,7]]}},"alternative-id":["10.1145\/2800695.2801719"],"URL":"https:\/\/doi.org\/10.1145\/2800695.2801719","relation":{},"ISSN":["1542-7730","1542-7749"],"issn-type":[{"type":"print","value":"1542-7730"},{"type":"electronic","value":"1542-7749"}],"subject":[],"published":{"date-parts":[[2015,7]]},"assertion":[{"value":"2015-07-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}