How to get more value from your file system directory cache Conference Paper uri icon

abstract

  • Applications frequently request file system operations that traverse the file system directory tree, such as opening a file or reading a file's metadata. As a result, caching file system directory structure and metadata in memory is an important performance optimization for an OS kernel. This paper identifies several design principles that can substantially improve hit rate and reduce hit cost transparently to applications and file systems. Specifically, our directory cache design can look up a directory in a constant number of hash table operations, separates finding paths from permission checking, memoizes the results of access control checks, uses signatures to accelerate lookup, and reduces miss rates through caching directory completeness. This design can meet a range of idiosyncratic requirements imposed by POSIX, Linux Security Modules, namespaces, and mount aliases. These optimizations are a significant net improvement for real-world applications, such as improving the throughput of the Dovecot IMAP server by up to 12% and the updatedb utility by up to 29%.

name of conference

  • Proceedings of the 25th Symposium on Operating Systems Principles

published proceedings

  • Proceedings of the 25th Symposium on Operating Systems Principles

altmetric score

  • 0.25

author list (cited authors)

  • Tsai, C., Zhan, Y., Reddy, J., Jiao, Y., Zhang, T., & Porter, D. E.

citation count

  • 19

complete list of authors

  • Tsai, Chia-Che||Zhan, Yang||Reddy, Jayashree||Jiao, Yizheng||Zhang, Tao||Porter, Donald E

publication date

  • January 2015