Implementing Java consistency using a generic, multithreaded DSM runtime system

  • Gabriel Antoniu
  • Luc Bougé
  • Philip Hatcher
  • Mark MacBeth
  • Keith McGuigan
  • Raymond Namyst
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1800)


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.


Virtual Machine Shared Memory Runtime System Local Cache Home Node 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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
  3. 3.
    D. Caromel, W. Klauser, and J. Vayssiere. Towards seamless computing and meta-computing in Java. Concurrency: Practice and Experience, 10:1125–1242, 1998.CrossRefGoogle Scholar
  4. 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. 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
  6. 6.
    J. Gosling, W. Joy, and G. Steele Jr. The Java Language Specification. Addison-Wesley, Reading, MA, 1996.zbMATHGoogle Scholar
  7. 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
  8. 8.
    K. Li and P. Hudak. Memory coherence in shared virtual memory systems. ACM Trans. Computer Systems, 7(4):321–359, November 1989.CrossRefGoogle Scholar
  9. 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. 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. 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. 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
  13. 13.
    M. Philippsen and M. Zenger. JavaParty — transparent remote objects in Java. Concurrency: Practice and Experience, 9(11):1125–1242, November 1997.CrossRefGoogle Scholar
  14. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Gabriel Antoniu
    • 1
  • Luc Bougé
    • 1
  • Philip Hatcher
    • 2
  • Mark MacBeth
    • 2
  • Keith McGuigan
    • 2
  • Raymond Namyst
    • 1
  1. 1.LIP, ENS LyonLyon Cedex 07France
  2. 2.Dept. Computer ScienceUniv. New HampshireDurhamUSA

Personalised recommendations