File system virtualization and service for grid data management

Large-scale distributed computing systems, such as computational grids, aggregate computing and storage resources from multiple organizations to foster collaborations and facilitate problem solving through shared access to large volumes of data and high-performance machines. Data management in these systems is particularly challenging because of the heterogeneity, dynamism, size, and distribution of such grid-style environments. This dissertation address these challenges with a two-level data management system, in which file system virtualization provides application-tailored grid-wide data access, and service-based middleware enables autonomic management of the data provisioning. The diversity of applications and resources requires a data provisioning solution that can be transparently deployed, whereas the dynamic, wide-area environments necessitate tailored optimizations for data access. To achieve these goals, this dissertation proposes grid-wide virtual file systems (GVFS), a novel approach that virtualizes existing kernel distributed file systems (NFS) with user-level proxies, and provides transparent cross-domain data access to applications. User-level enhancements designed for grid-style environments are provided upon the virtualization layer in GVFS, including: customizable disk caching and multithreading for high-performance data access, efficient consistency protocols for application-desired data coherence, strong and grid-compatible security for secure grid-wide data access, and reliability protocols supporting application-transparent failure detection and recovery. Based on GVFS, data sessions can be created on demand on a per-application basis, where each session can apply and configure these enhancements independently. The second level of the proposed data management system addresses the problems of managing data provisioning in a large, dynamic system: how to control the data access for many applications based on their needs, and how to optimize it automatically according to high-level objectives. It proposes service-based middleware to manage the life-cycles and configurations of dynamic GVFS sessions. These data management services are able to exploit application knowledge to flexibly customize data sessions, and support interoperability with other middleware based on Web Service Resource Framework. In order to further reduce the complexity of managing data sessions and adapt them promptly to changing environments, an autonomic data management system is built by evolving these services into self-managing elements. Autonomic functions are integrated into the services to provide goal-driven automatic control of GVFS sessions on the aspects including cache configuration, data replication, and session redirection. A prototype of the proposed system is evaluated with a series of experiments based on file system benchmarks and typical grid applications. The results demonstrate that GVFS can transparently enable on-demand grid-wide data access with application-tailored enhancements; the proposed enhancements can achieve strong cache consistency, security, and reliability, as well as substantially outperform traditional DFS approaches (NFS) in wide-area networks; the autonomic services support flexible and dynamic management of GVFS sessions, and can also automatically optimize them on performance and reliability in the presence of changing resource availability.

[1]  Peter A. Dinda,et al.  Modeling and taming parallel TCP on the wide area network , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[2]  Monica S. Lam,et al.  The collective: a cache-based system management architecture , 2005, NSDI.

[3]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[4]  David E. Culler,et al.  PlanetLab: an overlay testbed for broad-coverage services , 2003, CCRV.

[5]  Renato J. O. Figueiredo,et al.  Grid-computing portals and security issues , 2003, J. Parallel Distributed Comput..

[6]  Xiaomin Zhu,et al.  From virtualized resources to virtual computing grids: the In-VIGO system , 2005, Future Gener. Comput. Syst..

[7]  Renato J. O. Figueiredo,et al.  ROW-FS: A User-Level Virtualized Redirect-on-Write Distributed File System for Wide Area Applications , 2007, HiPC.

[8]  Stephen P. Morgan,et al.  Clockwork: A new movement in autonomic systems , 2003, IBM Syst. J..

[9]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[10]  David Mazières,et al.  Fast and secure distributed read-only file system , 2000, TOCS.

[11]  Mahadev Satyanarayanan,et al.  Internet suspend/resume , 2002, Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.

[12]  E. S. Gardner EXPONENTIAL SMOOTHING: THE STATE OF THE ART, PART II , 2006 .

[13]  M. Bozyigit,et al.  User-level process checkpoint and restore for migration , 2001, OPSR.

[14]  Robert P. Goldberg,et al.  Survey of virtual machine research , 1974, Computer.

[15]  Lin Ling,et al.  RPCSEC_GSS Protocol Specification , 1997, RFC.

[16]  Warren Smith,et al.  A Resource Management Architecture for Metacomputing Systems , 1998, JSSPP.

[17]  Ian T. Foster,et al.  The Anatomy of the Grid: Enabling Scalable Virtual Organizations , 2001, Int. J. High Perform. Comput. Appl..

[18]  Andrea C. Arpaci-Dusseau,et al.  Explicit Control in the Batch-Aware Distributed File System , 2004, NSDI.

[19]  Peter J. Braam,et al.  The Coda Distributed File System , 1998 .

[20]  Renato J. O. Figueiredo,et al.  Supporting application-tailored grid file system sessions with WSRF-based services , 2005, HPDC-14. Proceedings. 14th IEEE International Symposium on High Performance Distributed Computing, 2005..

