How to Copy Files
Yang Zhan, Alexander Conway, Yizheng Jiao, Nirjhar Mukherjee, Ian Groombridge, Michael A. Bender, Martin Farach-Colton, William Jannen, Rob Johnson, Donald E. Porter, Jun Yuan
Abstract
Making logical copies, or clones, of files and directories is critical to many real-world applications and workflows, including backups, virtual machines, and containers. An ideal clone implementation meets the following performance goals: (1) creating the clone has low latency; (2) reads are fast in all versions (i.e., spatial locality is always maintained, even after modifications); (3) writes are fast in all versions; (4) the overall system is space efficient. Implementing a clone operation that realizes all four properties, which we call a nimble clone, is a long-standing open problem.
This paper describes nimble clones in BetrFS, an opensource, full-path-indexed, and write-optimized file system. The key observation behind our work is that standard copyon-write heuristics can be too coarse to be space efficient, or too fine-grained to preserve locality. On the other hand, a write-optimized key-value store, as used in BetrFS or an LSMtree, can decouple the logical application of updates from the granularity at which data is physically copied. In our writeoptimized clone implementation, data sharing among clones is only broken when a clone has changed enough to warrant making a copy, a policy we call copy-on-abundant-write.
We demonstrate that the algorithmic work needed to batch and amortize the cost of BetrFS clone operations does not erode the performance advantages of baseline BetrFS; BetrFS performance even improves in a few cases. BetrFS cloning is efficient; for example, when using the clone operation for container creation, BetrFS outperforms a simple recursive copy by up to two orders-of-magnitude and outperforms file systems that have specialized LXC backends by 3-4×.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext aa57ebf0-9f29-4206-b52c-b820f8cc2c65Cited by top-tier papers5
- RunD: A Lightweight Secure Container Runtime for High-density Deployment and High-concurrency Startup in Serverless ComputingZijun Li, Jiagan Cheng, Quan Chen, Eryu Guan et al.USENIX ATC 2022 · 106 citations
- SplinterDB: Closing the Bandwidth Gap for NVMe Key-Value StoresAlexander Conway, Abhishek Gupta, Vijay Chidambaram, Martin Farach-Colton et al.USENIX ATC 2020 · 90 citations
- Remap-SSD: Safely and Efficiently Exploiting SSD Address Remapping to Eliminate Duplicate WritesYou Zhou, Qiulin Wu, Fei Wu, Hong Jiang et al.FAST 2021 · 39 citations
- BetrFS: a compleat file system for commodity SSDsYizheng Jiao, Simon Bertron, Sagar Patel, Luke Zeller et al.EuroSys 2022 · 4 citations
- SolFS: An Operation-Log Versioning File System for Hash-free Efficient Mobile Cloud BackupRiwei Pan, Yu Liang, Lei Li, Hongchao Du et al.USENIX ATC 2025
Related papers
- NetClone: Fast, Scalable, and Dynamic Request Cloning for Microsecond-Scale RPCsGyuyeong KimSIGCOMM 2023 · 4 citations
- MetaWBC: POSIX-Compliant Metadata Write-Back Caching for Distributed File SystemsYingjin Qian, Wen Cheng, Lingfang Zeng, Marc-André Vef et al.SC 2022 · 6 citations
- RubbleDB: CPU-Efficient Replication with NVMe-oFHaoyu Li, Sheng Jiang, Chen Chen, Ashwini Raina et al.USENIX ATC 2023 · 9 citations
- NobLSM: an LSM-tree with non-blocking writes for SSDsHaoran Dang, Chongnan Ye, Yanpeng Hu, Chundong WangDAC 2022 · 5 citations
- Enabling High-Performance and Secure Userspace NVM File Systems with the Trio ArchitectureDiyu Zhou, Vojtech Aschenbrenner, Tao Lyu, Jian Zhang et al.SOSP 2023 · 9 citations
