Implementing Java consistency using a generic, multithreaded DSM runtime system
This paper describes the implementation of Hyperion, an environment for executing Java programs on clusters of computers. To provide high performance, the environment compiles Java bytecode to native code and supports the concurrent execution of Java threads on multiple nodes of a cluster. The implementation uses the PM2 distributed, multithreaded runtime system. PM2 provides light weight threads and efficient inter-node communication. It also includes a generic, distributed shared memory layer (DSM-PM2) which allows the efficient and flexible implementation of the Java memory consistency model. This paper includes preliminary performance figures for our implementation of Hyperion/PM2 on clusters of Linux machines connected by SCI and Myrinet.
KeywordsVirtual Machine Shared Memory Runtime System Local Cache Home Node
Unable to display preview. Download preview PDF.
- 1.Y. Aridor, M. Factor, and A. Teperman. cJVM: A single system image of a JVM on a cluster. In Proceedings of the International Conference on Parallel Processing, Fukushima, Japan, September 1999.Google Scholar
- 2.F. Breg, S. Diwan, J. Villacis, et al. Java RMI performance and object model interoperability: Experiments with Java/HPC++. In Proc. ACM 1998 Workshop on Java for High-Performance Network Computing, pages 91–100, February 1998.Google Scholar
- 4.A. Ferrari. JPVM: Network parallel computing in Java. In Proc. ACM 1998 Workshop on Java for High-Performance Network Computing, pages 245–249, 1998.Google Scholar
- 5.V. Getov, S. Flynn-Hummell, and S. Mintchev. High-performance parallel programming in Java: Exploiting native libraries. In Proc. ACM 1998 Workshop on Java for High-Performance Network Computing, pages 45–54, February 1998.Google Scholar
- 7.P. Launay and J.-L. Pazat. A framework for parallel programming in Java. In High-Performance Computing and Networking (HPCN’ 98), volume 1401 of Lect. Notes in Comp. Science, pages 628–637. Springer-Verlag, 1998.Google Scholar
- 9.F. Mueller. Distributed shared-memory threads: DSM-Threads. In Proc. of the Workshop on Run-Time Systems for Parallel Programming (RTSPP’ 97), pages 31–40, Geneva, Switzerland, April 1997. Held in conjonction with IPPS’ 97.Google Scholar
- 10.G. Muller, B. Moura, F. Bellard, and C. Consel. Harissa: A flexible and efficient Java environment mixing bytecode and compiled code. In Third Conference on Object-Oriented Technologies and Systems (COOTS’ 97), pages 1–20, Portland, June 1997.Google Scholar
- 11.Raymond Namyst and Jean-François Méhaut. PM2: Parallel multithreaded machine. a computing environment for distributed architectures. In Parallel Computing (ParCo’ 95), pages 279–285. Elsevier Science Publishers, September 1995.Google Scholar
- 12.B. Nitzberg and V. Lo. Distributed shared memory: A survey of issues and algorithms. IEEE computer, 24(8):52-60, September 1991.Google Scholar
- 14.T. Proebsting, G. Townsend, P. Bridges, et al. Toba: Java for applications — a way ahead of time (WAT) compiler. In Third Conference on Object-Oriented Technologies and Systems (COOTS’ 97), Portland, June 1997.Google Scholar
- 15.W. Yu and A. Cox. Java/DSM: A platform for heterogeneous computing. In Proceedings of the Workshop on Java for High-Performance Scientific and Engineering Computing, Las Vegas, Nevada, June 1997.Google Scholar