Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Adaptive, fine-grained sharing in a client-server OODBMS: a callback-based approach

Published: 01 December 1997 Publication History

Abstract

For reasons of simplicity and communication efficiency, a number of existing object-oriented database management systems are based on page server architectures; data pages are their minimum unit of transfer and client caching. Despite their efficiency, page servers are often criticized as being too retrictive when it comes to concurrency, as existing systems use pages as the minimum locking unit as well. In this paper we show how to support object-level locking in a page-server context. Several approaches are described, including an adaptive granularity approach that uses page-level locking for most pages but switches to object-level locking when finer-grained sharing is demanded. Each of the approaches is based on extending the idea of callback locking. We study the performance of these approaches, comparing them to both a pure page server and a pure object server. For the range of workload that we have examined, our results indicate that the adaptive page server provides very good performance, usually outperforming the pure page server and the other page-server variants as well. In addition, the adaptive page server is often preferable to the pure object server; our results provides insight into when each approach is likely to perform better.

References

[1]
ADYA, A., GRUBER, R., LISKOV, B., AND MAHESHWARI, U. 1995. Efficient optimistic concurrency control using loosely synchronized clocks. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data (San Jose, CA, May 23-25, 1995). M. Carey and D. Schneider, Eds. ACM Press, New York, NY, 23-34.]]
[2]
ASTRAHAN, M., ET AL. 1976. System R: Relational approach to database management. A CM Trans. Database Syst. 1, 2.]]
[3]
BUTTERWORTH, P., OTIS, A., AND STEIN, J. 1991. The GemStone object database management system. Commun. ACM 34, 10 (Oct.), 64-77.]]
[4]
CARLY, M., DEWITT, D., AND NAUGHTON, J. 1993. The 007 benchmark. In Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data (Washington, DC, May 26-28, 1993). P. Buneman and S. Jajodia, Eds. ACM Press, New York, NY.]]
[5]
CARLY, M, FRANKLIN, M., LIVNY, M., AND SHEKITA, E. 1991. Data caching tradeoffs in client-server dbms architectures. In Proceedings of the 1991 ACM SIGMOD International Conference on Management of Data (Denver, CO, May 29-31, 1991). J. Clifford and R. King, Eds. ACM Press, New York, NY.]]
[6]
CARLY, M., FRANKLIN, M., AND ZAHARIOUDAKIS, M. 1994. Fine-grained sharing in a page server oodbms. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data (Minneapolis, MN, May 24-27, 1994). R. T. Snodgrass and M. Winslett, Eds. ACM Press, New York, NY.]]
[7]
CARLY, M. ET. AL. 1994. Shoring up persistent applications. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data (Minneapolis, MN, May 24-27, 1994). R. T. Snodgrass and M. Winslett, Eds. ACM Press, New York, NY.]]
[8]
CATTELL, R. 1991. Object Data Management. Addison-Wesley Publishing Co., Reading, MA.]]
[9]
CATTELL, R. AND SKEEN, J. 1992. Object operations benchmark. ACM Trans. Database Syst. 17, 1 (Mar.), 1-31.]]
[10]
CHU, S. I. AND WINSLETT, M. 1994. Minipage locking support for page-server database management systems. In Proceedings of the Third International Conference on Information and Knowledge Management (Gaithersburg, MD, Nov. 29-Dec. 2, 1994). N. R. Adam, B. K. Bhargava, and Y. Yesha, Eds. ACM Press, New York, NY.]]
[11]
DEUX, O. 1991. The 02 system. Commun. ACM 34, 10 (Oct.), 34-48.]]
[12]
DEWITT, D., FUTTERSACK, P., MAIER, D, AND VELEZ, F 1990. A study of three alternative workstation-server architectures for object-oriented database systems. In Proceedings of the 16th Conference on Very Large Data Bases (Brisbane, Australia). VLDB Endowment, Berkeley, CA.]]
[13]
EXODUS PROJECT GROUP 1993. EXODUS Storage Manager Architectural Overview. Tech. Rep., Computer Science Department, University of Wisconsin-Madison. ftp://ftp.cs. wisc.edu / exodus /sm / doc / arch_overview.3. O.ps.]]
[14]
FRANKLIN, M. 1996. Client Data Caching: A Foundation for High Performance Object Database Systems. Kluwer Academic Publishers, Hingham, MA.]]
[15]
FRANKLIN, M AND CAREY, M 1992. Client-server caching revisited. In Proceedings of the International Workshop on Distributed Object Management (Edmonton, Canada, August 1992).]]
[16]
FRANKLIN, M 1992. Crash recovery in client-server EXODUS. In Proceedings of the ACM SIGMOD Conference on Management of Data (San Diego, CA, June 2-5, 1992). M. Stonebraker, Ed. ACM Press, New York, NY.]]
[17]
GRAY, J. 1979. Operating Systems: An Advanced Course. Springer-Verlag, Berlin, Germany.]]
[18]
HOWARD, J. H., KAZAR, M. L., MENEES, S. G., NICHOLS, D. A., SATYANARAYANAN, M., SIDEBOTHAM, R. N., AND WEST, M.J. 1988. Scale and performance in a distributed file system. ACM Trans. Comput. Syst. 6, 1 (Feb.), 51-81.]]
[19]
JOSHI, A. 1991. Adaptive locking strategies in a multi-node data sharing system. In Proceedings of the 17th Conference on Very Large Data Bases (Barcelona, Spain, Sept.). VLDB Endowment, Berkeley, CA.]]
[20]
KEMPER, A AND KOSSMANN, D. 1994. Dual-buffering strategies in object bases. In Proceedings of the 20th Conference on Very Large Data Bases (Santiago, Chile, Sept.). VLDB Endowment, Berkeley, CA.]]
[21]
KIM, W. E. AL. 1990. The architecture of the Orion next-generation database system. IEEE Trans. Knowl. Data Eng. 2, 1.]]
[22]
LAMB, C., LANDIS, G., ORENSTEIN, J., AND WEINREB, D. 1991. The ObjectStore database system. Commun. ACM 34, 10 (Oct.), 50-63.]]
[23]
LEHMAN, T. AND CAREY, M. 1989. A concurrency control algorithm for memory-resident database systems. In Proceedings of the Third International FODO Conference (Paris, France).]]
[24]
LI, K. AND HUDAK, P. 1989. Memory coherence in shared virtual memory systems. ACM Trans. Database Syst. 7, 4 (Dec.).]]
[25]
LIVNY, M. 1988. DeNet User's Guide. University of Wisconsin at Madison, Madison, WI.]]
[26]
MOHAN, C. AND NARANG, I. 1991. Recovery and coherency-control protocols for fast intersystem page transfer and fine-granularity locking in a shared disks transaction environment. In Proceedings of the 17th Conference on Very Large Data Bases (Barcelona, Spain, Sept.). VLDB Endowment, Berkeley, CA.]]
[27]
MOHAN, C. AND NARANG, I. 1994. ARIES/CSA: A method for database recovery in clientserver architectures. SIGMOD Rec. 23, 2 (June), 55-66.]]
[28]
MOHAN, C., HADERLE, D., LINDSAY, B., PIRAHESH, H., AND SCHWARZ, P. 1992. ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst. 17, 1 (Mar.), 94-162.]]
[29]
OBJECTIVITY INC. 1991. Objectivity/DB Documentation V.1. Objectivity Inc, New York, NY.]]
[30]
ONTOS INC. 1992. ONTOS DB 2.2 Reference Manual. ONTOS, Inc., Lowell, MA.]]
[31]
RAHM, E. 1991. Concurrency and coherency control in database sharing systems. Tech. Rep. University of Kaiserlautern.]]
[32]
RAHM, E. 1993. Empirical performance evaluation of concurrency and coherency control protocols for database sharing systems. ACM Trans. Database Syst. 18, 2 (June), 333-377.]]
[33]
TAY, Y. C., GOODMAN, N., AND SURI, R. 1985. Locking performance in centralized databases. ACM Trans. Database Syst. 10, 4 (Dec.), 415-462.]]
[34]
TOOLE, J. O. AND SHRIRA, L. 1995. Hybrid caching for large scale object systems. In Proceedings of the Sixth Workshop on Persistent Object Systems (Tarascon, France, Sept. 5-9, 1994). M. P. Atkinson, D. Maier, and V. Benzaken, Eds. Springer-Verlag, New York, NY.]]
[35]
TOOLE, J. O. AND SHRIRA, L. 1994. Oportunistic log: Efficient installation reads in a reliable storage server. In Proceedings of the First USENIX Symposium on Operating Systems Design and Implementation (Monterey, CA). USENIX Association, Berkeley, CA.]]
[36]
VERSANT OBJECT TECHNOLOGY 1991. VERSANT System Reference Manual, Release 1.6. Versant Object Technology, Menlo Park, CA.]]
[37]
WANG, Y. AND ROWE, L.A. 1991. Cache consistency and concurrency control in a client/ server DBMS architecture. SIGMOD Rec. 20, 2 (June), 367-376.]]
[38]
WHITE, S. J. AND DEWITT, D. J. 1995. Implementing crash recovery in QuickStore: A performance study. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data (San Jose, CA, May 23-25, 1995). M. Carey and D. Schneider, Eds. ACM Press, New York, NY, 187-198.]]
[39]
WILKINSON, W. AND NEIMAT, M. 1990. Maintaining consistency of client cached data. In Proceedings of the 16th Conference on Very Large Data Bases (Brisbane, Australia). VLDB Endowment, Berkeley, CA.]]
[40]
ZAHARIOUDAKIS, M. 1997. Highly concurrent cache consistency for object-oriented database systems. Ph.D dissertation, University of Wisconsin, Madison. http://www.cs.wisc.edu/ -markos / markos / html.]]
[41]
ZAHARIOUDAKIS, M. AND CAREY, M.J. 1997. Hierarchical, adaptive cache consistency in a page server OODBMS:Implementation and performance results. In Proceedings of the 1997 International Conference on Distributed Computing Systems (Baltimore, MD, May 27-30, 1997). IEEE Computer Society Press, Los Alamitos, CA.]]

