Brussels / 1 & 2 February 2020

schedule

Asynchronous Directory Operations in CephFS


Metadata-heavy workloads are often the bane of networked and clustered filesystems. Directory operations (create and unlink, in particular) usually involve making a synchronous request to a server on the network, which can be very slow.

CephFS however has a novel mechanism for delegating the ability for clients to do certain operations locally. While that mechanism has mostly been used to delegate capabilities on normal files in the past, it's possible to extend this to cover certain types of directory operations as well.

The talk will describe work that is being done to bring asynchronous directory operations to CephFS. It will cover the design and tradeoffs necessary to allow for asynchronous directory operations, discuss the server and client-side infrastructure being added to support it, and what performance gains we expect to gain from this.

This is preliminary and may change between now and the conference, but this is what I'm planning to cover:

  • overview of problem (why metadata operations are so slow on network filesystems) and proposed solution
  • what about error handling?
  • CephFS caps
  • DIRUNLINK and DIRCREATE caps
  • directory completeness and dentry revalidation
  • asynchronous unlink
  • Inode number delegation
  • asynchronous creates
  • benchmarks

Speakers

Patrick Donnelly
Photo of Jeff Layton Jeff Layton

Links