A distributed implementation of a virtual machine for Java']Java

被引:0
作者
Aridor, Y [1 ]
Factor, M [1 ]
Teperman, A [1 ]
机构
[1] IBM Haifa Res Lab, Adv Technol Ctr, IL-31905 Haifa, Israel
关键词
cluster machine; !text type='Java']Java[!/text; objects; !text type='Java']Java[!/text] Virtual Machine; single system image;
D O I
10.1002/cpe.565
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 application be tailored specifically for it. The aim of our cluster VM is to obtain improved scalability for a class of Java Server Applications by distributing the application's work among the cluster's computing resources. The implementation of the cluster VM for Java is based on a novel object model which distinguishes between an application's view of an object (e.g. every object is a unique data structure) and its implementation (e.g. objects may have consistent replications on different nodes). This enables us to exploit knowledge on the use of individual objects to improve performance (e.g, using object replications to increase locality of access to objects). We have already completed a prototype that runs pure Java applications on a cluster of NT workstations connected by a Myrinet fast switch, The prototype provides a single system image to applications, distributing the application's threads and objects over the cluster. We used the cluster VM to run, without change, a real Java Server Application containing over 10 Kloc(double dagger) for the source code and achieved high scalability for it on a cluster. We also achieved linear speedup for another application with a large number of independent threads. This paper discusses the architecture and implementation of the cluster VM. It focuses on achieving a single system image for a traditional JVM on a cluster white describing, in short, how we aim to obtain scalability. Copyright (C) 2001 John Wiley & Sons, Ltd.
引用
收藏
页码:221 / 244
页数:24
相关论文
共 13 条
  • [1] [Anonymous], SEARCH CLUSTERS COMI
  • [2] ARIDOR Y, 2000, TRANSPARENTLY OBTAIN, P1159
  • [3] IMPLEMENTING REMOTE PROCEDURE CALLS
    BIRRELL, AD
    NELSON, BJ
    [J]. ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1984, 2 (01): : 39 - 59
  • [4] CAROMEL D, 1998, ACM 1998 WORKSH JAV
  • [5] Characterizations for Java']Java memory behavior
    Gontmakher, A
    Schuster, A
    [J]. FIRST MERGED INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM & SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING, 1998, : 682 - 686
  • [6] GOSLING J, 1996, JAVA LANGUAGE SPECIF, pCH17
  • [7] FINE-GRAINED MOBILITY IN THE EMERALD SYSTEM
    JUL, E
    LEVY, H
    HUTCHINSON, N
    BLACK, A
    [J]. ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1988, 6 (01): : 109 - 133
  • [8] LAUNAY P, 1997, I RECHERCHE INFORMAT, P1154
  • [9] Lindholm T., 1997, JAVA VIRTUAL MACHINE
  • [10] MACBETH M, 1998, IBM CTR ADV STUD C C