Cited By

View all

Recommendations

Reviews

Felipe Carino

The authors expand on their previous work on concurrency control for OODBMSs and cite all the significant related work. The idea is to propose, evaluate, and model adaptive concurrency control approaches. The authors use and study adaptive fine-grained locking options for client/server OODBMSs. They study the performance of diverse locking granularities at the page and object levels; they also deal with consistency (using a callback scheme). The paper states that, for reasons of simplicity and communications efficiency, a number of OODBMSs use page server architectures (where the data page is the minimum unit of transfer and client caching). Despite their efficiency, page servers are often criticized as being too restrictive when it comes to concurrency, because they use pages as the minimum locking unit as well. The paper shows how to support object-level locking in a page server context. Several approaches are described, including an adaptive granularity approach that uses page-level locking for most pages but switches to object-level locking when finer-grained sharing is demanded. Each of these approaches is based on extending the idea of callback locking. OODBMSs phrase requests in terms of objects. They store objects in units of pages and manage them in terms of data pages. The data shipping approach can manage object-to-page mapping at different granularity levels. The two client/server approaches analyzed in the paper are page server and object server. The final context points are client cache consistency and cache consistency maintenance protocols to ensure a consistent view of the database. This paper extends some of the authors' previous work, where they claim to have demonstrated that page servers can support fine-grained data sharing. An adaptive locking algorithm and a lock de-escalation technique that works in the context of hierarchy lock granularities are presented. The latter uses coarse locks that de-escalate into fine-grained locks (for example, pages or records). The granularity issues are client/server data transfer, concurrency control, and replica management. Client-server data transfer deals with client requests to servers. Concurrency control, or locking, involves multilevel (multiuser) requests. Coarse granular locks have less overhead, but can lead to false sharing and thus to conflicts. Replica management (callbacks) involves intertransaction issues, including caching copies of the data. It requires both replica management and locking. The paper proposes that dynamic adaptive approaches can result in performance gains. The key contribution of this paper is that it defines five approaches and analyzes their performance based on the three granularity criteria. The authors provide a comprehensive description of each and thoroughly describe the modeling and results. The approaches analyzed and modeled in the paper are object server; page server; page server with object locking with object callbacks; page server with object locking with adaptive callbacks; and page server with adaptive locking with adaptive callbacks. This excellent reference paper is required reading for those who work with, research, and develop OODBMSs. It provides a formal framework by which to understand the intuitive results. The modeling results also provide new insights into locking strategies for this genre of OODBMS applications.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Database Systems
ACM Transactions on Database Systems  Volume 22, Issue 4
Dec. 1997
157 pages
ISSN:0362-5915
EISSN:1557-4644
DOI:10.1145/278245
  • Editor:
  • Won Kim
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1997
Published in TODS Volume 22, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. cache coherency
  2. cache consistency
  3. client-server databased
  4. fine-grained sharing
  5. object-oriented databases
  6. performance analysis

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)48
  • Downloads (Last 6 weeks)6
