Skip to main content
Log in

Enhancement of cooperation between file systems and applications — on VFS extensions for optimized performance

增强文件系统与应用的协作一基于VFS扩展的文件系统性能优化

  • Research Paper
  • Published:
Science China Information Sciences Aims and scope Submit manuscript

Abstract

Modern operating systems incorporate an abstract layer called Virtual File System (VFS), which is positioned between user applications and real file systems to hide the differences of various file systems and to expose generic application interfaces for requesting file system services. However, VFS sometimes does not give applications an opportunity to pass information to file systems to help them make correct optimization decisions. In this paper, we review the Linux VFS, discuss its deficiencies and propose several extensions to allow applications to cooperate with the file systems more efficiently. We introduce simple prefetching interfaces and advisory flags to allow applications to communicate application-related semantics to VFS and/or the underlying file systems. These suggestions, which neither affect the semantics of applications nor modify their programming models, not only lead to simple VFS/file systems but also guide them to make correct performance-related decisions, if required. We demonstrate that these interfaces and flags are also easy to implement and can boost application performance by up to 4.29X.

抽象

创新点

现代操作系统都会整合一个虚拟文件系统的抽象层, 位于应用与物理文件系统之间, 为应用提供统一的文件系统调用接口, 屏蔽不同物理文件系统的区别. 本文提出对Linux虚拟文件系统框架的一些扩展接口, 这些接口使得应用能够传递更多的语义给虚拟或物理文件系统, 辅助文件系统进行优化, 从而更有效地与文件系统协作, 提高应用性能. 这些接口实现简单, 不影响应用的语义, 也不修改编程模型. 实验证明, 这些接口的引入可以有效提高应用性能, 最多的可以达到4.29倍.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Le D, Huang H, Wang H. Understanding performance implications of nested file systems in a virtualized environment. In: Proceedings of the 10th USENIX Conference on File and Storage Technologies, San Jose, 2012. 1–13

  2. Leung A W, Pasupathy, S, Goodson G, et al. Measurement and analysis of large-scale network file system workloads. In: Proceedings of the USENIX 2008 Annual Technical Conference, Boston, 2008. 213–226

  3. Weil S A, Brandt S A, Miller E L, et al. Ceph: a scalable, high-performance distributed file system. In: Proceedings of the 7th Symposium on Operating Systems Design and Implementation, Seattle, 2006. 307–320

  4. Li X, Dong B, Xiao L, et al. Performance optimization of small file I/O with adaptive migration strategy in cluster file system. In: Proceedings of the 2nd International Conference on High Performance Computing and Applications, Shanghai, 2009. 242–249

  5. Baker M G, Hartman J H, Kupfer M D, et al. Measurements of a distributed file system. In: Proceedings of the 13rd ACM Symposium on Operating Systems Principles, Pacific Grove, 1991. 198–212

  6. Ousterhout J K, da Costa H, Harrison D, et al. A trace-driven analysis of the unix 4.2 bsd file system. In: Proceedings of the 10th ACM Symposium on Operating Systems Principles, Orcas Island, 1985. 15–24

  7. Sweeney A, Doucette D, Hu W, et al. Scalability in the xfs file system. In: Proceedings of the 1996 USENIX Annual Technical Conference, San Diego, 1996. 1–15

  8. Wu F G, Xi H S, Xu C F. On the design of a new linux readahead framework. ACM SIGOPS Oper Syst Rev, 2008, 42: 75–84

    Article  Google Scholar 

  9. Chen J, Wei Q, Chen C, et al. Fsmac: a file system metadata accelerator with non-volatile memory. In: Proceedings of IEEE Symposium on Mass Storage Systems and Technologies, Long Beach, 2013. 1–11

  10. Zhang Q, Feng D, Wang F. Metadata performance optimization in distributed file system. In: Proceedings of the 2012 IEEE/ACIS 11th International Conference on Computer and Information Science, Shanghai, 2012. 476–481

  11. Haddad I F. Pvfs: a parallel virtual file system for linux clusters. Linux J, 2000, 80: 1–11

    Google Scholar 

  12. Xing J, Xiong J, Sun N, et al. Adaptive and scalable metadata management to support a trillion files. In: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, Portland, 2009. 1–11

  13. Carns P, Lang S, Ross R, et al. Small-file access in parallel file systems. In: Proceedings of the 2009 IEEE International Symposium on Parallel & Distributed Processing, Rome, 2009. 1–11

  14. Thain D, Moretti C. Efficient access to many small files in a filesystem for grid computing. In: Proceedings of the 8th IEEE/ACM International Conference on Grid Computing, Austin, 2007. 243–250

  15. Spillane R P, Gaikwad S, Chinni M, et al. Enabling transactional file access via lightweight kernel extensions. In: Proccedings of the 7th Conference on File and Storage Technologies, San Francisco, 2009. 29–42

  16. Saxena M, Swift M M. Flashvm: virtual memory management on flash. In: Proceedings of the 2010 USENIX Annual Technical Conference, Boston, 2010. 1–14

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to XiangKe Liao.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, L., Liao, X., Xue, J. et al. Enhancement of cooperation between file systems and applications — on VFS extensions for optimized performance. Sci. China Inf. Sci. 58, 1–10 (2015). https://doi.org/10.1007/s11432-014-5181-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11432-014-5181-x

Keywords

关键词

Navigation