Analysing, Profiling and Optimising Orthogonal Persistence for Java

Cutts, Quintin and Hosking, Antony L.

Abstract

Persistent systems manage main memory as a cache for efficient access to frequently-accessed persistent data. Good cache management requires some knowledge of the semantics of the applications running against it. We are attacking the performance problems of persistence for Java through analysis, profiling, and optimisation of Java classes and methods executing in an orthogonally persistent setting. Knowledge of application behaviour is derived through analysis and profiling, and applied by both a static bytecode transformer and the run-time system to optimise the actions of Java programs as they execute against persistent storage. Our prototype will unify distinct persistence optimisations within a single optimisation framework, deriving its power from treatment of the entire persistent application, consisting of both program code and data stored in the database, for whole-application analysis, profiling and optimisation.

@inproceedings{Cutts+1997PJW,
  author = {Cutts, Quintin and Hosking, Antony L.},
  title = {Analysing, Profiling and Optimising Orthogonal Persistence
                    for {J}ava},
  booktitle = {International Workshop on Persistence and Java},
  series = {PJW},
  year = {1997},
  editor = {Jordan, Mick and Atkinson, Malcolm},
  pages = {107--115},
  month = {August},
  address = {Half Moon Bay, California},
  publisher = {Sun Microsystems Technical Report 97-63},
  gscholar = {14}
}