This paper describes the design and implementation of the
PEVM, a new scalable, high-performance implementation of orthogonal persistence for the Java™ platform (OPJ).
The PEVM is based on the Sun Microsystems Laboratories Virtual Machine for Research (ResearchVM), which features an optimizing
Just-In-Time compiler, exact generational garbage collection, and fast thread synchronization. It also uses a new, scalable
persistent object store designed to manage more than 80GB of objects. The PEVM is approximately ten times faster than previous
OPJ implementations and can run significantly larger programs. It is faster than or comparable in performance to several commercial
persistence solutions for the Java platform. Despite the PEVM’s speed and scalability, its implementation is simpler than
our previous OPJ implementation (e.g., it needs just 43% of the VM source patches previously required). Its speed and simplicity
are largely due to our pointer swizzling strategy, the Research VM’s exact memory management, and a few simple but effective
mechanisms. For example, we implement some key data structures in the Java™ programming language since this automatically
makes them persistent.
Copyright 2000 Sun Microsystems, Inc., All rights reserved.