Reflects downloads up to 07 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Advanced Locking ProtocolsTransaction Processing10.1007/978-3-319-12292-2_9(221-236)Online publication date: 16-Nov-2014
  • (2014)B-Tree Structure ModificationsTransaction Processing10.1007/978-3-319-12292-2_8(185-219)Online publication date: 17-Nov-2014
  • (2014)B-Tree TraversalsTransaction Processing10.1007/978-3-319-12292-2_7(159-183)Online publication date: 17-Nov-2014
  • (2014)Lock-Based Concurrency ControlTransaction Processing10.1007/978-3-319-12292-2_6(125-158)Online publication date: 17-Nov-2014
  • (2014)Transactional IsolationTransaction Processing10.1007/978-3-319-12292-2_5(101-124)Online publication date: 17-Nov-2014
  • (2014)Transaction Rollback and Restart RecoveryTransaction Processing10.1007/978-3-319-12292-2_4(65-99)Online publication date: 17-Nov-2014
  • (2014)Logging and BufferingTransaction Processing10.1007/978-3-319-12292-2_3(45-64)Online publication date: 17-Nov-2014
  • (2014)Operations on the Physical DatabaseTransaction Processing10.1007/978-3-319-12292-2_2(25-44)Online publication date: 17-Nov-2014
  • (2014)Processing of Write-Intensive TransactionsTransaction Processing10.1007/978-3-319-12292-2_15(351-369)Online publication date: 17-Nov-2014
  • (2014)Transactions in Page-Server SystemsTransaction Processing10.1007/978-3-319-12292-2_14(327-349)Online publication date: 16-Nov-2014
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media