IBM Israel
Skip to main content
 
Search IBM Research
   Home  |  Products & services  |  Support & downloads  |  My account
Select a Country Select a country
IBM Research Home IBM Research Home
IBM Haifa Labs Homepage IBM Haifa Labs Home

Cluster Virtual Machine for Java

Distributed Computing Systems
Project Homepage
 ·Overview
 ·Motivation
 ·Application Model
 ·Approach
 ·Benchmark Results
 ·Optimizations
 ·Status
 ·Related Works
 ·Papers
 ·Contact Information
Feedback


Status
  Status and Optimizations Results

The Cluster VM for Java prototype is an implementation of a Java Virtual Machine that provides a single-system image of a traditional JVM while running in a distributed fashion on the nodes of a cluster.

In other words, Cluster VM for Java virtualizes the cluster. It does not require that Java applications be tailored especially for it.

The Cluster VM for Java prototype runs a pure Java application on a cluster of IBM Intellistations running NT4.0 connected via a Myrinet fast switch. The prototype provides a single-system image to applications, distributing application's threads and objects over the cluster. We have used Cluster VM for Java to run a Java application containing over 10Kloc, without changing the application.

The prototype:
  • Completely preserves the original semantics of Java Thus, pure Java programs run without any modifications.
  • Enables exploitation of opportunities for optimizations based on the semantics of the JVM and common usage patterns.

  Optimizations Results

Below we show how the set of optimizations employed by Cluster VM for Java are used to achieve good performance. These results are obtained by using Cluster VM for Java to run an unmodified version of the Portable Business Object Benchmark (pBOB), which is a kernel of business logic inspired by the TPC-C benchmark specification. In accordance with the TPC's fair use policy, we note that pBOB deviates from the TPC-C specification and is not comparable to any official TPC result. We chose pBOB as it is a large (10Kloc), self-contained, pure Java application which depends only on the Java Core APIs.

The following figure describes the performance and efficiency of pBOB for a four-node cluster.



The following figure shows the cumulative impact of the optimizations. The vertical axis represents the number of remote operations involved in a single average transaction. The horizontal axis represents accumulated optimizations. The impact of each optimization is added to the impact of the preceding ones.



 

  About IBM  |  Privacy  |  Legal  |  Contact