Distributed and parallel execution of Java programs on a DSM system

Ting-Wei Hou, Fuh Gwo Chen, J. L. Lee, Y. L. Cheng

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)

Abstract

The paper focuses on the loop-level parallelism of bytecode on a distributed shared memory (DSM) system, which is built on a cluster of multiprocessors. We define a new attribute called 'Loop Attribute' to record the information of Java loops. When first loading a Java program, our Java virtual machine, called ES-JVM, checks and analyzes the loops of the bytecode dynamically, handles the data dependence of loops, and records the information as the loop attributes. ES-JVM uses the virtual shared memory and synchronization mechanisms provided by the DSM system to maintain the memory consistency. Before ES-JVM interprets the loops of the bytecodes, it dispatches the workload of loops to the interpreter threads at all nodes according to the loop attributes and the number of threads. After distributed and parallel execution of the loops, ES-JVM continues to interpret the rest of the bytecodes of the Java program. Finally, ES-JVM saves the loop attributes in a new class file for the next run. Our research shows that distributed and parallel execution of loops of a Java program could improve performance.

Original languageEnglish
Title of host publicationProceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001
Pages555-559
Number of pages5
DOIs
Publication statusPublished - 2001 Dec 1
Event1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001 - Brisbane, QLD, Australia
Duration: 2001 May 152001 May 18

Publication series

NameProceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001

Other

Other1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001
CountryAustralia
CityBrisbane, QLD
Period01-05-1501-05-18

Fingerprint

Computer systems
Data storage equipment
Synchronization

All Science Journal Classification (ASJC) codes

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Software
  • Electrical and Electronic Engineering

Cite this

Hou, T-W., Chen, F. G., Lee, J. L., & Cheng, Y. L. (2001). Distributed and parallel execution of Java programs on a DSM system. In Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001 (pp. 555-559). [923242] (Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001). https://doi.org/10.1109/CCGRID.2001.923242
Hou, Ting-Wei ; Chen, Fuh Gwo ; Lee, J. L. ; Cheng, Y. L. / Distributed and parallel execution of Java programs on a DSM system. Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001. 2001. pp. 555-559 (Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001).
@inproceedings{f25f34db28534461884946cdb35b48ba,
title = "Distributed and parallel execution of Java programs on a DSM system",
abstract = "The paper focuses on the loop-level parallelism of bytecode on a distributed shared memory (DSM) system, which is built on a cluster of multiprocessors. We define a new attribute called 'Loop Attribute' to record the information of Java loops. When first loading a Java program, our Java virtual machine, called ES-JVM, checks and analyzes the loops of the bytecode dynamically, handles the data dependence of loops, and records the information as the loop attributes. ES-JVM uses the virtual shared memory and synchronization mechanisms provided by the DSM system to maintain the memory consistency. Before ES-JVM interprets the loops of the bytecodes, it dispatches the workload of loops to the interpreter threads at all nodes according to the loop attributes and the number of threads. After distributed and parallel execution of the loops, ES-JVM continues to interpret the rest of the bytecodes of the Java program. Finally, ES-JVM saves the loop attributes in a new class file for the next run. Our research shows that distributed and parallel execution of loops of a Java program could improve performance.",
author = "Ting-Wei Hou and Chen, {Fuh Gwo} and Lee, {J. L.} and Cheng, {Y. L.}",
year = "2001",
month = "12",
day = "1",
doi = "10.1109/CCGRID.2001.923242",
language = "English",
isbn = "0769510108",
series = "Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001",
pages = "555--559",
booktitle = "Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001",

}

Hou, T-W, Chen, FG, Lee, JL & Cheng, YL 2001, Distributed and parallel execution of Java programs on a DSM system. in Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001., 923242, Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001, pp. 555-559, 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001, Brisbane, QLD, Australia, 01-05-15. https://doi.org/10.1109/CCGRID.2001.923242

Distributed and parallel execution of Java programs on a DSM system. / Hou, Ting-Wei; Chen, Fuh Gwo; Lee, J. L.; Cheng, Y. L.

Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001. 2001. p. 555-559 923242 (Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Distributed and parallel execution of Java programs on a DSM system

AU - Hou, Ting-Wei

AU - Chen, Fuh Gwo

AU - Lee, J. L.

AU - Cheng, Y. L.

PY - 2001/12/1

Y1 - 2001/12/1

N2 - The paper focuses on the loop-level parallelism of bytecode on a distributed shared memory (DSM) system, which is built on a cluster of multiprocessors. We define a new attribute called 'Loop Attribute' to record the information of Java loops. When first loading a Java program, our Java virtual machine, called ES-JVM, checks and analyzes the loops of the bytecode dynamically, handles the data dependence of loops, and records the information as the loop attributes. ES-JVM uses the virtual shared memory and synchronization mechanisms provided by the DSM system to maintain the memory consistency. Before ES-JVM interprets the loops of the bytecodes, it dispatches the workload of loops to the interpreter threads at all nodes according to the loop attributes and the number of threads. After distributed and parallel execution of the loops, ES-JVM continues to interpret the rest of the bytecodes of the Java program. Finally, ES-JVM saves the loop attributes in a new class file for the next run. Our research shows that distributed and parallel execution of loops of a Java program could improve performance.

AB - The paper focuses on the loop-level parallelism of bytecode on a distributed shared memory (DSM) system, which is built on a cluster of multiprocessors. We define a new attribute called 'Loop Attribute' to record the information of Java loops. When first loading a Java program, our Java virtual machine, called ES-JVM, checks and analyzes the loops of the bytecode dynamically, handles the data dependence of loops, and records the information as the loop attributes. ES-JVM uses the virtual shared memory and synchronization mechanisms provided by the DSM system to maintain the memory consistency. Before ES-JVM interprets the loops of the bytecodes, it dispatches the workload of loops to the interpreter threads at all nodes according to the loop attributes and the number of threads. After distributed and parallel execution of the loops, ES-JVM continues to interpret the rest of the bytecodes of the Java program. Finally, ES-JVM saves the loop attributes in a new class file for the next run. Our research shows that distributed and parallel execution of loops of a Java program could improve performance.

UR - http://www.scopus.com/inward/record.url?scp=33749180854&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=33749180854&partnerID=8YFLogxK

U2 - 10.1109/CCGRID.2001.923242

DO - 10.1109/CCGRID.2001.923242

M3 - Conference contribution

SN - 0769510108

SN - 9780769510101

T3 - Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001

SP - 555

EP - 559

BT - Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001

ER -

Hou T-W, Chen FG, Lee JL, Cheng YL. Distributed and parallel execution of Java programs on a DSM system. In Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001. 2001. p. 555-559. 923242. (Proceedings - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001). https://doi.org/10.1109/CCGRID.2001.923242