Efficient Barriers for Persistent Object Caching in a High-Performance JavaTM Virtual Machine

  • Authors:
  • Brian T. Lewis;Bernd Mathiske

  • Affiliations:
  • -;-

  • Venue:
  • Efficient Barriers for Persistent Object Caching in a High-Performance JavaTM Virtual Machine
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

We implemented orthogonal persistence for the Java platform byadding persistent object caching to a high-performance virtualmachine that uses exact garbage collection, the Sun MicrosystemsLaboratories Virtual Machine for Research(''ResearchVM'').1 This paper gives an overview of ourdesign for the read and write barriers needed to supportpersistence. The key design decision we made was the choice of apointer swizzling strategy. Pointer swizzling speeds upprograms by translating persistent addresses (references topersistent objects on disk) into normal virtual memory addresses inthe object cache. The swizzling technique we chose is simple(requires few source changes to the ResearchVM) and performs well(adds acceptably low CPU overhead to the ResearchVM). Ourintegration of the new barriers was considerably simplified by aninternal memory interface that the ResearchVM consistently uses,except in its Just-In-Time (JIT) compiler, to access programruntime values. Our new persistent version of the ResearchVM, thePEVM, requires just 30% of the changes necessary in our previouspersistent virtual machine implementations. It executes programswith only modest runtime overhead (typically 10-20%) compared to anunchanged ResearchVM. 1A ResearchVM is embedded in Sun'sJavaTM 2 SDK Production Release for theSolarisTM Operating Environment, available athttp://www.sun.com/solaris/java/.