Skip to main navigation Skip to search Skip to main content

Copy-on-abundant-write for NiMble file system clones

  • Yang Zhan
  • , Alex Conway
  • , Yizheng Jiao
  • , Nirjhar Mukherjee
  • , Ian Groombridge
  • , Michael A. Bender
  • , Martin Farach-Colton
  • , William Jannen
  • , Rob Johnson
  • , Donald E. Porter
  • , Jun Yuan

Research output: Contribution to journalArticlepeer-review

2 Scopus citations

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 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×.

Original languageEnglish
Article number5
JournalACM Transactions on Storage
Volume17
Issue number1
DOIs
StatePublished - Jan 2021

Keywords

  • B-trees
  • Clone
  • File system
  • Write optimization

Fingerprint

Dive into the research topics of 'Copy-on-abundant-write for NiMble file system clones'. Together they form a unique fingerprint.

Cite this