|
ABSTRACT
Transparent persistence promises to integrate programming languages and databases by allowing programs to access persistent data with the same ease as non-persistent data. In this work we demonstrate the feasibility of optimizing transparently persistent programs by extracting queries to efficiently prefetch required data. A static analysis derives query structure and conditions across methods that access persistent data. Using the static analysis, our system transforms the program to execute explicit queries. The transformed program composes queries across methods to handle method calls that return persistent data. We extend an existing Java compiler to implement the static analysis and program transformation, handling recursion and parameterized queries. We evaluate the effectiveness of query extraction on the OO7 and TORPEDO benchmarks. This work is focused on programs written in the current version of Java, without languages changes. However, the techniques developed here may also be of value in conjunction with object-oriented languages extended with high-level query syntax.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
G. M. Bierman, E. Meijer, and W. Schulte. The essence of data access in c?. In Proc. of the European Conference on Object-Oriented Programming (ECOOP), pages 287--311, 2005.
|
 |
5
|
Michael J. Carey , David J. DeWitt , Chander Kant , Jeffrey F. Naughton, A status report on the OO7 OODBMS benchmarking effort, Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications, p.414-426, October 23-28, 1994, Portland, Oregon, United States
|
| |
6
|
D. Cengija. Hibernate your data. onJava.com, 2004.
|
 |
7
|
|
 |
8
|
|
| |
9
|
E. Cooper, S. Lindley, P. Wadler, and J. Yallop. Links: Web programming without tiers. In Proceedings of the 5th International Symposium on Formal Methods for Components and Objects, pages 266--296, Amsterdam, The Netherlands, November 2006.
|
| |
10
|
A. Gawecki and F. Matthes. Integrating query and program optimization using persistent CPS representations. In M. P. Atkinson and R. Welland, editors, Fully Integrated Data Environments, ESPRIT Basic Research Series, pages 496--501. Springer Verlag, 2000.
|
 |
11
|
|
| |
12
|
J. Ha, M. Gustafsson, S. M. Blackburn, and K. S. McKinley. Microarchitectural characterization of production jvms and java workloads. Mar 2008.
|
| |
13
|
|
| |
14
|
|
| |
15
|
Hibernate reference documentation. http://www.hibernate.org/hib_docs/v3/reference/en/html, May 2005.
|
| |
16
|
A. Ibrahim and W. Cook. Automatic prefetching by traversal profiling in object persistence architectures. In Proc. of the European Conference on Object-Oriented Programming (ECOOP), 2006.
|
 |
17
|
Kazuaki Ishizaki , Motohiro Kawahito , Toshiaki Yasue , Hideaki Komatsu , Toshio Nakatani, A study of devirtualization techniques for a Java Just-In-Time compiler, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.294-310, October 2000, Minneapolis, Minnesota, United States
|
| |
18
|
D. E. Knuth. Semantics of context-free languages. Theory of Computing Systems, 2(2):127--145, June 1968.
|
 |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
|
| |
23
|
F. Matthes, G. Schroder, and J. Schmidt. Tycoon: A scalable and interoperable persistent system environment. In M. Atkinson, editor, Fully Integrated Data Environments. Springer-Verlag, 1995.
|
| |
24
|
Microsoft Corporation. The LINQ project. msdn. microsoft.com/netframework/future/linq.
|
| |
25
|
R. Morrison, R. C. H. Connor, G. N. C. Kirby, D. S. Munro, M. P. Atkinson, Q. I. Cutts, A. L. Brown, and A. Dearle. The Napier88 persistent programming language and environment. In M. P. Atkinson and R. Welland, editors, Fully Integrated Data Environments, pages 98--154. Springer, 1999.
|
 |
26
|
|
| |
27
|
J. Schmidt, F. Matthes, and P. Valduriez. Building persistent application systems in fully integrated data environments: Modularization, abstraction and interoperability. In Proceedings of Euro-Arch'93 Congress. Springer Verlag, Oct. 1993.
|
| |
28
|
|
 |
29
|
|
| |
30
|
D.Willis, D. J. Pearce, and J. Noble. Efficient object querying in Java. In Proc. of the European Conference on Object-Oriented Programming (ECOOP), Nantes, France, 2006.
|
| |
31
|
|
 |
32
|
|
|