ADAM: An Adaptive Directory Accelerating Mechanism for NVM-Based File Systems
Byte-addressable non-volatile memory (NVM) offers fast, fine-grained random access to persistent storage, which revolutionizes the architecture design of file systems. Existing NVM-based file systems seldom optimize the directory-access performance despite that directory operations significantly impact application performance. These file systems still follow the traditional design of multi-level directory namespace which is inadequate for byte-addressable NVM and involves redundant access overhead.
In this paper, we propose an adaptive directory accelerating mechanism (ADAM) for NVM-based file systems. ADAM analyzes different directory states including read/write frequency and size and then builds adaptive full-name directory namespace (AFDN) areas as well as an evolving strategy. Compared with multi-level directory namespace, AFDN areas offer fast read access and low write latency. Besides, the evolving strategy helps AFDN areas maintain a stable performance during system runtime. We implement ADAM on NOn-Volatile memory Accelerated (NOVA) log-structured file system and build an efficient hybrid index for DRAM/NVMM architecture. Experiments show that NOVA with ADAM achieves up to 43% latency reduction and 76% throughput improvement, compared with original NOVA. Moreover, ADAM generally outperforms other state-of-the-art NVM-based file systems in various tests.
KeywordsNon-volatile memory File system Adaptive directory mechanism
We thank anonymous reviewers for their insightful and helpful comments, which improve the paper. This work is supported by the National Key Research and Development Program of China (No. 2018YFB10033002) and the National Natural Science Foundation of China (No. 61472241).
- 1.Condit, J., et al.: Better I/O through byte-addressable, persistent memory. In: Proceedings of the 22nd ACM Symposium on Operating Systems Principles 2009, SOSP 2009, Big Sky, Montana, USA, 11–14 October 2009, pp. 133–146 (2009). https://doi.org/10.1145/1629575.1629589
- 2.Conway, A., et al.: File systems fated for senescence? Nonsense, says science! In: FAST, pp. 45–58 (2017)Google Scholar
- 3.Debnath, B., Haghdoost, A., Kadav, A., Khatib, M.G., Ungureanu, C.: Revisiting hash table design for phase change memory. In: Proceedings of the 3rd Workshop on Interactions of NVM/FLASH with Operating Systems and Workloads, INFLOW 2015, Monterey, California, USA, 4 October 2015, pp. 1:1–1:9 (2015). https://doi.org/10.1145/2819001.2819002
- 5.Dong, M., Chen, H.: Soft updates made simple and fast on non-volatile memory. In: 2017 USENIX Annual Technical Conference, USENIX ATC 2017, Santa Clara, CA, USA, 12–14 July 2017, pp. 719–731 (2017). https://www.usenix.org/conference/atc17/technical-sessions/presentation/dong
- 6.Dulloor, S.R., et al.: System software for persistent memory. In: Proceedings of the Ninth European Conference on Computer Systems, p. 15. ACM (2014)Google Scholar
- 8.Lee, E., Kim, J., Bahn, H., Lee, S., Noh, S.H.: Reducing write amplification of flash storage through cooperative data management with nvm. ACM Trans. Storage (TOS) 13(2), 12 (2017)Google Scholar
- 9.Lensing, P.H., Cortes, T., Brinkmann, A.: Direct lookup and hash-based metadata placement for local file systems. In: Proceedings of the 6th International Systems and Storage Conference, p. 5. ACM (2013)Google Scholar
- 10.Lu, Y., Shu, J., Wang, W.: ReconFS: a reconstructable file system on flash storage. In: FAST, vol. 14, pp. 75–88 (2014)Google Scholar
- 11.Newsroom, I.: Intel and micron produce breakthrough memory technology (2015)Google Scholar
- 12.Tsai, C.C., Zhan, Y., Reddy, J., Jiao, Y., Zhang, T., Porter, D.E.: How to get more value from your file system directory cache. In: Proceedings of the 25th Symposium on Operating Systems Principles, pp. 441–456. ACM (2015)Google Scholar
- 14.Wu, X., Reddy, A.: SCMFS: a file system for storage class memory. In: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, p. 39. ACM (2011)Google Scholar
- 15.Xia, F., Jiang, D., Xiong, J., Sun, N.: HiKV: a hybrid index key-value store for DRAM-NVM memory systems. In: 2017 USENIX Annual Technical Conference, USENIX ATC 2017, Santa Clara, CA, USA, 12–14 July 2017, pp. 349–362 (2017). https://www.usenix.org/conference/atc17/technical-sessions/presentation/xia
- 16.Xu, J., Swanson, S.: NOVA: a log-structured file system for hybrid volatile/non-volatile main memories. In: FAST, pp. 323–338 (2016)Google Scholar
- 17.Yang, J., Wei, Q., Chen, C., Wang, C., Yong, K.L., He, B.: NV-tree: reducing consistency cost for NVM-based single level systems. FAST, vol. 15, pp. 167–181 (2015)Google Scholar
- 18.Yuan, J., et al.: Optimizing every operation in a write-optimized file system. In: FAST, pp. 1–14 (2016)Google Scholar
- 20.Zheng, S., Huang, L., Liu, H., Wu, L., Zha, J.: HMVFS: a hybrid memory versioning file system. In: 2016 32nd Symposium on Mass Storage Systems and Technologies (MSST), pp. 1–14. IEEE (2016)Google Scholar