Propeller: A Scalable Metadata Organization for A Versatile Searchable File System

The exponentially increasing amount of data in file systems has made it increasingly important for file systems to provide fast file-search services. The quality of the file-search services is significantly affected by the file-index overhead, the file-search responsiveness and the accuracy of search results. Unfortunately, the existing file-search solutions either are so poorly scalable that their performance degrades unacceptably when the systems scale up, or incur so much crawling delays that they produce acceptably inaccurate results. We believe that the time is ripe for the re-designing of a searchable file system capable of accurate and scalable system-level file search. The main challenge facing the design and implementation of such a searchable file system is how to update file indices in a real-time and scalable way to obtain accurate file-search results. Thus we propose a lightweight and scalable metadata organization, Propeller, for the envisioned searchable file system. Propeller partitions the namespace according to file-access patterns, which exposes massive parallelism for the emerging manycore architecture to support future searchable file systems. The extensive evaluation results of our Propeller prototype show that it achieves significantly better file-indexing and file-search performance (up to 250×) than a centralized solution (MySQL) and only incurs negligible overhead (< 16%) to the normal file I/O operations and faster direct access performance (16.6×) on a state-ofthe-art file system (Ext4). Furthermore, the 100% recall accuracy ensures Propeller offering a feasible metadata scheme for the system-level file-search services.

[1]  David J. DeWitt,et al.  Scientific data management in the coming decade , 2005, SGMD.

[2]  Christopher Chute,et al.  The Diverse and Exploding Digital Universe , 2011 .

[3]  Hui Lei,et al.  An analytical approach to file prefetching , 1997 .

[4]  Sanjeev Kumar,et al.  Finding a Needle in Haystack: Facebook's Photo Storage , 2010, OSDI.

[5]  Yang Zhang,et al.  Corey: An Operating System for Many Cores , 2008, OSDI.

[6]  Michael Stonebraker,et al.  The End of an Architectural Era (It's Time for a Complete Rewrite) , 2007, VLDB.

[7]  Margo I. Seltzer,et al.  Hierarchical File Systems Are Dead , 2009, HotOS.

[8]  Anant Agarwal,et al.  Factored operating systems (fos): the case for a scalable operating system for multicores , 2009, OPSR.

[9]  J. Kubiatowicz,et al.  Resource Management in the Tessellation Manycore OS ∗ , 2010 .

[10]  Shankar Pasupathy,et al.  Spyglass: Fast, Scalable Metadata Search for Large-Scale Storage Systems , 2009, FAST.

[11]  Alexander S. Szalay,et al.  Just-in-Time Analytics on Large File Systems , 2011, IEEE Transactions on Computers.

[12]  Cici 将搜索延伸到桌面——Google Desktop Search , 2004 .

[13]  F. Tödtling,et al.  One size fits all?: Towards a differentiated regional innovation policy approach , 2005 .

[14]  Craig A. N. Soules,et al.  Connections: using context to enhance file search , 2005, SOSP '05.

[15]  Adrian Schüpbach,et al.  The multikernel: a new OS architecture for scalable multicore systems , 2009, SOSP '09.

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

[17]  Garth A. Gibson,et al.  Scale and Concurrency of GIGA+: File System Directories with Millions of Files , 2011, FAST.

[18]  Kai Ming Ting,et al.  Precision and Recall , 2017, Encyclopedia of Machine Learning and Data Mining.

[19]  Mark Russinovich,et al.  Windows® Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition , 2009 .

[20]  Bin Zhou,et al.  Scalable Performance of the Panasas Parallel File System , 2008, FAST.

[21]  Carlos Maltzahn,et al.  Ceph: a scalable, high-performance distributed file system , 2006, OSDI '06.

[22]  P. G. Neumann,et al.  A general-purpose file system for secondary storage , 1965, Published in AFIPS '65 (Fall, part I).

[23]  Hong Jiang,et al.  SAM: A Semantic-Aware Multi-tiered Source De-duplication Framework for Cloud Backup , 2010, 2010 39th International Conference on Parallel Processing.

[24]  Udi Manber,et al.  Integrating content-based access mechanisms with hierarchical file systems , 1999, OSDI '99.

[25]  Andrea C. Arpaci-Dusseau,et al.  Generating realistic impressions for file-system benchmarking , 2009, TOS.

[26]  Margo I. Seltzer,et al.  Passive NFS Tracing of Email and Research Workloads , 2003, FAST.

[27]  Daniel J. Abadi,et al.  Column-stores vs. row-stores: how different are they really? , 2008, SIGMOD Conference.

[28]  Pierre Jouvelot,et al.  Semantic file systems , 1991, SOSP '91.

[29]  Hong Jiang,et al.  SmartStore: a new metadata organization paradigm with semantic-awareness for next-generation file systems , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[30]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[31]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[32]  GhemawatSanjay,et al.  The Google file system , 2003 .

[33]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[34]  Robert Tappan Morris,et al.  An Analysis of Linux Scalability to Many Cores , 2010, OSDI.

[35]  Ophir Frieder,et al.  Hourly analysis of a very large topically categorized web query log , 2004, SIGIR '04.

[36]  Henrik Loeser,et al.  "One Size Fits All": An Idea Whose Time Has Come and Gone? , 2011, BTW.