FSMAC: A file system metadata accelerator with non-volatile memory

File system performance is dominated by metadata access because it is small and popular. Metadata is stored as block in the file system. Partial metadata update results in whole block read and write which amplifies disk I/O. Huge performance gap between CPU and disk aggravates this problem. In this paper, a file system metadata accelerator (referred as FSMAC) is proposed to optimize metadata access by efficiently exploiting the advantages of Nonvolatile Memory (NVM). FSMAC decouples data and metadata I/O path, putting data on disk and metadata on NVM at runtime. Thus, data is accessed in block from I/O bus and metadata is accessed in byte-addressable manner from memory bus. Metadata access is significantly accelerated and metadata I/O is eliminated because metadata in NVM is not flushed back to disk periodically anymore. A light-weight consistency mechanism combining fine-grained versioning and transaction is introduced in the FSMAC. The FSMAC is implemented on the basis of Linux Ext4 file system and intensively evaluated under different workloads. Evaluation results show that the FSMAC accelerates file system up to 49.2 times for synchronized I/O and 7.22 times for asynchronized I/O.

[1]  Christopher Frost,et al.  Better I/O through byte-addressable, persistent memory , 2009, SOSP '09.

[2]  Roy H. Campbell,et al.  Redesigning Data Structures for Non-Volatile Byte-Addressable Memory , 2010 .

[3]  R. Card,et al.  Design and Implementation of the Second Extended Filesystem , 2001 .

[4]  Eunji Lee,et al.  Shortcut-JFS: A write efficient journaling file system for phase change memory , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[5]  A. L. Narasimha Reddy,et al.  SCMFS: A file system for Storage Class Memory , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[6]  D. Andersen,et al.  Persistent , Protected and Cached : Building Blocks for Main Memory Data Stores , 2011 .

[7]  Angela Demke Brown,et al.  Recon: Verifying file system consistency at runtime , 2012, TOS.

[8]  David Flynn,et al.  DFS: A file system for virtualized flash storage , 2010, TOS.

[9]  Shih-Hung Chen,et al.  Phase-change random access memory: A scalable technology , 2008, IBM J. Res. Dev..

[10]  Jongmoo Choi,et al.  Exploiting non-volatile RAM to enhance flash file system performance , 2007, EMSOFT '07.

[11]  Thomas E. Anderson,et al.  A Comparison of File System Workloads , 2000, USENIX Annual Technical Conference, General Track.

[12]  Shankar Pasupathy,et al.  Measurement and Analysis of Large-Scale Network File System Workloads , 2008, USENIX Annual Technical Conference.

[13]  T. J. Kowalski,et al.  Fsck—the UNIX file system check program , 1990 .

[14]  Roy H. Campbell,et al.  Consistent and Durable Data Structures for Non-Volatile Byte-Addressable Memory , 2011, FAST.

[15]  Orion Hodson,et al.  Whole-system persistence , 2012, ASPLOS XVII.

[16]  Jaemin Jung,et al.  FRASH: Exploiting storage class memory in hybrid file system for hierarchical storage , 2010, TOS.

[17]  Nikolai Joukov,et al.  A nine year study of file system and storage benchmarking , 2008, TOS.

[18]  Stephen C. Tweedie,et al.  Journaling the Linux ext2fs Filesystem , 2008 .

[19]  Rajeev Nagar,et al.  Windows NT file system internals - a developer's guide: building NT file system drivers , 1997 .

[20]  Jacob R. Lorch,et al.  A five-year study of file-system metadata , 2007, TOS.

[21]  Geoffrey H. Kuenning,et al.  The Conquest file system: Better performance through a disk/persistent-RAM hybrid design , 2006, TOS.

[22]  Michael M. Swift,et al.  Mnemosyne: lightweight persistent memory , 2011, ASPLOS XVI.

[23]  Ethan L. Miller,et al.  Reliability mechanisms for file systems using non-volatile memory as a metadata store , 2006, EMSOFT '06.

[24]  Takayuki Kawahara,et al.  Scalable Spin-Transfer Torque RAM Technology for Normally-Off Computing , 2011, IEEE Design & Test of Computers.

[25]  Rajesh K. Gupta,et al.  NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories , 2011, ASPLOS XVI.

[26]  Wei Hu,et al.  Scalability in the XFS File System , 1996, USENIX Annual Technical Conference.

[27]  Andrea C. Arpaci-Dusseau,et al.  Consistency without ordering , 2012, FAST.