PACT
2001, pact2001@ac.upc.es

Barcelona cathedral and gothic quarter.

Barcelona, Spain

September 8-12, 2001

 

Tutorial

Sunday, September 9, 2001

The Design and Implementation of the Jalapeņo JVM
Michael Hind (1) and Dick Attanasio (2), IBM Research

The design and implementation of a high-performing Java virtual machine is a formidable task. Over the past three years IBM researchers have developed the Jalapeno JVM as a high-performing server platform. To address the requirements of servers, performance and scalability in particular, Jalapeņo was designed from scratch to be as self-sufficient as possible. Key design features of Jalapeņo include:

  • the entire JVM is implemented in Java,
  • a flexible online adaptive optimization infrastructure, implemented as concurrent Java threads, utilizes two compilers and no interpreter guided by a cost-benefit model
  • a family of parallel, type-exact garbage collectors,
  • a lightweight thread package with compiler-supported preemption, and
  • an aggressive optimizing compiler with multiplel optimization levels.

This tutorial will share the lessons learned from the design and implementation of Jalapeņo. Design decisions will be contrasted to other Java implementations. Jalapeņo runs on AIX/PowerPC and Linux/IA32 architectures. Several universities have full source access to Jalapeņo and are using it as a research infrastructure. Further information about Jalapeņo is available at http://www.research.ibm.com/jalapeno.

(1) Michael Hind is a Research Staff Member at IBM's Thomas J. Watson Research Center. He received his Ph.D. from New York University in 1991 and was a professor of computer science at the State University of New York at New Paltz from 1992-1998. He is currently working on the Jalapeņo Java Virtual Machine at IBM, where he is managing the Dynamic Optimization group. His research interests include program analysis, adaptive optimization, and programming languages.
(2) C. R. Attanasio is a Research Staff Member at the T.J. Watson Research Center. He joined IBM in 1965 and has been involved in systems and database programming and analysis projects, including security evaluation and enhancement of VM/370, AIX-based networking enhancements, and a bytecode verifier for Java. As part of the Jalapeno project he has implemented a never-copying mark/sweep storage manager with a generational variant, and cooperated in other variants of storage managers.


Sponsored by:

IEEE TCCA, IEEE TCPP, ACM SIGARCH, & IFIP Working Group 10.3

Edited and Designed by Eduard Ayguade

>