Development of an object-oriented DBMS
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Types and persistence in database programming languages
ACM Computing Surveys (CSUR)
The ObjectStore database system
Communications of the ACM
Predicting conditional branch directions from previous runs of a program
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Practical prefetching via data compression
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
SQL/CLI—a new binding style for SQL
ACM SIGMOD Record
Safe and efficient sharing of persistent objects in Thor
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Compiler-based prefetching for recursive data structures
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
An orthogonally persistent Java
ACM SIGMOD Record
Making smalltalk a database system
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Prefetching Based on Type-Level Access Pattern in Object-Relational DBMSs
Proceedings of the 17th International Conference on Data Engineering
Context-Based Prefetch for Implementing Objects on Relations
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Fido: A Cache That Learns to Fetch
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
Analysing Object Relationships to Predict Page Access for Prefetching
Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3): Advances in Persistent Object Systems
Implementing Orthogonally Persistent Java
POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
Information Sciences: an International Journal
Traversals of object structures: Specification and Efficient Implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM - Voting systems
Uncovering Database Access Optimizations in the Middle Tier with TORPEDO
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
Safe query objects: statically typed objects as remotely executable queries
Proceedings of the 27th international conference on Software engineering
Extracting queries by static analysis of transparent persistence
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Performance improvement for persistent systems by AOP
Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies
Self-configuring object-to-relational mapping queries
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Online Phase-Adaptive Data Layout Selection
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Interprocedural query extraction for transparent persistence
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Placement optimization using data context collected during garbage collection
Proceedings of the 2009 international symposium on Memory management
Using common Lisp to prototype offline work in web applications for rich domains
Proceedings of the 6th European Lisp Workshop
Information Sciences: an International Journal
Morsa: a scalable approach for persisting and accessing large models
Proceedings of the 14th international conference on Model driven engineering languages and systems
Holistic optimization by prefetching query results
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
Understanding the behavior of database operations under program control
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Compile-time reflection and metaprogramming for Java
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
Object persistence architectures support transparent access to persistent objects. For efficiency, many of these architectures support queries that can prefetch associated objects as part of the query result. While specifying prefetch manually in a query can significantly improve performance, correct prefetch specifications are difficult to determine and maintain, especially in modular programs. Incorrect prefetching is difficult to detect, because prefetch is only an optimization hint. This paper presents AutoFetch, a technique for automatically generating prefetch specifications using traversal profiling in object persistence architectures. AutoFetch generates prefetch specifications based on previous executions of similar queries. In contrast to previous work, AutoFetch can fetch arbitrary traversal patterns and can execute the optimal number of queries. AutoFetch has been implemented as an extension of Hibernate. We demonstrate that AutoFetch improves performance of traversals in the OO7 benchmark and can automatically predict prefetches that are equivalent to hand-coded queries, while supporting more modular program designs.