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
AN - SCOPUS:33749180854
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
T2 - 1st IEEE/ACM International Symposium on Cluster Computing and the Grid, CCGrid 2001
Y2 - 15 May 2001 through 18 May 2001
ER -