Skip to main content

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

Abstract

Mobile platforms combined with large databases promise new opportunities for mobile applications. However, mobile computing devices may experience frequent communication loss while in the field. In order to support database applications, mobile platforms are required to cache portions of the available data which can speed access over slow communication channels and mitigate communication disruptions. We present a new prefetching technique for databases in mobile environments based on program analysis. SPREE generates maps of a client program’s use of structured data to be used by our prefetching runtime system. We apply SPREE in the context of mobile programming for object structured databases demonstrating an effective way to prefetch/hoard over unreliable networks with speedups up to 80% over other techniques.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Ahn, J.-H., Kim, H.-J.: SEOF: an adaptable object prefetch policy for objectoriented database systems. In: International Conference on Data Engineering, January 1997, pp. 4–13. IEEE, Los Alamitos (1997)

    Google Scholar 

  2. Bacon, D., Sweeney, P.: Fast static analysis of C++ virtual function calls. In: OOPSLA Object-Oriented Programming Systems, Languages, and Applications, San Jose, California, October 1996, ACM, New York (1996)

    Google Scholar 

  3. Bogda, J., Hölzle, U.: Removing unnecessary synchronization in Java. In: OOPSLA, Denver, CO, November 1999, pp. 35–465. ACM, New York (1999)

    Google Scholar 

  4. Bogda, J., Singh, A.: Can a shape analysis work at run-time. In: Java Virtual Machine Research and Technology Symposium (JVM 2001), Monterey, California, USENIX (April 2001)

    Google Scholar 

  5. Cahoon, McKinley: Data flow analysis for software prefetching linked data structures in java. In: International Conference on Parallel Architectures and Compilation Techniques, Barcelona, Spain, September 2001, ACM, New York (2001)

    Google Scholar 

  6. Cao, P., Felten, E.W., Karlin, A.R., Li, K.: A study of integrated prefetching and caching strategies. In: SIGMETRICS, Ottawa, Canada, May 2001, ACM, New York (2001)

    Google Scholar 

  7. Carey, M.J., DeWitt, D.J., Naughton, J.F.: The OO7 benchmark. SIGMOD Record (ACM Special Interest Group on Management of Data) 22(2), 12–21 (1993)

    Google Scholar 

  8. Corbera, F., Asenjo, R., Zapata, E.L.: New shape analysis techniques for automatic parallelization of C codes. In: International Conference on Supercomputing, Rhodes, Greece, June 1999, pp. 220–227. ACM, New York (1999)

    Chapter  Google Scholar 

  9. Curewitz, K.M., Krishnan, P., Vitter, J.S.: Practical prefetching via data compression. In: SIGMOD Conference on Management of Data, May 1993, pp. 257–266. ACM, New York (1993)

    Google Scholar 

  10. Day, M., Liskov, B., Maheshwari, U., Myers, A.C.: References to remote mobile objects in Thor. ACM Letters on Programming Languages and Systems (March 1994)

    Google Scholar 

  11. Gerlhof, C.A., Kemper, A.: Prefetch support relations in object bases. In: 6th Intl. Workshop on Persistent Object Systems (POS), Tarascon, Provence, September 1994, pp. 115–126. Springer, Heidelberg (1994)

    Google Scholar 

  12. Ghiya, R., Hendren, L.J.: Is it a tree, a dag, or a cyclic graph? A shape analysis for heap-directed pointers in C. In: Symposium on Principles of Programming Languages POPL, January 1996, pp. 1–15. ACM, New York (1996)

    Google Scholar 

  13. Gruber, R., Kaashoek, F., Liskov, B., Shrira, L.: Disconnected operation in the Thor object-oriented database system. In: Proceedings of the IEEE Workshop on Mobile Computing Systems and Application, Santa Cruz, CA (December 1994)

    Google Scholar 

  14. Hind, M.: Pointer analysis: Haven’t we solved this problem yet? In: 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2001), June 2001, ACM, New York (2001)

    Google Scholar 

  15. Hughes, C.J., Adve, S.V.: Memory side prefetching for linked data structures. Journal of Parallel and Distributed Computing (JPDC) (May 2001)

    Google Scholar 

  16. Joseph, D., Tauber, J.A., Kaashoek, M.F.: Mobile computing with the Rover toolkit. IEEE Transactions on Computers: Special issue on Mobile Computing (March 1997)

    Google Scholar 

  17. Joseph, D., Grunwald, D.: Prefetching using Markov predictors. IEEE Transactions on Computers 48(2), 121–133 (1999)

    Article  Google Scholar 

  18. Kistler, J.J., Satyanarayanan, M.: Disconnected operation in the Coda file system. In: Proceedings of the thirteenth ACM symposium on Operating systems principles, Pacific Grove, CA, USA, October 1991, pp. 213–225. ACM, New York (1991)

    Chapter  Google Scholar 

  19. Knafla, N.: Prefetching Techniques for Client/Server, Object-Oriented Database Systems. PhD thesis, University of Edinburgh (1999)

    Google Scholar 

  20. Kuenning, G.H., Popek, G.J.: Automated hoarding for mobile computers. In: Proceedings of the 16th ACM Symposium on Operating Systems Principles, Malo, France, October 1997, ACM, New York (1997)

    Google Scholar 

  21. Mai, K., Paaske, T., Jayasena, N., Ho, R., Dally, W., Horowitz, M.: Smart memories: A modular reconfigurable architecture. In: International Symposium on Computer Architecture, Vancouver, British Columbia, Canada, June 2000, ACM, New York (2000)

    Google Scholar 

  22. Nurit, D., Michael, R., Mooly, S.: Detecting memory errors via static pointer analysis. In: Workshop on Program Analysis for Software Tools and Engineering (PASTE 1998), June 1998, pp. 27–34. ACM, New York (1998)

    Google Scholar 

  23. ODMG. Object Query Language (2003)

    Google Scholar 

  24. Petersen, K., Spreitzer, M.J., Terry, D.B., Theimer, M.M., Demers, A.J.: Flexible update propagation for weakly consistent replication. In: 16th ACM Symposium on Operating Systems Principles, Saint Malo, France, October 1997, pp. 288–301. ACM, New York (1997)

    Chapter  Google Scholar 

  25. Phatak, S.H., Badrinath, B.R.: Data partitioning for disconnected client server databases. In: Workshop on Data Engineering for Wireless and Mobile Access (MOBIDE), Seattle, WA, August 1999, pp. 102–109. ACM, New York (1999)

    Chapter  Google Scholar 

  26. Ruf, E.: Effective synchronization removal for Java. In: SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2000), Vancouver, British Columbia, June 2000, ACM, New York (2000)

    Google Scholar 

  27. Shuf, Y., Serrano, M., Gupta, M., Singh, J.P.: Characterizing the memory behavior of java workloads: A structured view and opportunities for optimizations. In: Proceedings of SIGMETRICS, Cambridge, MA, June 2001, ACM, New York (2001)

    Google Scholar 

  28. Sun Microsystems. Java Data Objects (2003)

    Google Scholar 

  29. Wilhelm, R., Sagiv, M., Reps, T.: Shape analysis. In: Watt, D.A. (ed.) CC 2000. LNCS, vol. 1781, Springer, Heidelberg (2000)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kvilekval, K., Singh, A. (2004). SPREE: Object Prefetching for Mobile Computers. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. OTM 2004. Lecture Notes in Computer Science, vol 3291. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30469-2_33

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30469-2_33

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23662-7

  • Online ISBN: 978-3-540-30469-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics