H2Cloud: Maintaining the Whole Filesystem in an Object Storage Cloud

Object storage clouds (e.g., Amazon S3) have become extremely popular due to their highly usable interface and cost-effectiveness. They are, therefore, widely used by various applications (e.g., Dropbox) to host user data. However, because object storage clouds are flat and lack the concept of a directory, it becomes necessary to maintain file meta-data and directory structure in a separate index cloud. This paper investigates the possibility of using a single object storage cloud to efficiently host the whole filesystem for users, including both the file content and directories, while avoiding meta-data loss caused by index cloud failures. We design a novel data structure, Hierarchical Hash (or H2), to natively enable the efficient mapping from filesystem operations to object-level operations. Based on H2, we implement a prototype system, H2Cloud, that can maintain large filesystems of users in an object storage cloud and support fast directory operations. Both theoretical analysis and real-world experiments confirm the efficacy of our solution: H2Cloud achieves faster directory operations than OpenStack Swift by orders of magnitude, and has similar performance to Dropbox but yet does not need a separate index cloud.

[1]  Kui Ren,et al.  On the synchronization bottleneck of OpenStack Swift-like cloud storage systems , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[2]  Sean Quinlan,et al.  Venti: A New Approach to Archival Storage , 2002, FAST.

[3]  Scott A. Brandt,et al.  Dynamic Metadata Management for Petabyte-Scale File Systems , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

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

[5]  ZhangQin,et al.  Memory-Efficient and Ultra-Fast Network Lookup and Forwarding Using Othello Hashing , 2018 .

[6]  Nicholas Mills,et al.  OrangeFS : Advancing PVFS , 2011 .

[7]  Mahadev Satyanarayanan,et al.  Coda: A Highly Available File System for a Distributed Workstation Environment , 1990, IEEE Trans. Computers.

[8]  Andrea C. Arpaci-Dusseau,et al.  ViewBox: integrating local file systems with cloud storage services , 2014, FAST.

[9]  Rich Salz,et al.  A Universally Unique IDentifier (UUID) URN Namespace , 2005, RFC.

[10]  Bruce J. Walker,et al.  The LOCUS Distributed System Architecture , 1986 .

[11]  Eugenio Cesario,et al.  The XtreemFS architecture—a case for object‐based file systems in Grids , 2008, Concurr. Comput. Pract. Exp..

[12]  Mahadev Satyanarayanan,et al.  Opportunistic Use of Content Addressable Storage for Distributed File Systems , 2003, USENIX Annual Technical Conference, General Track.

[13]  Yunhao Liu,et al.  Towards Network-level Efficiency for Cloud Storage Services , 2014, Internet Measurement Conference.

[14]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM '01.

[15]  Daniel J. Abadi,et al.  CalvinFS: Consistent WAN Replication and Scalable Metadata Management for Distributed File Systems , 2015, FAST.

[16]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[17]  Yuxiang Chen,et al.  Scaling Namespace Operations with Giraffa File System , 2017, login Usenix Mag..

[18]  Leslie Lamport,et al.  Paxos Made Simple , 2001 .

[19]  Hairong Kuang,et al.  The Hadoop Distributed File System , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[20]  Carl Smith,et al.  NFS Version 3: Design and Implementation , 1994, USENIX Summer.

[21]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

[22]  Cory Hill,et al.  f4: Facebook's Warm BLOB Storage System , 2014, OSDI.

[23]  Scott Shenker,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[24]  Ben Y. Zhao,et al.  Efficient Batched Synchronization in Dropbox-Like Cloud Storage Services , 2013, Middleware.

[25]  John H. Howard,et al.  On Overview of the Andrew File System , 1988, USENIX Winter.

[26]  Feng Wang,et al.  On the impact of virtualization on Dropbox-like cloud file storage/synchronization services , 2012, 2012 IEEE 20th International Workshop on Quality of Service.

[27]  Dan Feng,et al.  Using provenance to efficiently improve metadata searching performance in storage systems , 2015, Future Gener. Comput. Syst..

[28]  Miguel Correia,et al.  SCFS: A Shared Cloud-backed File System , 2014, USENIX Annual Technical Conference.

[29]  Michael Vrable,et al.  BlueSky: a cloud-backed file system for the enterprise , 2012, FAST.

[30]  Aiko Pras,et al.  Inside dropbox: understanding personal cloud storage services , 2012, Internet Measurement Conference.

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

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

[33]  C. Mohan,et al.  Are we experiencing a big data bubble? , 2014, SIGMOD Conference.

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

[35]  Valerio Schiavoni,et al.  GlobalFS: A Strongly Consistent Multi-site File System , 2016, 2016 IEEE 35th Symposium on Reliable Distributed Systems (SRDS).

[36]  Scott A. Brandt,et al.  Efficient metadata management in large distributed storage systems , 2003, 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies, 2003. (MSST 2003). Proceedings..

[37]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[38]  Andrea C. Arpaci-Dusseau,et al.  All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications , 2014, OSDI.

[39]  Hong Jiang,et al.  Semantic-Aware Metadata Organization Paradigm in Next-Generation File Systems , 2012, IEEE Transactions on Parallel and Distributed Systems.

[40]  Aleksey Pesterev,et al.  Fast, Inexpensive Content-Addressed Storage in Foundation , 2008, USENIX Annual Technical Conference.

[41]  Seif Haridi,et al.  HopsFS: Scaling Hierarchical File System Metadata Using NewSQL Databases , 2016, FAST.

[42]  Qin Zhang,et al.  Memory-Efficient and Ultra-Fast Network Lookup and Forwarding Using Othello Hashing , 2016, IEEE/ACM Transactions on Networking.

[43]  Michael Vrable,et al.  Cumulus: Filesystem backup to the cloud , 2009, TOS.

[44]  Brian Beach Simple Storage Service , 2014 .

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

[46]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[47]  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.