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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
Bogda, J., Hölzle, U.: Removing unnecessary synchronization in Java. In: OOPSLA, Denver, CO, November 1999, pp. 35–465. ACM, New York (1999)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Hughes, C.J., Adve, S.V.: Memory side prefetching for linked data structures. Journal of Parallel and Distributed Computing (JPDC) (May 2001)
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)
Joseph, D., Grunwald, D.: Prefetching using Markov predictors. IEEE Transactions on Computers 48(2), 121–133 (1999)
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)
Knafla, N.: Prefetching Techniques for Client/Server, Object-Oriented Database Systems. PhD thesis, University of Edinburgh (1999)
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)
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)
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)
ODMG. Object Query Language (2003)
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)
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)
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)
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)
Sun Microsystems. Java Data Objects (2003)
Wilhelm, R., Sagiv, M., Reps, T.: Shape analysis. In: Watt, D.A. (ed.) CC 2000. LNCS, vol. 1781, Springer, Heidelberg (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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