Sun and Oracle Community Voices How to Buy Log In United States [Change] English

»  Spotlight Articles
»  Projects
»  Publications
»  People
»  Awards
»  Events
»  Downloads
»  Internships
»  Contrarian Minds
»  About Sun Labs

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


Brian Lewis and Bernd Mathiske
Abstract: 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"). 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 we chose 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 simplifed by an internal memory interface that the EVM consistently uses, except in its JIT, to access program runtime values. Our new persistent version of the EVM, the PEVM, requires just 30% of the changes necessary in our previous persistent virtual machine implementations. It executes programs with only modest runtime overhead (typically 10-20%) compared to an unchanged EVM.
Submitted to the OOPSLA '99 workshop "Simplicity, Performance and Portability in Virtual Machine Design". 6 pages (ps, pdf)
Last revised 3 Sep 1999

Questions and comments to forest-info@sunlabs.com