A distributed implementation of a virtual machine for Java

Citation
Y. Aridor et al., A distributed implementation of a virtual machine for Java, CONCURR COM, 13(3), 2001, pp. 221-244
Citations number
12
Categorie Soggetti
Computer Science & Engineering
Journal title
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE
ISSN journal
15320626 → ACNP
Volume
13
Issue
3
Year of publication
2001
Pages
221 - 244
Database
ISI
SICI code
1532-0626(200103)13:3<221:ADIOAV>2.0.ZU;2-7
Abstract
The cluster virtual machine (VM) for Java provides a single system image of a traditional Java Virtual Machine (JVM) while executing in a distributed fashion on the nodes of a cluster. The cluster VM for Java virtualizes the cluster, supporting any pure Java application without requiring that applic ation be tailored specifically for it. The aim of our cluster VM is to obta in improved scalability for a class of Java Server Applications by distribu ting the application's work among the cluster's computing resources. The im plementation of the cluster VM for Java is based on a novel object model wh ich distinguishes between an application's view of an object (e.g. every ob ject is a unique data structure) and its implementation (e.g. objects may h ave consistent replications on different nodes). This enables us to exploit knowledge on the use of individual objects to improve performance (e.g, us ing object replications to increase locality of access to objects). We have already completed a prototype that runs pure Java applications on a cluste r of NT workstations connected by a Myrinet fast switch, The prototype prov ides a single system image to applications, distributing the application's threads and objects over the cluster. We used the cluster VM to run, withou t change, a real Java Server Application containing over 10 Kloc(double dag ger) for the source code and achieved high scalability for it on a cluster. We also achieved linear speedup for another application with a large numbe r of independent threads. This paper discusses the architecture and impleme ntation of the cluster VM. It focuses on achieving a single system image fo r a traditional JVM on a cluster white describing, in short, how we aim to obtain scalability. Copyright (C) 2001 John Wiley & Sons, Ltd.