ADAM: An Adaptive Directory Accelerating Mechanism for NVM-Based File Systems

  • Xin Cui
  • Linpeng HuangEmail author
  • Shengan Zheng
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11334)


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.


Non-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. 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).
  2. 2.
    Conway, A., et al.: File systems fated for senescence? Nonsense, says science! In: FAST, pp. 45–58 (2017)Google Scholar
  3. 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).
  4. 4.
    Decandia, G., et al.: Dynamo: Amazon’s highly available key-value store. In: ACM SIGOPS Symposium on Operating Systems Principles, pp. 205–220 (2007)Google Scholar
  5. 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).
  6. 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
  7. 7.
    Lee, B.C., Ipek, E., Mutlu, O., Burger, D.: Architecting phase change memory as a scalable dram alternative. In: ACM SIGARCH Computer Architecture News, vol. 37, pp. 1–13 (2009)Google Scholar
  8. 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. 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. 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. 11.
    Newsroom, I.: Intel and micron produce breakthrough memory technology (2015)Google Scholar
  12. 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
  13. 13.
    Wong, H.S.P., et al.: Phase change memory. Proc. IEEE 98(12), 2201–2227 (2010)CrossRefGoogle Scholar
  14. 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. 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).
  16. 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. 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. 18.
    Yuan, J., et al.: Optimizing every operation in a write-optimized file system. In: FAST, pp. 1–14 (2016)Google Scholar
  19. 19.
    Zangeneh, M., Joshi, A.: Design and optimization of nonvolatile multibit 1T1R resistive RAM. IEEE Trans. Very Large Scale Integr. Syst. 22(8), 1815–1828 (2014)CrossRefGoogle Scholar
  20. 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

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Shanghai Jiao Tong UniversityShanghaiChina

Personalised recommendations