Tuesday, November 3, 2009

10.3. A Brief History of Jikes RVM



10.3. A Brief History of Jikes RVM


Jikes RVM stems from an IBM project
called Jalapeño. The Jalapeño project was started in November of 1997 with the goal of
developing a flexible research infrastructure to explore ideas in
high-performance virtual machine design. By early 1998, an initial functional
prototype was bootstrapped and capable of running small Java programs. In the
spring of 1998, work was begun on the optimizing compiler, and the project
rapidly grew in size. By early 2000, project members had published several
academic papers describing aspects of Jalapeño, and university researchers began
to express interest in getting access to the system to use as the basis for
their own research efforts.


By the time the system went open source
in October of 2001, there were already 16 universities using Jikes RVM under
license from IBM. This community rapidly expanded and now includes hundreds of
researchers at well over 100 institutions. Jikes RVM has been the basis for over
188 papers that have appeared in peer-reviewed publications, and it has formed a
foundation for at least 36 university dissertations.


Version 2 was the original open
source Jikes RVM and had support for both the Intel and PowerPC architectures. A
range of different garbage collection algorithms were available, including
reference counting, mark-sweep, and semi-space. A year later, version 2.2 of
Jikes RVM was released. One of the main enhancements was a completely new
implementation of the memory management subsystem, called the Memory
Management Toolkit
(MMTk). MMTk has become a very
widely used framework in the garbage collection research community, and has been
ported to other runtimes besides Jikes RVM. We discuss MMTk and garbage
collection techniques further in Section
10.5.9." The optimizing compiler and adaptive
optimization system also had significant improvements, and the development of
the runtime was simplified by a switch to the open source GNU Classpath standard
class libraries. In April 2003, Jikes RVM 2.2.1 was one of the first open source
Java runtimes capable of running significant portions of the Eclipse IDE.


In the almost four years
between versions 2.2 and 2.4.6, a number of significant improvements in both
functionality and performance were made, but with a source structure and
architecture that were mostly unchanged.


Jikes RVM 3.0 was released in August 2008
and represents almost two years of concerted community effort to modernize and
improve the system. Java 5.0 language features were adopted across the codebase,
the build system switched to using Apache Ant, and a greatly improved testing
infrastructure was developed to increase system stability and performance. In
addition, a number of functional and performance improvements were made,
resulting in performance for many programs that is competitive with that
achieved by modern production JVMs (implemented in traditional runtime system
languages such as C/C++).


There are too many contributions to
Jikes RVM to mention, but we thank the Jikes RVM development community for all
their work. Just under 100 people have contributed code to Jikes RVM, and 19
people have served as members of the Jikes RVM core team. For a list of full
credits, it is worth going to the Jikes RVM website. More details about the
early history of Jikes RVM and the growth of its open source community can be
found in a 2005 IBM System
Journal
paper (Alpern et al. 2005).


 


No comments:

Post a Comment