{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:11:33Z","timestamp":1750306293349,"version":"3.41.0"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2016,1,28]],"date-time":"2016-01-28T00:00:00Z","timestamp":1453939200000},"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":["ACM Trans. Storage"],"published-print":{"date-parts":[[2016,2,26]]},"abstract":"<jats:p>File-system snapshots have been a key component of enterprise storage management since their inception. Creating and managing them efficiently, while maintaining flexibility and low overhead, has been a constant struggle. Although the current state-of-the-art mechanism\u2014hierarchical reference counting\u2014performs reasonably well for traditional small-file workloads, these workloads are increasingly vanishing from the enterprise data center, replaced instead with virtual machine and database workloads. These workloads center around a few very large files, violating the assumptions that allow hierarchical reference counting to operate efficiently. To better cope with these workloads, we introduce Generational Chain Trees (GCTrees), a novel method of space management that uses concepts of block lineage across snapshots rather than explicit reference counting. As a proof of concept, we create a prototype file system\u2014gcext4, a modified version of ext4 that uses GCTrees as a basis for snapshots and copy-on-write. In evaluating this prototype empirically, we find that although they have a somewhat higher overhead for traditional workloads, GCTrees have dramatically lower overhead than hierarchical reference counting for large-file workloads, improving by a factor of 34 or more in some cases. Furthermore, gcext4 performs comparably to ext4 across all workloads, showing that GCTrees impose minor cost for their benefits.<\/jats:p>","DOI":"10.1145\/2857056","type":"journal-article","created":{"date-parts":[[2016,2,1]],"date-time":"2016-02-01T20:37:54Z","timestamp":1454359074000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["GCTrees"],"prefix":"10.1145","volume":"12","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6834-2945","authenticated-orcid":false,"given":"Chris","family":"Dragga","sequence":"first","affiliation":[{"name":"Advanced Technology Group, NetApp Inc., Research Triangle Park, NC"}]},{"given":"Douglas J.","family":"Santry","sequence":"additional","affiliation":[{"name":"Advanced Technology Group, NetApp Inc., Kirchheim Germany"}]}],"member":"320","published-online":{"date-parts":[[2016,1,28]]},"reference":[{"volume-title":"NEXT3 Snapshot Design. Retrieved","year":"2016","author":"Amir G.","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2005.1526014"},{"volume-title":"Proceedings of the 31st International Conference on Massive Storage Systems and Technology (MSST\u201915)","author":"Dragga Chris","key":"e_1_2_1_3_1"},{"volume-title":"Smith","year":"2008","author":"Edwards John K.","key":"e_1_2_1_4_1"},{"volume-title":"Stony Brook University","year":"2015","author":"Systems File","key":"e_1_2_1_5_1"},{"volume-title":"Proceedings of the USENIX Winter Technical Conference (USENIX Winter\u201994)","author":"Hitz Dave","key":"e_1_2_1_6_1"},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the Linux Symposium","volume":"2","author":"Mathur Avantika","year":"2007"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201999)","author":"McKusick Marshall Kirk","key":"e_1_2_1_8_1"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/989.990"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2010.08.004"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1063786.1063789"},{"volume-title":"Proceedings of the","year":"1990","author":"Pike Rob","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380211203"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/1973333.1973340"},{"volume-title":"an Archival File Server. Retrieved","year":"2016","author":"Quinlan Sean","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1326542.1326544"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2501620.2501623"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/346152.346180"},{"volume-title":"Proceedings of the 2nd USENIX Conference on File and Storage Technologies (FAST\u201903)","author":"Soules Craig A. N.","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/2002218.2002228"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2857056","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2857056","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:39:08Z","timestamp":1750221548000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2857056"}},"subtitle":["Garbage Collecting Snapshots"],"short-title":[],"issued":{"date-parts":[[2016,1,28]]},"references-count":20,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2016,2,26]]}},"alternative-id":["10.1145\/2857056"],"URL":"https:\/\/doi.org\/10.1145\/2857056","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"type":"print","value":"1553-3077"},{"type":"electronic","value":"1553-3093"}],"subject":[],"published":{"date-parts":[[2016,1,28]]},"assertion":[{"value":"2015-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-01-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}