skip to main content
research-article

Mitigating Synchronous I/O Overhead in File Systems on Open-Channel SSDs

Published:31 May 2019Publication History
Skip Abstract Section

Abstract

Synchronous I/O has long been a design challenge in file systems. Although open-channel solid state drives (SSDs) provide better performance and endurance to file systems, they still suffer from synchronous I/Os due to the amplified writes and worse hot/cold data grouping. The reason lies in the controversy design choices between flash write and read/erase operations. While fine-grained logging improves performance and endurance in writes, it hurts indexing and data grouping efficiency in read and erase operations. In this article, we propose a flash-friendly data layout by introducing a built-in persistent staging layer to provide balanced read, write, and garbage collection performance. Based on this, we design a new flash file system (FS) named StageFS, which decouples the content and structure updates. Content updates are logically logged to the staging layer in a persistence-efficient way, which achieves better write performance and lower write amplification. The updated contents are reorganized into the normal data area for structure updates, with improved hot/cold grouping and in a page-level indexing way, which is more friendly to read and garbage collection operations. Evaluation results show that, compared to recent flash-friendly file system (F2FS), StageFS effectively improves performance by up to 211.4% and achieves low garbage collection overhead for workloads with frequent synchronization.

References

  1. {n.d.}. Btrfs. Retrieved from http://btrfs.wiki.kernel.org.Google ScholarGoogle Scholar
  2. {n.d.}. Ext4. Retrieved from https://ext4.wiki.kernel.org/.Google ScholarGoogle Scholar
  3. {n.d.}. Filebench benchmark. Retrieved from http://sourceforge.net/apps/mediawiki/filebench.Google ScholarGoogle Scholar
  4. {n.d.}. FusionIO Virtual Storage Layer. Retrieved from http://www.fusionio.com/products/vsl.Google ScholarGoogle Scholar
  5. {n.d.}. LevelDB, A fast and lightweight key/value database library by Google. Retrieved from http://code.google.com/p/leveldb/.Google ScholarGoogle Scholar
  6. {n.d.}. LevelDB Benchmarks. Retrieved from http://leveldb.googlecode.com/svn/trunk/doc/benchmark.html.Google ScholarGoogle Scholar
  7. {n.d.}. ReiserFS. Retrieved from http://reiser4.wiki.kernel.org.Google ScholarGoogle Scholar
  8. 2014. SQLite. Retrieved from http://www.sqlite.org/.Google ScholarGoogle Scholar
  9. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark S. Manasse, and Rina Panigrahy. 2008. Design tradeoffs for SSD performance. In Proceedings of 2008 USENIX Annual Technical Conference (USENIX ATC). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Matias Bjorling, Javier Gonzalez, and Bonnet Philippe. 2017. LightNVM: The Linux open-channel SSD subsystem. In Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST’17). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. 2006. Bigtable: A distributed storage system for structured data. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI’06). USENIX, Berkeley, CA, 205--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Feng Chen, Tian Luo, and Xiaodong Zhang. 2011. CAFTL: A content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST’11), Vol. 11. USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Peter M. Chen, Wee Teck Ng, Subhachandra Chandra, Christopher Aycock, Gurushankar Rajamani, and David Lowell. 1996. The rio file cache: Surviving operating system crashes. In Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’96). ACM, New York, NY, 74--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Vijay Chidambaram, Thanumalayan Sankaranarayana Pillai, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2013. Optimistic crash consistency. In Proceedings of the 24th ACM Symposium on Operating Systems Principles (SOSP’13). ACM, 228--243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jeremy Condit, Edmund B. Nightingale, Christopher Frost, Engin Ipek, Benjamin Lee, Doug Burger, and Derrick Coetzee. 2009. Better I/O through byte-addressable, persistent memory. In Proceedings of the 22nd ACM SIGOPS Symposium on Operating Systems Principles (SOSP’09). ACM, New York, NY, 133--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Youngjin Kwon Henrique Fingler, Tyler Hunt, Simon Peter, and Emmett Witchel Thomas Anderson. 2017. Strata: A cross media file system. In Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 460--477. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Christopher Frost, Mike Mammarella, Eddie Kohler, Andrew de los Reyes, Shant Hovsepian, Andrew Matsuoka, and Lei Zhang. 2007. Generalized file system dependencies. In Proceedings of the 21st ACM SIGOPS Symposium on Operating Systems Principles (SOSP’07). ACM, New York, NY, 307--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Laura M. Grupp, John D. Davis, and Steven Swanson. 2012. The bleak future of NAND flash memory. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Aayush Gupta, Youngjae Kim, and Bhuvan Urgaonkar. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’09). ACM, New York, NY, 229--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Tyler Harter, Chris Dragga, Michael Vaughn, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2011. A file is not a file: Understanding the I/O behavior of Apple desktop applications. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP’11). ACM, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Dave Hitz, James Lau, and Michael Malcolm. 1994. File system design for an NFS file server appliance. In Proceedings of 1994 USENIX Winter Technical Conference. USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. William Jannen, Jun Yuan, Yang Zhan, Amogh Akshintala, John Esmet, Yizheng Jiao, Ankur Mittal, Prashant Pandey, Phaneendra Reddy, Leif Walsh, Michael Bender, Martin Farach-Colton, Rob Johnson, Bradley C. Kuszmaul, and Donald E. Porter. 2015. BetrFS: A right-optimized write-optimized file system. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15). USENIX Association, Santa Clara, CA, 301--315. https://www.usenix.org/conference/fast15/technical-sessions/presentation/jannen. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sooman Jeong, Kisung Lee, Seongjin Lee, Seoungbum Son, and Youjip Won. 2013. I/O stack optimization for smartphones. In Proceedings of 2013 USENIX Annual Technical Conference (USENIX ATC’13). USENIX, Berkeley, CA, 309--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. William K. Josephson, Lars A. Bongo, David Flynn, and Kai Li. 2010. DFS: A file system for virtualized flash storage. In Proceedings of the 8th USENIX Conference on File and Storage Technologies (FAST’10). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Hyojun Kim, Nitin Agrawal, and Cristian Ungureanu. 2012. Revisiting storage for smartphones. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Changman Lee, Dongho Sim, Jooyoung Hwang, and Sangyeun Cho. 2015. F2FS: A new file system for flash storage. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15). USENIX, Santa Clara, CA. https://www.usenix.org/conference/fast15/technical-sessions/presentation/lee. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Eunji Lee, Hyokyung Bahn, and Sam H. Noh. 2013. Unioning of the buffer cache and journaling layers with non-volatile memory. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’13). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Sungjin Lee, Ming Liu, Sangwoo Jun, Shuotao Xu, Jihong Kim, and Arvind. 2016. Application-managed flash. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST’16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Sang-Won Lee and Bongki Moon. 2007. Design of flash-based DBMS: An in-page logging approach. In Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data (SIGMOD’07). ACM, New York, NY, 55--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Siyang Li, Youyou Lu, Jiwu Shu, Yang Hu, and Tao Li. 2017. LocoFS: A loosely-coupled metadata service for distributed file systems. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC’17). ACM, New York, NY, Article 4, 12 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Lanyue Lu, Thanumalayan Sankaranarayana Pillai, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2016. WiscKey: Separating keys from values in SSD-conscious storage. In Proceedings of the 14th Usenix Conference on File and Storage Technologies (FAST’16). USENIX Association, Berkeley, CA, 133--148. http://dl.acm.org/citation.cfm?id=2930583.2930594. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Youyou Lu, Jiwu Shu, Jia Guo, and Peng Zhu. 2016. Supporting system consistency with differential transactions in flash-based SSDs. IEEE Trans. Comput. 65, 2 (2016), 627--639. to appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Youyou Lu, Jiwu Shu, and Long Sun. 2015. Blurred persistence in transactional persistent memory. In Proceedings of the 31st Conference on Massive Storage Systems and Technologies (MSST’15). IEEE, 1--13.Google ScholarGoogle ScholarCross RefCross Ref
  34. Youyou Lu, Jiwu Shu, Long Sun, and Onur Mutlu. 2014. Loose-ordering consistency for persistent memory. In Proceedings of the IEEE 32nd International Conference on Computer Design (ICCD’14). IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  35. Youyou Lu, Jiwu Shu, and Wei Wang. 2014. ReconFS: A reconstructable file system on flash storage. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST’14). USENIX, Berkeley, CA, 75--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Youyou Lu, Jiwu Shu, and Weimin Zheng. 2013. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’13). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Marshall K. McKusick, Gregory R. Ganger, et al. 1999. Soft updates: A technique for eliminating most synchronous writes in the fast filesystem. In Proceedings of 1999 USENIX Annual Technical Conference (FREENIX Track’99). USENIX, Berkeley, CA, 1--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Changwoo Min, Kangnyeon Kim, Hyunjin Cho, Sang-Won Lee, and Young Ik Eom. 2012. SFS: Random write considered harmful in solid state drives. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Edmund B. Nightingale, Kaushik Veeraraghavan, Peter M. Chen, and Jason Flinn. 2006. Rethink the sync. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI’06). USENIX, Berkeley, CA, 1--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Patrick O’Neil, Edward Cheng, Dieter Gawlick, and Elizabeth O’Neil. 1996. The log-structured merge-tree (LSM-tree). Acta Informatica 33, 4 (1996), 351--385. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Jiaxin Ou, Jiwu Shu, and Youyou Lu. 2016. A high performance file system for non-volatile main memory. In Proceedings of the 11th European Conference on Computer Systems. ACM, 12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Jian Ouyang, Shiding Lin, Song Jiang, Zhenyu Hou, Yong Wang, and Yuanzheng Wang. 2014. SDF: Software-defined flash for web-scale internet storage systems. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14). ACM, New York, NY, 471--484. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Stan Park, Terence Kelly, and Kai Shen. 2013. Failure-atomic msync (): A simple and efficient mechanism for preserving the integrity of durable data. In Proceedings of the 8th ACM European Conference on Computer Systems (EuroSys’13). ACM, 225--238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Steven Pelley, Peter M. Chen, and Thomas F. Wenisch. 2014. Memory persistency. In Proceedings of the 41st ACM/IEEE International Symposium on Computer Architecture (ISCA). 265--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Kai Ren and Garth A. Gibson. 2013. TABLEFS: Enhancing metadata efficiency in the local file system. In Proceedings of 2013 USENIX Annual Technical Conference (USENIX ATC). USENIX, Berkeley, CA, 145--156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Pradeep J. Shetty, Richard P. Spillane, Ravikant R. Malpani, Binesh Andrews, Justin Seyster, and Erez Zadok. 2013. Building workload-independent storage with VT-trees. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST). USENIX, Berkeley, CA, 17--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Stephen C. Tweedie. 1998. Journaling the Linux ext2fs filesystem. In Proceedings of the 4th Annual Linux Expo.Google ScholarGoogle Scholar
  48. Shivaram Venkataraman, Niraj Tolia, Parthasarathy Ranganathan, Roy H. Campbell, et al. 2011. Consistent and durable data structures for non-volatile byte-addressable memory. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST). USENIX, Berkeley, CA, 61--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Peng Wang, Guangyu Sun, Song Jiang, Jian Ouyang, Shiding Lin, Chen Zhang, and Jason Cong. 2014. An efficient design and implementation of LSM-tree based key-value store on open-channel SSD. In Proceedings of the 9th European Conference on Computer Systems (EuroSys). ACM, New York, NY, Article 16, 14 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Guanying Wu and Xubin He. 2012. Delta-FTL: Improving SSD lifetime via exploiting content locality. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys). ACM, 253--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Jian Xu and Steven Swanson. 2016. NOVA: A log-structured file system for hybrid volatile/non-volatile main memories. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST’16). 323--338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Jiacheng Zhang, Jiwu Shu, and Youyou Lu. 2016. ParaFS: A log-structured file system to exploit the internal parallelism of flash devices. In Proceedings of the 2016 USENIX Annual Technical Conference (USENIX ATC’16). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mitigating Synchronous I/O Overhead in File Systems on Open-Channel SSDs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Storage
        ACM Transactions on Storage  Volume 15, Issue 3
        August 2019
        173 pages
        ISSN:1553-3077
        EISSN:1553-3093
        DOI:10.1145/3336116
        • Editor:
        • Sam H. Noh
        Issue’s Table of Contents

        Copyright © 2019 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 31 May 2019
        • Accepted: 1 March 2019
        • Revised: 1 December 2018
        • Received: 1 May 2018
        Published in tos Volume 15, Issue 3

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!