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倍.
Similar content being viewed by others
References
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
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
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
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
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
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
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
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
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
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
Haddad I F. Pvfs: a parallel virtual file system for linux clusters. Linux J, 2000, 80: 1–11
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
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
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
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
Saxena M, Swift M M. Flashvm: virtual memory management on flash. In: Proceedings of the 2010 USENIX Annual Technical Conference, Boston, 2010. 1–14
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11432-014-5181-x