Skip to main content

Hybrid Caching for Large-Scale Object Systems

Think Globally, Act Locally

  • Conference paper
Persistent Object Systems

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

Object-based client caching allows clients to keep more frequently accessed objects while discarding colder objects that reside on the same page. However, when these objects are modified and sent to the server, it may need to read the corresponding page from disk to install the update. These installation reads are not required with a page-based cache because whole pages are sent to the server.

We describe a hybrid system that permits clients to cache objects and pages. The system uses a simple cache design that combines the best of object caching and page caching. The client increases its cache hit ratio as in object-based caching. The client avoids some installation reads by sending pages to the server when possible. Using simulated workloads we explore the performance of our design and show that it can offer a significant performance improvement over both pure object caching and pure page caching on a range of workloads.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Using the EXODUS Storage Manager V2.0.0. Technical report, Department of Computer Sciences, University of Wisconsin-Madison, January 1982. Technical documentation.

    Google Scholar 

  2. Atul Adya. A distributed commit protocol for optimistic concurrency control. Master’s thesis, Massachusetts Institute of Technology, February 1994.

    Google Scholar 

  3. Jia bing R. Cheng and A. R. Hurson. On the performance issues of object-based buffering. In Proceedings of the Conference on Parallel and Distributed Information Systems, pages 30–37, 1991.

    Google Scholar 

  4. M. Day. Managing a Cache of Swizzled Objects and Surrogates. PhD thesis, miteecs, In preparation.

    Google Scholar 

  5. O. Deux et al. The story of O2. IEEE Trans. on Knowledge and Data Engineering, 2(1):91–108, March 1990.

    Article  Google Scholar 

  6. David J. DeWitt, Philippe Futtersack, David Maier, and Fernando Velez. A study of three alternative workstation-server architectures for object oriented database systems. In Proceedings of the 16th Conference on Very Large Data Bases, pages 107–121, Brisbane, Australia, 1990.

    Google Scholar 

  7. M. Hornick and S. Zdonik. A Shared, Segmented Memory System for an Object-Oriented Database, pages 273–285. Morgan Kaufmann, 1990.

    Google Scholar 

  8. Antony L. Hosking and J. Eliot B. Moss. Object fault handling for persistent programming languages: A performance evaluation. In Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pages 288–303, 1993.

    Google Scholar 

  9. Object Design Inc. An Introduction to Object Store, Release 1.0. 1989.

    Google Scholar 

  10. W. Kim et al. Architecture of the orion next-generation database system. IEEE Trans. on Knowledge and Data Engineering, 2(1):109–124, June 1989.

    Article  Google Scholar 

  11. B. Liskov, M. Day, and L. Shrira. Distributed object management in Thor. In M. Tamer Özsu, Umesh Dayal, and Patrick Valduriez, editors, Distributed Object Management. Morgan Kaufmann, San Mateo, California, 1993.

    Google Scholar 

  12. D. Maier and J. Stein. Development and implementation of an object-oriented dbms. In B. Shriver and P. Wegner, editors, Research Directions in Object-Oriented Programming. MIT Press, 1987.

    Google Scholar 

  13. James O’Toole and Liuba Shrira. Opportunistic Log: Efficient Reads in a Reliable Object Server. In Proceedings of the First Conference on Operating Systems Design and Implementation, 1994.

    Google Scholar 

  14. Chris Ruemmler and John Wilkes. Modelling disks. Technical Report HPL-93-68revl, Hewlett-Packard Laboratories, December 1993.

    Google Scholar 

  15. M. Seltzer, P. Chen., and J. Ousterhout. Disk scheduling revisited. In Proceedings of Winter USENIX, 1990.

    Google Scholar 

  16. Seth J. White and David J. DeWitt. A performance study of alternative object faulting and pointer swizzling strategies. In Proceedings of the 18th VLDB Conference, pages 419–431, 1992.

    Google Scholar 

  17. Paul R. Wilson and Sheetal V. Kakkad. Pointer swizzling at page fault time: Efficiently supporting huge address spaces on standard hardware. In Proceedings of the International Workshop on Object-Orientation in Operating Systems, pages 364–377, Paris, France, September 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 British Computer Society

About this paper

Cite this paper

O’Toole, J., Shrira, L. (1995). Hybrid Caching for Large-Scale Object Systems. In: Atkinson, M., Maier, D., Benzaken, V. (eds) Persistent Object Systems. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-2122-0_9

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2122-0_9

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19912-0

  • Online ISBN: 978-1-4471-2122-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics