Skip to main content

A multi-threaded architecture for prefetching in object bases

  • Conference paper
  • First Online:
Book cover Advances in Database Technology — EDBT '94 (EDBT 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 779))

Included in the following conference series:

Abstract

We propose a generic architectural framework, a multi-threaded run-time system for client/server architectures, which facilitates the integration, exchange and extension of various prefetching techniques. To demonstrate the viability of this architecture two prefetching techniques are incorporated: a predictor-based technique — which consists of a separate predictor component in the run-time system — and a code-based technique — which provides an explicit prefetch statement at the programming interface. Our quantitative analysis indicates that (static) code-based techniques are a promising alternative to expensive monitoring-based predictors.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.-L. Baer and T.-F. Chen. An effective on-chip preloading scheme to reduce data access penalty. In Proc. of Supercomputing, pages 176–186, 1991.

    Google Scholar 

  2. J.-L. Baier and G.R. Sager. Dynamic improvement of locality in virtual memory systems. IEEE Trans. Software Eng., 2(1):54–62, 1976.

    Google Scholar 

  3. T.-F. Chen and J.-L. Baer. Reducing memory latency via non-blocking and prefetching caches. In Proc. on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 51–61, Oct 1992.

    Google Scholar 

  4. E. E. Chang and R. H. Katz. Exploiting inheritance and structure semantics for effective clustering and buffering in an object-oriented DBMS. In Proc. of the ACM SIGMOD Conf. on Management of Data, pages 348–357, Portland, OR, May 1989.

    Google Scholar 

  5. D. Callahan, K. Kennedy, and A. Portfield. Software prefetching. In AS-PLOS, pages 40–52, Santa Clara, California, Apr 1991.

    Google Scholar 

  6. K. M. Curewitz, P. Krishnan, and J. S. Vitter. Practical prefetching via data compression. In ACM SIGMOD, pages 43–53, Washington, DC, May 1993.

    Google Scholar 

  7. J. W. C. Fu and J. H. Patel. Data prefetching in multiprocessor vector cache memories. In Proc. of the Intl. Symp. on Computer Architecture, pages 54–63, May 1991.

    Google Scholar 

  8. GemStone. Product Overview. Servio Logic Corporation, 1420 Harbor Bay Parkway, Suite 100, Alameda, CA 94501, U.S.A., Feb 1991.

    Google Scholar 

  9. C. Gerlhof, A. Kemper, C. Kilger, and G. Moerkotte. Partition-based clustering in object bases: From theory to practice. In Proc. of the Intl. Conf. on Foundations of Data Organization and Algorithms (FODO), volume 730 of Lecture Notes in Computer Science (LNCS), pages 301–316, Chicago, Illinois, Oct 1993, Springer-Verlag.

    Google Scholar 

  10. M.Joseph. An analysis of paging and program behaviour. Computer Journal, 13(1):48–54, 1970.

    Google Scholar 

  11. D. F. Kotz and C. S. Ellis. Prefetching in file systems for MIMD multiprocessors. IEEE Trans. on Parallel and Distributed Systems, 1(2):218–230, Apr 1990.

    Google Scholar 

  12. T. Keller, G. Graefe, and D. Maier. Efficient assembly of complex objects. In ACM SIGMOD, pages 148–158, Denver, CO, May 1991.

    Google Scholar 

  13. A. C. Klaiber and H. M. Levy. An architecture for software-controlled data prefetching. In Proc. of the Intl. Symp. on Computer Architecture, pages 43–53, May 1991.

    Google Scholar 

  14. T. C. Mowry, M. S. Lam, and A. Gupta. Design and evaluation of a compiler algorithm for prefetching. In ASPLOS, pages 62–73, Oct 1992.

    Google Scholar 

  15. F. Mueller. A library implementation of POSIX threads under UNIX. In USENIX, San Diego, CA, Winter 1993.

    Google Scholar 

  16. M. Palmer and S. B. Zdonik. Fido: A cache that learns to fetch. In Proc. of the Conf. on Very Large Data Bases (VLDB), pages 255–264, Barcelona, Sep 1991.

    Google Scholar 

  17. A. Rogers and K. Li. Software support for speculative loads. In ASPLOS, pages 38–50, Oct 1992.

    Google Scholar 

  18. A. J. Smith. Sequentiality and prefetching in database systems. ACM Trans. on Database Systems, 3(3):223–247, 1978.

    Google Scholar 

  19. M. Stonebraker. Operating system support for database management. Communications of the ACM, 24(7):412–418, Jul 1981.

    Google Scholar 

  20. K. S. Trivedi. Prepaging and applications to array algorithms. IEEE Trans, on Comp., 25(9):915–921, Sep 1976.

    Google Scholar 

  21. M. V. Wilkes. The long-term future of operating systems. Communications of the ACM, 35(11):23–24/112, Nov 1992.

    Google Scholar 

  22. H. Wedeking and G. Zörntlein. Prefetching in realtime database applications. In ACM SIGMOD, pages 215–226, Washington, D.C., 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Matthias Jarke Janis Bubenko Keith Jeffery

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gerlhof, C.A., Kemper, A. (1994). A multi-threaded architecture for prefetching in object bases. In: Jarke, M., Bubenko, J., Jeffery, K. (eds) Advances in Database Technology — EDBT '94. EDBT 1994. Lecture Notes in Computer Science, vol 779. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57818-8_63

Download citation

  • DOI: https://doi.org/10.1007/3-540-57818-8_63

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57818-5

  • Online ISBN: 978-3-540-48342-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics