Asynchronous Directory Operations in CephFS
summary
CephFS adds asynchronous directory operations by reusing and extending file capabilities so clients can perform creates and unlinks locally when holding exclusive directory caps and directory completeness; the MDS caches locks and hands out inode number delegation ranges so clients can name objects. On a 10,000-file test async unlinks drop from ~10s to under 1s and async creates halve from ~11s to ~5–6s. Limitations: needs primary dentries, no hardlink support, rmdir and fsync still block, and error reporting and inode refills can fall back to synchronous behavior.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:56NETFS DIRECTORY OPERATIONS ARE SLOW
- 1:44WHY ARE LOCAL FILESYSTEMS SO FAST?
- 4:31CEPHES CAPABILITIES
- 7:29EXTENDING DIRECTORY CAPABILITIES
- 10:33SYNCHRONOUS UNLINKS (STATUS QUO)
- 12:07SHOULD WE WAIT TO TRANSMIT ASYNC REQ'S?
- 14:20ASYNCHRONOUS UNLINK
- 16:13UNLINK PERFORMANCE
- 18:17OPPORTUNITIES TO IMPROVE UNLINK
- 19:09ASYNCHRONOUS CREATE
- 20:58INODE NUMBER DELEGATION
- 22:38CREATE PERFORMANCE
- 24:10Kernel Build (time make-j16; time make clean)
- 24:43OPPORTUNITIES TO IMPROVE CREATE
- 26:34ERROR HANDLING (CONT'D)
related talks
21mNew Techniques to Improve Small I/O Workloads in Distributed File Systems
35mMaking Ceph Fast in the Face of Failure
34mModernizing Ceph Deployments at CERN: CephFS and Object Storage Across Data Centres
15mInfiniFS: An Efficient Metadata Service for Large-Scale Distributed Filesystems
15mParaSync: Exploiting Fine-Grained Parallelism for Efficient File Synchronization
49mIntro to Ceph, the Distributed Storage System
29mCeph Operations at Scale
16mLock-Free Collaboration Support for Cloud Storage Services with Operation Inference
