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

Brian T. R. Lewis, Bernd Mathiske · 1999

We implemented orthogonal persistence for the Java platform by adding persistent object caching to a high-performance virtual machine that uses exact garbage collection ##EVM"# 1 . This paper gives an overview of our design for the read and write barriers needed to support persistence. The key design decision we made was the choice of a pointer swizzling strategy.Pointer swizzling speeds up programs by translating persistent addresses #references to persistent objects on disk# into normal virtual memory addresses in the object cache. The swizzling technique wechose is simple #requires few source changes to the EVM# and performs well #adds acceptably low CPU overhead to the EVM#. Our integration of the new barriers was considerably simpli#ed byaninternal memory interface that the EVM consistently uses, except in its JIT, to access program runtime values. Our new persistentversion of the EVM, the PEVM, requires just 30# of the changes necessary in our previous persistent virtual machin...

Read the paper · More papers on PaperTik