Efficient Locking and Caching of Data in the Multisystem Shared Disks Transaction Environment

This paper describes a technique for use when multiple instances of a data base management system (DBMS), each with its own cache (buffer pool), can directly read and modify any data stored on a set of shared disks. Global locking and coherency control protocols are necessary in this context for assuring transaction consistency and for maintaining coherency of the data cached in the multiple caches. The coordination amongst the systems is performed by a set of local lock managers (LLMs) and a global lock manager (GLM). This typically involves sending messages. We describe a technique, called LP locking, which saves locking calls when the granularity of locking by transactions is the same as the granularity of caching by the cache manager. The savings are gained by making the LLMs hide from the GLM the distinction between a transaction lock, called the L lock, and a cache-ownership lock, called the P lock, for the same object. The L and P locks for an object, though distinct at an LLM, are known as a single lock at the GLM. An LLM can grant an L or P lock request on an object locally if the combined lock mode of the L and P locks already held on that object by that LLM is equal to or higher than the requested mode. Such optimizations save messages between the LLMs and the GLM. Our ideas apply also to the client-server environment which has become very popular in the OODBMS area and to the distributed shared memory environment.

[1]  Yun Wang,et al.  An efficient hybrid join algorithm: a DB2 prototype , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[2]  Donald J. Haderle,et al.  IBM Database 2 Overview , 1984, IBM Syst. J..

[3]  Nick Roussopoulos,et al.  Performance Comparison of Three Modern DBMS Architectures , 1993, IEEE Trans. Software Eng..

[4]  Irving L. Traiger,et al.  Granularity of locks in a shared data base , 1975, VLDB '75.

[5]  James Z. Teng,et al.  Managing IBM Database 2 Buffers to Maximize Performance , 1984, IBM Syst. J..

[6]  Inderpal Narang,et al.  Data base recovery in shared disks and client-server architectures , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[7]  M. Schkolnick,et al.  9th International Conference on Very Large Data Bases , 1983, Very Large Data Bases Conference.

[8]  Peter P. Uhrowczik,et al.  IMS/VS: An Evolving System , 1982, IBM Syst. J..

[9]  Jimmy P. Strickland,et al.  Log write-ahead protocols and IMS/VS logging , 1983, PODS '83.

[10]  Theo Harder,et al.  Handling hot spot data in DB-sharing systems , 1988 .

[11]  Thomas W. Scrutchin TPF: Performance, Capacity, Availability , 1987, COMPCON.

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

[13]  Erhard Rahm,et al.  Recovery concepts for data sharing systems , 1991, [1991] Digest of Papers. Fault-Tolerant Computing: The Twenty-First International Symposium.

[14]  Andreas Reuter Load control and load balancing in a shared database management system , 1986, 1986 IEEE Second International Conference on Data Engineering.

[15]  Kurt A. Shoens Data Sharing vs. Partitioning for Capacity and Availability , 1986, IEEE Database Eng. Bull..

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

[17]  Bill Nitzberg,et al.  Distributed shared memory: a survey of issues and algorithms , 1991, Computer.

[18]  Nancy P. Kronenberg,et al.  VAXcluster: a closely-coupled distributed system , 1986, TOCS.

[19]  C. Mohan,et al.  Single Table Access Using Multiple Indexes: Optimization, Execution, and Concurrency Control Techniques , 1990, EDBT.

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

[21]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

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

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

[24]  Alan Dearle,et al.  Cache Coherency and Storage Management in a Persistent Object System , 1990, POS.

[25]  Erhard Rahm,et al.  Primary copy synchronization for DB-Sharing , 1986, Inf. Syst..

[26]  Irving L. Traiger,et al.  Granularity of Locks and Degrees of Consistency in a Shared Data Base , 1998, IFIP Working Conference on Modelling in Data Base Management Systems.

[27]  Nick Roussopoulos,et al.  Modern client-server DBMS architectures , 1991, SGMD.

[28]  Philip S. Yu,et al.  Integrated Concurrency-Coherency Controls for Multisystem Data Sharing , 1989, IEEE Trans. Software Eng..