Hierarchical, Adaptive Cache Consistency in a Page Server OODBMS

Due to its simplicity and communication efficiency, many client-server object-oriented database systems are based on the basic page server architecture-pages serve as their smallest unit of data transfer, client caching, and concurrency control. In an earlier paper, we showed how to extend this architecture to permit object-level callback locking, and we showed through simulations that significant performance gains can be expected. In the current paper, we report on our experiences from implementing this approach in the context of the SHORE system. Since SHORE supports multiple lock granularities (volume, file, page, object), we explain how our callback algorithm can be extended to support multigranularity locking. We also discuss some of the stickier issues that arose as we moved our algorithm out of the simulator and into SHORE, which supports a generalized peer-servers architecture. Finally, we present performance measurements that explore the tradeoffs between page-level and object-level concurrency control. Our measurements were obtained by running SHORE on an IBM SP2 shared-nothing parallel machine.

[1]  David J. DeWitt,et al.  Shoring up persistent applications , 1994, SIGMOD '94.

[2]  David J. DeWitt,et al.  Storage management for objects in EXODUS , 1989 .

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

[4]  Alfons Kemper,et al.  Dual-Buffering Strategies in Object Bases , 1994, VLDB.

[5]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[6]  Michael J. Carey,et al.  A Concurrency Control Algorithm for Memory-Resident Database Systems , 1989, FODO.

[7]  Michael J. Carey,et al.  The Performance of Alternative Strategies for Dealing with Deadlocks in Database Management Systems , 1987, IEEE Transactions on Software Engineering.

[8]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

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

[10]  Ashok M. Joshi,et al.  Adaptive Locking Strategies in a Multi-node Data Sharing Environment , 1991, VLDB.

[11]  Y. C. Tay,et al.  Locking performance in centralized databases , 1985, TODS.

[12]  Michael J. Carey,et al.  Client-Server Caching Revisited , 1998, IWDOM.

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

[14]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[15]  Liuba Shrira,et al.  Hybrid Caching for Large-Scale Object Systems , 1994, POS.

[16]  Irving L. Traiger,et al.  System R: relational approach to database management , 1976, TODS.

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

[18]  Jack A. Orenstein,et al.  The ObjectStore database system , 1991, CACM.

[19]  Kevin Wilkinson,et al.  Maintaining Consistency of Client-Cached Data , 1990, VLDB.

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

[21]  Lawrence A. Rowe,et al.  Cache consistency and concurrency control in a client/server DBMS architecture , 1991, SIGMOD '91.

[22]  C. Mohan,et al.  Recovery and Coherency-Control Protocols for Fast Intersystem Page Transfer and Fine-Granularity Locking in a Shared Disks Transaction Environment , 1991, VLDB.

[23]  David J. DeWitt,et al.  A Study of Three Alternative Workstation-Server Architectures for Object Oriented Database Systems , 1990, VLDB.

[24]  R. G. G. Cattell,et al.  Object Data Management: Object-Oriented and Extended Relational Database Systems (Revised Edition) , 1991 .

[25]  David J. DeWitt,et al.  Implementing crash recovery in QuickStore: a performance study , 1995, SIGMOD '95.

[26]  Michael J. Carey,et al.  Adaptive, fine-grained sharing in a client-server OODBMS: a callback-based approach , 1997, TODS.