Skip to main content
Log in

Adaptable pointer swizzling strategies in object bases: design, realization, and quantitative analysis

  • Published:
The VLDB Journal Aims and scope Submit manuscript

Abstract

In this article, different techniques for “pointer swizzling” are classified and evaluated for optimizing the access to main-memory resident persistent objects. To speed up the access along inter-object references, the persistent pointers in the form of unique object identifiers (OIDs) are transformed (swizzled) into main-memory pointers (addresses). Pointer swizzling techniques can be divided into two classes: (1) those that allow replacement of swizzled objects from the buffer before the end of an application program, and (2) those that rule out the displacement of swizzled objects. The first class (i.e., techniques that take “precautions” for the replacement of swizzled objects) has not yet been thoroughly investigated. Four different pointer swizzling techniques allowing object replacement are investigated and compared with the performance of an object manager employing no pointer swizzling. The extensive qualitative and quantitative evaluation—only part of which could be presented in this article—demonstrate that there is noone superior pointer swizzling strategy forall application profiles. Therefore, an adaptable object base run-time system is devised that employs the full range of pointer swizzling strategies, depending on the application profile characteristics that are determined by, for example, monitoring in combination with sampling, user specifications, and/or program analysis.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Atkinson, M.P., Chisholm, K.J., Cockshott, P., and Marshall, R. Algorithms for a persistent heap.Software—Practice and Experience, 13:259–271, 1983.

    Google Scholar 

  • Bancilhon, F., Barbedette, G., Benzaken, V., Delobel, C., Gamerman, S., Lécluse, C., Pfeffer, P., Richard, P., and Velez, F. The design and implementation of O2, an object-oriented database system. In: Dittrich, K.R., ed.,Advances in Object-Oriented Database Systems, Lecture Notes in Computer Science No.334, New York: Springer-Verlag, 1988, pp. 1–22.

    Google Scholar 

  • Bayer, R. and McCreight, E.M. Organization and maintenance of large ordered indices.Acta Informatica, 1(3):173–189, 1972.

    Google Scholar 

  • Biliris, A. The performance of three database storage structures for managing large objects.Proceedings of the ACM SIGMOD Conference on the Management of Data, San Diego, CA, 1992.

  • Bruns, K., Kilger, C., Kossmann, D., Moerkotte, G., Walter, H.-D., and Zachmann, A. Objekte in multiplen Repräsentationen.Workshop on OODBMS of the German ”Gesellschaft für Informatik, Frankfurt, Germany, 1992.

  • Carey, M., DeWitt, D., Richardson, J., and Shekita, E. Object and file management in the EXODUS extensible database system.Proceedings of the Conference on Very Large Data Bases, Kyoto, Japan, 1986.

  • Cattell, R. and Skeen, J. Object operations benchmark.ACM Transactions on Database Systems, 17:1–31, 1992.

    Google Scholar 

  • Cockshott, W.P., Atkinson, M.P., Chisholm, K.J., Bailey, P.J., and Morrison, R. Persistent object management system.Software—Practice and Experience, 14:49–71, 1984.

    Google Scholar 

  • Cockshott, W.P. and Foulk, P.W. Implementing 128 bit persistent addresses on 80×86 processors. In: Rosenberg, J. and Keedy, J.L., eds.Security and Persistence, Workshops in Computing, New York: Springer-Verlag, 1990, pp. 123–136.

    Google Scholar 

  • Dan, A., Yu, P., and Chung, J.-Y. Database access characterization for buffer hit prediction.Proceedings of the IEEE Conference on Data Engineering, Vienna, Austria, 1993.

  • DeWitt, D.J., Futtersack, P., Maier, D., and Velez, F. A study of three alternative workstation server architectures for object-oriented database systems.Proceedings of the Conference on Very Large Data Bases, Brisbane, Australia, 1990.

  • Edelson, D. Smart pointers: They're smart, but they're not pointers. Technical Report UCSC-CRL-92-27, University of California, Santa Cruz, CA, 1992.

    Google Scholar 

  • Fagin, R., Nievergelt, J., Pippenger, J., and Strong, H. Extendible hashing—A fast access method for dynamic files.ACM Transactions on Database Systems, 4(3):315–344, 1979.

    Google Scholar 

  • Gerlhof, C., Kemper, A., Kilger, C., and Moerkotte, G. Clustering in object bases. Technical Report 6/92, Fakultät für Informatik, Universität Karlsruhe, D-76050 Karlsruhe, 1992.

    Google Scholar 

  • Gerlhof, C., Kemper, A., Kilger, C., and Moerkotte, G. Partition-based clustering in object bases: From theory to practice.Proceedings of the International Conference on the Foundations of Data Organization and Algorithms (FODO), Chicago, IL, 1993.

  • Gruber, O., Amsaleg, L., Daynès, L., and Valduriez, P. Eos, an environment for object-based systems.Proceedings of the Hawaii International Conference on System Sciences, Hawaii, 1992.

  • Hosking, A.L. and Moss, J.E.B. Towards compile-time optimizations for persistence. In: Dearle, A., Shaw, G.M., and Zdonik, S.B., eds.Implementing Persistent Object Bases, San Mateo, CA: Morgan-Kaufmann, 1991.

    Google Scholar 

  • Hosking, A.L. and Moss, J.E.B. Object fault handling for persistent programming languages: A performance evaluation.Proceedings of the ACM Conference on Object-Oriented Programming Systems and Languages (OOPSLA), Washington, DC, 1993.

  • Kaehler, T. and Krasner, G. LOOM—large object-oriented memory for Smalltalk-80 systems. In: Krasner, G., ed.Smalltalk-80: Bits of History, Words of Advice. Reading, MA: Addison Wesley, 1983.

    Google Scholar 

  • Kemper, A., Kilger, C., and Moerkotte, G. Function materialization in object bases: Design, implementation and assessment.IEEE Transactions on Knowledge and Data Engineering, 6(4):587–608, 1994.

    Google Scholar 

  • Kemper, A. and Kossmann, D. Adaptable pointer swizzling strategies in object bases.Proceedings of the IEEE Conference on Data Engineering, Vienna, 1993.

  • Kemper, A. and Kossmann, D. Dual-buffering strategies in object bases.Proceedings of the Conference on Very Large Data Bases, Santiago, Chile, 1994.

  • Kemper, A. and Moerkotte, G. Access support relations: An indexing method for object bases.Information Systems, 17(2):117–146, 1992.

    Google Scholar 

  • Kemper, A. and Moerkotte, G.Object-Oriented Database Management: Applications in Engineering and Computer Science. Englewood Cliffs, NJ: Prentice Hall, 1994.

    Google Scholar 

  • Kemper, A., Moerkotte, G., and Steinbrunn, M. Optimizing Boolean expressions in object bases.Proceedings of the Conference on Very Large Data Bases, Vancouver, Canada, 1992.

  • Kemper, A., Moerkotte, G., Walter, H.-D., and Zachmann, A. GOM: A strongly typed, persistent object model with polymorphism.Proc. der GI-Fachtagung Datenbanken in Büro, Technik und Wissenschaft (BTW), Kaiserslautern. Springer-Verlag, Informatik-Fachberichte Nr. 270, 1991.

  • Khoshafian, S.N. and Copeland, G.P. Object identity.Proceedings of the ACM Conference on Object-Oriented Programming Systems and Languages (OOPSLA), Portland, OR, 1986.

  • Kim, W., Ballou, N., Chou, H.T., Garza, J.F., Woelk, D., and Banerjee, J. Integrating an object-oriented programming system with a database system.Proceedings of the ACM Conference on Object-Oriented Programming Systems and Languages (OOPSLA), San Diego, CA, 1988.

  • Koch, D.M. and Rosenberg, J. A secure RISC-based archtecture supporting data persistence. In: Rosenberg, J. and Keedy, J.L., eds.Security and Persistence, Workshops in Computing, New York: Springer-Verlag, 1990. Also in:Proceedings of the International Workshop on Computer Architectures to Support Security and Persistence of Information, Bremen, Germany, 1990.

    Google Scholar 

  • Kossmann, D. Entwurf und Implementierung von Laufzeitoptimierungsma ßnahmen im GOM-Prototyp. Master's thesis, Universität Karlsruhe, Fakultät für Informatik, D-76050 Karlsruhe, 1991.

    Google Scholar 

  • Kossmann, D., Steinbrunn, M., and Kemper, A. Decapsulation: Estimating execution profiles in object bases. Unpublished Manuscript, 1993.

  • Kotulla, A. Neuentwurf und Leistungsbewertung des Laufzeitsystems im objektorientierten Datenbanksystem GOM. Master's thesis, RWTH Aachen, Lehrstuhl für Informatik III, D-52056 Aachen, 1992.

    Google Scholar 

  • Lamb, C., Landis, G., Orenstein, J., and Weinreb, D. The ObjectStore database system.Communications of the ACM, 34(10):50–63, 1991.

    Google Scholar 

  • Larson, P.-Å. Linear hashing with separators—A dynamic hashing scheme achieving one-access retrieval.ACM Transactions on Database Systems, 13(3):366–388, 1988.

    Google Scholar 

  • Maier, D. and Stein, J. Development and implementation of an object-oriented DBMS. In: Shriver, B. and Wegner, P., eds.Research Directions in Object-Oriented Programming, Cambridge, MA: MIT Press, 1987, pp. 355–392.

    Google Scholar 

  • McAuliffe, M.L. and Solomon, M.H. A trace-based simulation of pointer swizzling techniques.Proceedings of the IEEE Conference on Data Engineering, Taipei, Taiwan, 1995.

  • Morel, E. and Renvoise, C. Global optimization by suppression of partial redundancies.Communications of the ACM, 22(2):96–103, 1979.

    Google Scholar 

  • Moss, J.E.B. Design of the Mneme persistent object store.ACM Transactions on Office Information Systems, 8(2):103–139, 1990.

    Google Scholar 

  • Moss, J.E.B. Working with persistent objects: To swizzle or not to swizzle.IEEE Transactions on Software Engineering, 18(8):657–673, 1992.

    Google Scholar 

  • Moss, J.E.B. and Sinofsky, S. Managing persistent data with Mneme: Designing a reliable shared object interface. In: Dittrich, K.R., ed.Advances in Object-Oriented Database Systems, Lecture Notes in Computer Science No.334, New York: Springer-Verlag, 1988, pp. 298–316. (Proceedings of the Second International Workshop on Object-Oriented Database Systems, Bad Münster, Germany).

    Google Scholar 

  • Munro, D.S., Connor, R.C.H., Morrison, R., Scheuerl, S., and Stemple, D.W. Concurrent shadow paging in the FLASK architecture. In: Atkinson, M., Maier, D., and Benzaken, V., eds.Persistent Object Systems, Workshops in Computing, New York: Springer-Verlag, 1994, pp. 16–42. (Proceedings of the Sixth International Workshop on Persistent Object Systems, Tarascon, France, 1994).

    Google Scholar 

  • Rosenberg, J., Henskens, F.A., Brown, A.L., Morrison, R., and Munro, D. Stability in a persistent store based on a large virtual memory. In: Rosenberg, J. and Keedy, J.L., eds.Security and Persistence, Workshops in Computing, New York: Springer-Verlag, 1990, pp. 229–245. Proceedings of the International Workshop on Computer Architectures to Support Security and Persistence of Information, Bremen, Germany, 1990).

    Google Scholar 

  • Roussopoulos, N. and Delis, A. Modern client-server DBMS architectures.ACM SIGMOD Record, 20(3):52–61, 1991.

    Google Scholar 

  • Russel, G., Shaw, P., and Cockshott, P. DAIS: An object-addressed processor cache. In: Atkinson, M., Maier, D., and Benzaken, V., eds.Persistent Object Systems, Workshops in Computing, New York: Springer-Verlag, 1995, pp. 374–386.Proceedings of the Sixth International Workshop on Persistent Object Systems, Tarascon, France, 1994).

    Google Scholar 

  • Schuh, D., Carey, M., and DeWitt, D. Persistence in E revisited—implementation experiences. In: Dearle, A., Shaw, G.M., and Zdonik, S.B., eds.,Implementing Persistent Object Bases, San Mateo, CA: Morgan-Kaufmann, 1991, pp. 345–359. (Proceedings of the Fourth International Workshop on Persistent Object Systems), Martha's Vineyard, MA, 1990).

    Google Scholar 

  • Shekita, E. and Zwilling, M. Cricket: A mapped, persistent object store. In: Dearle, A., Shaw, G.M., and Zdonik, S.B., eds.Implementing Persistent Object Bases, San Mateo, CA: Morgan-Kaufmann, 1991, 89–102. (Proceedings of the Fourth International Workshop on Persistent Object Systems, Martha's Vineyard, MA, 1990).

    Google Scholar 

  • Singhal, V., Kakkad, S., and Wilson, P. Texas: An efficient, portable persistent store. In: Albono, A. and Morrison, R., eds.Persistent Object Systems, Workshops in Computing, New York: Springer-Verlag, 1993, 11–33. (Proceedings of the Fifth International Workshop on Persistent Object Systems, San Miniato (Pisa), Italy, 1992).

    Google Scholar 

  • Suzuki, S., Kitsuregawa, M., and Takagi, M. An efficient pointer swizzling method for navigation intensive applications. In: Atkinson, M., Maier, D., and Benzaken, V., eds.,Persistent Object Systems, Workshops in Computing, New York: Springer-Verlag, 1995, pp. 79–95. (Proceeding of the Sixth International Workshop on Persistent Object Systems, Tarascon, France, 1994).

    Google Scholar 

  • Tsangaris, M.M. and Naughton, J.F. A stochastic approach for clustering in object bases.Proceedings of the ACM SIGMOD Conference on the Management of Data, Denver, CO, 1991.

  • Vaughan, F. and Dearle, A. Supporting large persistent stores using conventional hardware. In: Albono, A. and Morrison, R., eds.Persistent Object Systems, Workshops in Computing, New York: Springer-Verlag, 34–53, 1993. (Proceedings of the Fifth International Workshop on Persistent Object Systems, San Miniato (Pisa), Italy, 1992).

    Google Scholar 

  • Velez, F., Bernard, G., and Darnis, V. The O2 object manager: An overview.Proceedings of the Conference on Very Large Data Bases, Amsterdam, 1989.

  • White, S.J. and DeWitt, D. QuickStore: A high performance mapped object store.Proceedings of the ACM SIGMOD Conference on the Management of Data, Minneapolis, MN, 1994.

  • White, S.J. and DeWitt, D.J. A performance study of alternative object faulting and pointer swizzling strategies.Proceedings of the Conference on Very Large Data Bases, Vancouver, B.C., 1992.

  • Wilson, P. Pointer swizzling at page fault time: Efficiently supporting huge address spaces on standard hardware.Computer Architecture News, 19(4), 1991.

  • Wilson, P. and Kakkad, S. Pointer swizzling at page fault time: Efficiently supporting huge address spaces on standard hardware.Proceedings of the International Workshop on Object Orientation in Operating Systems, Paris, 1992.

  • Winslett, M. Architecture and performance for object-oriented DBMSes. Tutorial handouts for the Data Engineering Conference, Vienna, Austria, 1993.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kemper, A., Kossmann, D. Adaptable pointer swizzling strategies in object bases: design, realization, and quantitative analysis. VLDB Journal 4, 519–566 (1995). https://doi.org/10.1007/BF01231646

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01231646

Key Words

Navigation