Abstract | ||
---|---|---|
AbstractMaking 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 article describes nimble clones in B-ϵ-tree File System (BetrFS), an open-source, full-path-indexed, and write-optimized file system. The key observation behind our work is that standard copy-on-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, such as a Bε-tree or an log-structured merge-tree (LSM)-tree, can decouple the logical application of updates from the granularity at which data is physically copied. In our write-optimized 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 Linux Containers (LXC) backends by 3--4×. |
Year | DOI | Venue |
---|---|---|
2021 | 10.1145/3423495 | ACM Transactions on Storage |
Keywords | DocType | Volume |
B-epsilon-trees, file system, write optimization, clone | Journal | 17 |
Issue | ISSN | Citations |
1 | 1553-3077 | 0 |
PageRank | References | Authors |
0.34 | 0 | 11 |
Name | Order | Citations | PageRank |
---|---|---|---|
Yang Zhan | 1 | 65 | 6.65 |
Alex Conway | 2 | 1 | 3.39 |
Yizheng Jiao | 3 | 0 | 0.34 |
Nirjhar Mukherjee | 4 | 1 | 2.03 |
Ian Groombridge | 5 | 0 | 0.34 |
Michael A. Bender | 6 | 2144 | 138.24 |
Martín Farach-Colton | 7 | 140 | 9.48 |
William Jannen | 8 | 64 | 7.48 |
Rob Johnson | 9 | 562 | 39.43 |
Donald E. Porter | 10 | 389 | 32.25 |
Jun Yuan | 11 | 52 | 6.08 |