[21]  Ian T. Foster,et al.  GASS: a data movement and access service for wide area computing systems , 1999, IOPADS '99.

[22]  Douglas Thain,et al.  Parrot: Transparent User-Level Middleware for Data-Intensive Computing , 2005, Scalable Comput. Pract. Exp..

[23]  Ian T. Foster,et al.  A community authorization service for group collaboration , 2002, Proceedings Third International Workshop on Policies for Distributed Systems and Networks.

[24]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[25]  Renato J. O. Figueiredo,et al.  VMPlants: Providing and Managing Virtual Machine Execution Environments for Grid Computing , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[26]  Tim Dierks,et al.  The Transport Layer Security (TLS) Protocol Version 1.2 , 2008 .

[27]  Matt Blaze,et al.  A cryptographic file system for UNIX , 1993, CCS '93.

[28]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[29]  José A. B. Fortes,et al.  PUNCH: An architecture for Web-enabled wide-area network-computing , 2004, Cluster Computing.

[30]  Mike Eisler,et al.  LIPKEY - A Low Infrastructure Public Key Mechanism Using SPKM , 2000, RFC.

[31]  Douglas Thain,et al.  The Kangaroo approach to data movement on the Grid , 2001, Proceedings 10th IEEE International Symposium on High Performance Distributed Computing.

[32]  Jacob R. Lorch,et al.  Farsite: federated, available, and reliable storage for an incompletely trusted environment , 2002, OSDI '02.

[33]  Antony I. T. Rowstron,et al.  Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility , 2001, SOSP.

[34]  Andrew S. Grimshaw,et al.  LegionFS: A Secure and Scalable File System Supporting Cross-Domain High-Performance Applications , 2001, International Conference on Software Composition.

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

[36]  Ian T. Foster,et al.  Security for Grid services , 2003, High Performance Distributed Computing, 2003. Proceedings. 12th IEEE International Symposium on.

[37]  Joan Daemen,et al.  AES Proposal : Rijndael , 1998 .

[38]  Rodney Thayer,et al.  A Stream Cipher Encryption Algorithm 'Arcfour' , 1999 .

[39]  Jeff Dike,et al.  A user-mode port of the Linux kernel , 2000, Annual Linux Showcase & Conference.

[40]  Chen Ding,et al.  Miss rate prediction across all program inputs , 2003, 2003 12th International Conference on Parallel Architectures and Compilation Techniques.

[41]  David Mazières,et al.  Decentralized user authentication in a global file system , 2003, SOSP '03.

[42]  Alan O. Freier,et al.  The SSL Protocol Version 3.0 , 1996 .

[43]  Ben Y. Zhao,et al.  Pond: The OceanStore Prototype , 2003, FAST.

[44]  Gilles Muller,et al.  FT-NFS: an efficient fault-tolerant NFS server designed for off-the-shelf workstations , 1996, Proceedings of Annual Symposium on Fault Tolerant Computing.

[45]  Ben Y. Zhao,et al.  OceanStore: an architecture for global-scale persistent storage , 2000, SIGP.

[46]  P. Honeyman,et al.  GridNFS: global storage for global collaborations , 2005, 2005 IEEE International Symposium on Mass Storage Systems and Technology.

[47]  Renato J. O. Figueiredo,et al.  On the Use of Virtualization and Service Technologies to Enable Grid-Computing , 2005, Euro-Par.

[48]  Beng-Hong Lim,et al.  Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor , 2001, USENIX Annual Technical Conference, General Track.

[49]  Paul J. Leach,et al.  A Common Internet File System (CIFS/1.0) Protocol , 1998 .

[50]  Ming Zhao,et al.  Proxy Managed Client-Side Disk Caching for the Virtual File System , 2004 .

[51]  Amin Vahdat,et al.  Consistent and automatic replica regeneration , 2004, TOS.

[52]  Carl Kesselman,et al.  Wide area data replication for scientific collaborations , 2005, Int. J. High Perform. Comput. Netw..

[53]  Marty Humphrey,et al.  From Legion to Legion-G to OGSI.NET: object-based computing for Grids , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[54]  Mark Carson,et al.  NIST Net: a Linux-based network emulation tool , 2003, CCRV.

[55]  Jing Xu,et al.  Towards Autonomic Virtual Applications in the In-VIGO System , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[56]  Hugh Garraway Parallel Computer Architecture: A Hardware/Software Approach , 1999, IEEE Concurrency.

[57]  Renato J. O. Figueiredo,et al.  Single sign-on in In-VIGO: role-based access via delegation mechanisms using short-lived user identities , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[58]  J. Howard Et El,et al.  Scale and performance in a distributed file system , 1988 .

[59]  Chris J. Scheiman,et al.  UFO: a personal global file system based on user-level extensions to the operating system , 1998, TOCS.

