DOI QR코드

DOI QR Code

DJFS: Providing Highly Reliable and High-Performance File System with Small-Sized NVRAM

  • Kim, Junghoon (Department of IT Convergence, Sungkyunkwan University) ;
  • Lee, Minho (Department of Electrical and Computer Engineering, Sungkyunkwan University) ;
  • Song, Yongju (Department of Electrical and Computer Engineering, Sungkyunkwan University) ;
  • Eom, Young Ik (College of Software, Sungkyunkwan University)
  • Received : 2016.08.12
  • Accepted : 2017.09.27
  • Published : 2017.12.01

Abstract

File systems and applications try to implement their own update protocols to guarantee data consistency, which is one of the most crucial aspects of computing systems. However, we found that the storage devices are substantially under-utilized when preserving data consistency because they generate massive storage write traffic with many disk cache flush operations and force-unit-access (FUA) commands. In this paper, we present DJFS (Delta-Journaling File System) that provides both a high level of performance and data consistency for different applications. We made three technical contributions to achieve our goal. First, to remove all storage accesses with disk cache flush operations and FUA commands, DJFS uses small-sized NVRAM for a file system journal. Second, to reduce the access latency and space requirements of NVRAM, DJFS attempts to journal compress the differences in the modified blocks. Finally, to relieve explicit checkpointing overhead, DJFS aggressively reflects the checkpoint transactions to file system area in the unit of the specified region. Our evaluation on TPC-C SQLite benchmark shows that, using our novel optimization schemes, DJFS outperforms Ext4 by up to 64.2 times with only 128 MB of NVRAM.

Keywords

