Architecture of the PEVM: A High-Performance Orthogonally Persistent Java Virtual Machine

  • Authors:
  • Brian Lewis;Bernd Mathiske;Neal M. Gafter

  • Affiliations:
  • -;-;-

  • Venue:
  • POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the design and implementation of the PEVM, a new scalable, high-performance implementation of orthogonal persistence for the JavaTMplatform (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 ResearchVM's exact memory management, and a few simple but effective mechanisms. For example, we implement some key data structures in the JavaTMprogramming language since this automatically makes them persistent.