{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:37:08Z","timestamp":1750307828044,"version":"3.41.0"},"reference-count":21,"publisher":"Association for Computing Machinery (ACM)","issue":"5","license":[{"start":{"date-parts":[[2008,7,1]],"date-time":"2008-07-01T00:00:00Z","timestamp":1214870400000},"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":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2008,7]]},"abstract":"<jats:p>\n            The layered design of the Linux operating system hides the\n            <jats:italic>liveness<\/jats:italic>\n            of file system data from the underlying block layers. This lack of liveness information prevents the storage system from discarding blocks deleted by the file system, often resulting in poor utilization, security problems, inefficient caching, and migration overheads. In this paper, we define a generic \"purge\" operation that can be used by a file system to pass liveness information to the block layer with minimal changes in the layer interfaces, allowing the storage system to discard deleted data. We present three approaches for implementing such a purge operation: direct call, zero blocks, and flagged writes, each of which differs in their architectural complexity and potential performance overhead. We evaluate the feasibility of these techniques through a reference implementation of a dynamically resizable copy on write (COW) data store in User Mode Linux (UML). Performance results obtained from this reference implementation show that all these techniques can achieve significant storage savings with a reasonable execution time overhead. At the same time, our results indicate that while the direct call approach has the best performance, the zero block approach provides the best compromise in terms of performance overhead and its semantic and architectural simplicity. Overall, our results demonstrate that passing liveness information across the file system-block layer interface with minimal changes is not only feasible but practical.\n          <\/jats:p>","DOI":"10.1145\/1400097.1400107","type":"journal-article","created":{"date-parts":[[2008,8,12]],"date-time":"2008-08-12T13:10:22Z","timestamp":1218546622000},"page":"85-94","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Practical techniques for purging deleted data using liveness information"],"prefix":"10.1145","volume":"42","author":[{"given":"David","family":"Boutcher","sequence":"first","affiliation":[{"name":"University of Minnesota, Minneapolis, MN"}]},{"given":"Abhishek","family":"Chandra","sequence":"additional","affiliation":[{"name":"University of Minnesota, Minneapolis, MN"}]}],"member":"320","published-online":{"date-parts":[[2008,7]]},"reference":[{"doi-asserted-by":"publisher","key":"e_1_2_1_1_1","DOI":"10.1145\/945445.945462"},{"unstructured":"T. Bray. bonnie. http:\/\/www.textuality.com\/bonnie\/.  T. Bray. bonnie. http:\/\/www.textuality.com\/bonnie\/.","key":"e_1_2_1_2_1"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference","year":"2002","author":"Burnett N.","key":"e_1_2_1_3_1"},{"volume-title":"Proceedings of the First Dutch International Symposium on Linux","year":"1995","author":"Card R.","key":"e_1_2_1_4_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_5_1","DOI":"10.5555\/1251203.1251223"},{"key":"e_1_2_1_7_1","first-page":"63","volume-title":"Proceedings of 4th Annual Linux Showcase and Conference","author":"Dike J.","year":"2000"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.1145\/1133572.1133599"},{"key":"e_1_2_1_10_1","first-page":"77","volume-title":"Magnetic and Solid-State Memory. In Proceedings of the Sixth USENIX Security Symposium","author":"Gutmann P.","year":"1996"},{"key":"e_1_2_1_11_1","first-page":"301","volume-title":"Proceedings of the 21st IEEE \/ 12th NASA Goddard Conference on Mass Storage Systems and Technologies (MSST 2004","author":"Hong B.","year":"2004"},{"doi-asserted-by":"publisher","key":"e_1_2_1_12_1","DOI":"10.5555\/296806.296835"},{"key":"e_1_2_1_13_1","first-page":"115","volume-title":"Proceedings of the 4th USENIX Conference on File and Storage Technologies (FAST '05)","author":"Li X.","year":"2005"},{"unstructured":"Qumranet. Kvm: Kernel-based virtualization driver. http:\/\/www.qumranet.com\/wp\/kvm_wp.pdf 2006. Technical Report.  Qumranet. Kvm: Kernel-based virtualization driver. http:\/\/www.qumranet.com\/wp\/kvm_wp.pdf 2006. Technical Report.","key":"e_1_2_1_14_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_16_1","first-page":"379","volume-title":"Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI)","author":"Sivathanu M.","year":"2004"},{"volume-title":"Proceedings of the Second USENIX Conference on File and Storage Technologies (FAST 2003)","year":"2003","author":"Sivathanu M.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","first-page":"165","volume-title":"Proceedings of the 4th Symposium on Operating Systems Design and Implementation","author":"Strunk J. D.","year":"2000"},{"volume-title":"Hosted Virtual Machine Monitor. In Proceedings of the 2001 USENIX Annual Technical Conference","year":"2001","author":"Sugerman J.","key":"e_1_2_1_19_1"},{"unstructured":"A. Tridgell. dbench. http:\/\/samba.org\/ftp\/tridge\/dbench\/.  A. Tridgell. dbench. http:\/\/samba.org\/ftp\/tridge\/dbench\/.","key":"e_1_2_1_20_1"},{"volume-title":"Filesystem. In LinuxExpo '98","year":"1998","author":"Tweedie S.","key":"e_1_2_1_21_1"},{"key":"e_1_2_1_22_1","first-page":"25","volume-title":"FAST '07: Proceedings of the 5th USENIX conference on File and Storage Technologies","author":"Yadgar G.","year":"2007"},{"key":"e_1_2_1_23_1","first-page":"243","volume-title":"Proceedings of the 2000 Symposium on Operating Systems Design and Implementation","author":"Yu X.","year":"2000"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1400097.1400107","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1400097.1400107","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:57:53Z","timestamp":1750255073000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1400097.1400107"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,7]]},"references-count":21,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2008,7]]}},"alternative-id":["10.1145\/1400097.1400107"],"URL":"https:\/\/doi.org\/10.1145\/1400097.1400107","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2008,7]]},"assertion":[{"value":"2008-07-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}