References

  1. O. Rodeh, J. Bacik, and C. Mason, "BTRFS: The Linux BTree Filesystem," ACM Trans. Storage, vol. 9, no. 3, Aug. 2013, pp. 1-32.
  2. M. Rosenblum and J.K. Ousterhout, "The Design and Implementation of a Log-Structured File System," ACM Trans. Comput. Syst., vol. 10, no. 1, Feb. 1992, pp. 26-52. https://doi.org/10.1145/146941.146943
  3. A. Sweeney et al., "Scalability in the XFS File System," USENIX Annu. Techn. Conf. (ATC), San Diego, CA, USA, Jan. 22-26, 1996, pp. 1-14.
  4. V. Prabhakaran, A.C. Arpaci-Dusseau, and R.H. Arpaci-Dusseau, "Analysis and Evolution of Journaling File Systems," USENIX Annu. Techn. Conf. (ATC), Anaheim, CA, USA, Apr. 10-15, 2005. pp. 105-120.
  5. SQLite Team, SQLite, SQLite, Accessed Oct. 26, 2015. http://www.sqlite.org/
  6. C. Min et al., "Lightweight Application-Level Crash Consistency on Transactional Flash Storage," USENIX Annu. Techn. Conf. (ATC), Santa Clara, CA, USA, July 8-10, 2015, pp. 221-234.
  7. H. Kim, N. Agrawal, and C. Ungureanu, "Revisiting Storage for Smartphones," USENIX Conf. File Storage Technol., San Jose, CA, USA, Feb. 14-17, 2012, pp. 209-222.
  8. Apple Corporation, BSD System Calls Manual: FCNTL(2), Apple, 2001. Accessed Feb 11, 2015. https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/fcntl.2.html
  9. Y. Zhang et al., "ViewBox: Integrating Local File Systems with Cloud Storage Services," USENIX Conf. File Storage Technol., Santa Clara, CA, USA, Feb. 17-20, 2014, pp. 119-132.
  10. S.C. Tweedie et al., "Journaling the Linux Ext2 fs Filesystem," Annu. Linux Expo, Durham, USA, May 28-30, 1998, pp. 1-8.
  11. A. Aghayev et al., "Evolving Ext4 for Shingled Disks," USENIX Conf. File and Storage Tech. (FAST), Santa Clara, USA, Feb. 27-Mar. 2, 2017, pp. 105-119.
  12. W. Lee et al., "WALDIO: Eliminating the Filesystem Journaling in Resolving the Journaling of Journal Anomaly," USENIX Annu. Techn. Conf., Santa Clara, CA, USA, July 2015, pp. 235-247.
  13. J. Axboe, FIO (Flexible IO Tester), 2005, Accessed June 15, 2014. http://freecode.com/projects/fio/
  14. W.-H. Kang et al., "X-FTL: Transactional FTL for SQLite Databases," ACM SIGMOD Int. Conf. Manage. Data (SIGMOD), NewYork, USA, June 22-27, 2013, pp. 97-108.
  15. S. Jeong et al., "I/O Stack Optimization for Smartphones," USENIX Annu. Techn. Conf., San Jose, CA, USA, June 26-28, 2013, pp. 309-320.
  16. B. Lee et al., "Architecting Phase Change Memory as a Scalable DRAM Alternative," Int. Symp. Comput. Archit., Austin, TX, USA, June 20-24, 2009, pp. 2-13.
  17. J. Condit et al., "Better I/O Through Byte-Addressable, Persistent Memory," ACM SIGOPS Symp. Operating Syst., Principles, Big Sky, MT, USA, Oct. 11-14, 2009, pp. 133-146.
  18. X. Wu and A.L. Reddy, "SCMFS: A File System for Storage Class Memory," Int. Conf. High Performance Comput., Netw., Storage Anal., Seattle, WA. USA, Nov. 12-18, 2011, pp. 1-11.
  19. X. Guo, E. Ipek, and T. Soyata, "Resistive Computation: Avoiding the Power Wall with Low-leakage, STT-MRAM Based Computing," Int. Symp. Comput. Archit., Saint-Malo, France, June 19-23, 2010, pp. 371-382.
  20. C. Lee and S.-H. Lim, "Efficient Logging of Metadata Using NVRAM for NAND Flash based File System," IEEE Trans. Consumer Electron., vol. 58, no. 1, Feb. 2012, pp. 86-94. https://doi.org/10.1109/TCE.2012.6170059
  21. K. Kim et al., "IPL-P: In-Page Logging with PCRAM," VLDB Endowment, vol. 4, no. 12, Aug. 2011, pp. 1363-1366.
  22. M. Oberhumer, LZO Real-Time Data Compression Library, GmbH, 1996. Accessed Aug. 13, 2015. http://www.oberhumer.com/opensource/lzo/
  23. F. Chen, M.P. Mesnier, and S. Hahn, "A Protected Block Device for Persistent Memory," Int. Conf. Massive Storage Syst. Technol., Santa Clara, CA, USA, June 2-6, 2014, pp. 1-12.
  24. S.T. Leutenegger and D. Dias, "A Modeling Study of the TPC-C Benchmark," ACM SIGMOD Int. Conf. Manage. Data, Washington, DC, USA, May 26-28, 1993, pp. 22-31.
  25. D. Roselli, J.R. Lorch, and T.E. Anderson, "A Comparison of File System Workloads," USENIX Annu. Techn. Conf., San Diego, CA, USA, June 18-23, 2000, pp. 41-54.
  26. E. Lee, H. Bahn, and S.H. Noh, "Unioning of the Buffer Cache and Journaling Layers with Non-volatile Memory," USENIX Conf. File Storage Technol., San Jose, CA, USA, Feb. 12-15, 2013, pp. 73-80.
  27. W.-H. Kang et al., "Durable Write Cache in Flash Memory SSD for Relational and NoSQL Databases," ACM SIGMOD Int. Conf. Manage. Data, Snowbird, UT, USA, June 22-27, 2014, pp. 529-540.
  28. G. Sun et al., "A Hybrid Solid-State Storage Architecture for the Performance, Energy Consumption, and Lifetime Improvement," IEEE Int. Symp. High Performance Comput. Archit., Bangalore, India, Jan. 9-14, 2010, pp. 51-77.