In this talk, we give an overview of the Jikes Research Virtual Machine for Java, built in the Jalapeqo project at the IBM T. J. Watson Research Center. The Jikes RVM has three key distinguishing features. First, the Jikes RVM is itself implemented in Java and is self-hosted! This design choice brings with it several advantages as well as technical challenges. The advantages include a uniform memory space for VM objects and application objects, and ease of portability. Second, the Jikes RVM performs a lightweight m:n mapping of Java threads on OS-level pthreads, thus resulting in enhanced scalability on SMPs. Third, the Jikes RVM takes a compile-only approach to program execution. Instead of providing both an interpreter and a JIT/dynamic compiler, it provides two dynamic compilers --- a quick non-optimizing "baseline" compiler, and a slower but smarter optimizing compiler. An adaptive optimization system is used to dynamically select the subset of methods and optimization levels, for compilation by the optimizing compiler.
The current Jikes RVM system has been ported to three SMP platforms --- AIX/PowerPC, Linux/PowerPC, and Linux/IA-32. This talk will highlight our design decisions and experiences in working towards our goal of building a high-performance VM for executing Java programs on SMP servers. Additional information on the Jalapeno project and the Jikes RVM can be found at www.research.ibm.com/jalapeno and www.ibm.com/developerworks/oss/jikesrvm.
Dr. Vivek Sarkar is Senior Manager of the Programming Technologies department at the IBM T. J. Watson Research Center. The projects under way in the department include software engineering tools for legacy applications (Atlas), component verification (Canvas), optimization of embedded applications (Gnosis), optimized virtual machines (Jikes RVM), dynamic analysis and debugging (Shrike), tools for collaborative programming (Stellation), XML analysis and optimization systems (Xaos), and enhanced progamming tools for the Eclipse platform (www.eclipse.org).
Vivek joined IBM in 1987, after obtaining a Ph.D. from Stanford University. His research interests are in the areas of static and dynamic analysis, compilation, optimization, and parallelization of programs. He has worked on several compiler-related projects at IBM including the PTRAN and Jikes RVM research projects at Watson, and high-order transformations and OpenMP parallelization in the IBM XL Fortran product compilers. Vivek has been a member of the IBM Academy of Technology since 1995. In 1997, Vivek was on sabbatical as a visiting associate professor at MIT. Additional details can be found at www.research.ibm.com/people/v/vsarkar.
Host: Peter Lee
Appointments: Rosie Battenfelder
of Programming Seminars