[60]  John Linn,et al.  Generic Security Service Application Program Interface , 1993, RFC.

[61]  David Brumley,et al.  Virtual Appliances for Deploying and Maintaining Software , 2003, LISA.

[62]  Ian T. Foster,et al.  Condor-G: A Computation Management Agent for Multi-Institutional Grids , 2004, Cluster Computing.

[63]  David Mazières,et al.  Separating key management from file system security , 1999, SOSP.

[64]  M. Rosenblum,et al.  Optimizing the migration of virtual computers , 2002, OSDI '02.

[65]  Aamer Sachedina,et al.  Policy-Based Autonomic Storage Allocation , 2003, DSOM.

[66]  Renato J. O. Figueiredo,et al.  Enhancing the scalability and usability of computational grids via logical user accounts and virtual file systems , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[67]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[68]  Andrew Warfield,et al.  Xen and the art of virtualization , 2003, SOSP '03.

[69]  Andrew S. Grimshaw,et al.  A Flexible Security System for Metacomputing Environments , 1999, HPCN Europe.

[70]  Gustavo Alonso,et al.  GlobeDB: autonomic data replication for web applications , 2005, WWW '05.

[71]  Renato J. O. Figueiredo,et al.  Seamless Access to Decentralized Storage Services in Computational Grids via a Virtual File System , 2004, Cluster Computing.

[72]  Renato J. O. Figueiredo,et al.  A case for grid computing on virtual machines , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[73]  Miron Livny,et al.  A framework for self-optimizing, fault-tolerant, high performance bulk data transfers in a heterogeneous grid environment , 2003, Second International Symposium on Parallel and Distributed Computing, 2003. Proceedings..

[74]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[75]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[76]  Andrea C. Arpaci-Dusseau,et al.  Flexibility, manageability, and performance in a Grid storage appliance , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[77]  Wu-chun Feng,et al.  The Failure of TCP in High-Performance Computational Grids , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[78]  John Linn,et al.  The Kerberos Version 5 GSS-API Mechanism , 1996, RFC.

[79]  Masami Hagiya,et al.  UML Scrapbook and Realization of Snapshot Programming Environment , 2003, ISSS.

[80]  Michael N. Nelson,et al.  Caching in the Sprite network file system , 1988, TOCS.

[81]  Sugih Jamin,et al.  RTTometer: measuring path minimum RTT with confidence , 2003, Proceedings of the 3rd IEEE Workshop on IP Operations & Management (IPOM 2003) (IEEE Cat. No.03EX764).

[82]  Richard Wolski,et al.  Dynamically forecasting network performance using the Network Weather Service , 1998, Cluster Computing.

[83]  Steven Tuecke,et al.  The Physiology of the Grid An Open Grid Services Architecture for Distributed Systems Integration , 2002 .

[84]  Jeffrey O. Kephart,et al.  An architectural approach to autonomic computing , 2004 .

[85]  Rick Macklem,et al.  Not Quite NFS, Soft Cache Consistency for NFS , 1994, USENIX Winter.

[86]  Renato J. O. Figueiredo,et al.  Support for data-intensive, variable-granularity grid applications via distributed file system virtualization - a case study of light scattering spectroscopy , 2004, Proceedings of the Second International Workshop on Challenges of Large Applications in Distributed Environments, 2004. CLADE 2004..

[87]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[88]  Marty Humphrey,et al.  Exploiting WSRF and WSRF.NET for remote job execution in grid environments , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[89]  Jeffrey C. Mogul,et al.  Spritely NFS: experiments with cache-consistency protocols , 1989, SOSP '89.

[90]  Ian T. Foster,et al.  Secure, Efficient Data Transport and Replica Management for High-Performance Data-Intensive Computing , 2001, 2001 Eighteenth IEEE Symposium on Mass Storage Systems and Technologies.

[91]  Renato J. O. Figueiredo,et al.  Distributed file system support for virtual machines in grid computing , 2004, Proceedings. 13th IEEE International Symposium on High performance Distributed Computing, 2004..

[92]  Magnus Karlsson,et al.  Taming aggressive replication in the Pangaea wide-area file system , 2002, OPSR.

[93]  Miron Livny,et al.  Checkpoint and Migration of UNIX Processes in the Condor Distributed Processing System , 1997 .

[94]  Balachander Krishnamurthy,et al.  Study of Piggyback Cache Validation for Proxy Caches in the World Wide Web , 1997, USENIX Symposium on Internet Technologies and Systems.

[95]  Brent Callaghan,et al.  NFS Illustrated , 1999 .

[96]  Andrew S. Grimshaw,et al.  Wide-Area Computing: Resource Sharing on a Large Scale , 1999, Computer.

[97]  Amin Vahdat,et al.  Interposed request routing for scalable network storage , 2000, TOCS.