Fragment reconstruction: providing global cache coherence in a transactional storage system

Cooperative caching is a promising technique to avoid the increasingly formidable disk bottleneck problem in distributed storage systems; it reduces the number of disk accesses by servicing client cache misses from the caches of other clients. However, existing cooperative caching techniques do not provide adequate support for fine grained sharing. We describe a new storage system architecture, split caching, and a new cache coherence protocol, fragment reconstruction, that combine cooperative caching with efficient support for fine grained sharing and transactions. We also present the results of performance studies that show that our scheme introduces little overhead over the basic cooperative caching mechanism and provides better performance when there is fine grained sharing.

[1]  Michael Dahlin,et al.  Cooperative caching: using remote client memory to improve file system performance , 1994, OSDI '94.

[2]  Robert Gruber,et al.  Efficient optimistic concurrency control using loosely synchronized clocks , 1995, SIGMOD '95.

[3]  John H. Hartman,et al.  Efficient cooperative caching using hints , 1996, OSDI '96.

[4]  Michael J. Carey,et al.  Fine-grained sharing in a page server OODBMS , 1994, SIGMOD '94.

[5]  M. Franklin,et al.  Global Memory Management in Client-Server DBMS Architectures , 1992 .

[6]  Robert E. Gruber,et al.  Optimism vs. locking: a study of concurrency control for client-server object-oriented databases , 1997 .

[7]  Liuba Shrira,et al.  Opportunistic log: efficient installation reads in a reliable storage server , 1994, OSDI '94.

[8]  Jeffrey S. Chase,et al.  Integrating coherency and recoverability in distributed systems , 1994, OSDI '94.

[9]  J. O'Toole,et al.  Shared data management needs adaptive methods , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[10]  Miron Livny,et al.  Global Memory Management in Client-Server Database Architectures , 1992, VLDB.

[11]  Willy Zwaenepoel,et al.  Techniques for reducing consistency-related communication in distributed shared-memory systems , 1995, TOCS.

[12]  Nick Roussopoulos,et al.  Performance and Scalability of Client-Server Database Architectures , 1992, VLDB.

[13]  Anoop Gupta,et al.  The directory-based cache coherence protocol for the DASH multiprocessor , 1990, ISCA '90.

[14]  Miron Livny,et al.  Data caching tradeoffs in client-server DBMS architectures , 1991, SIGMOD '91.

[15]  David J. DeWitt,et al.  The oo7 Benchmark , 1993, SIGMOD Conference.

[16]  Sanjay Ghemawat,et al.  The Modified Object Buffer: A Storage Management Technique for Object-Oriented Databases , 1995 .

[17]  Anna R. Karlin,et al.  Implementing global memory management in a workstation cluster , 1995, SOSP.

[18]  David J. DeWitt,et al.  A Status Report on the oo7 OODBMS Benchmarking Effort , 1994, OOPSLA.

[19]  Alan L. Cox,et al.  Lazy release consistency for software distributed shared memory , 1992, ISCA '92.

[20]  Thorsten von Eicken,et al.  U-Net: a user-level network interface for parallel and distributed computing , 1995, SOSP.

[21]  J. O'Toole,et al.  Opportunistic Log : Efficient Reads in a Reliable Object Server , 1994 .

[22]  Michael Dahlin,et al.  A quantitative analysis of cache policies for scalable network file systems , 1994, SIGMETRICS.

[23]  Miguel Castro,et al.  Safe and efficient sharing of persistent objects in Thor , 1996, SIGMOD '96.