DSM-PM2

Distributed Shared Memory on a Parallel Multithreaded Machine



Overview of DSM-PM2
Validation of DSM-PM2: the Hyperion environment for distributed Java
Publications on DSM-PM2 and Hyperion
People
Contact: Gabriel Antoniu. Last update: 17 January 2002

Overview


DSM-PM2 is a portable implementation platform for multithreaded consistency protocols for distributed shared memory. It provides generic building blocks allowing for easy protocol implementation and comparison within a unified framework. Here are DSM-PM2's main features:

Genericity

Multithreading
The generic building blocks and protocols are multithreaded at a double level.
Extensibility
DSM-PM2  provides generic building blocks for the implementation of new consistency models. DSM-PM2's API gives the user the possibility to easily add new protocols without any modification of the platform. Our implementation of Java consistency relies on this property.
Co-design applications + protocols
This property is a consequency of the previous features.  The programmer can use the building blocks to provide optimised versions of the consistency protocols, adapted for his application.
Portability and efficiency
DSM-PM2 inherits these properties from the PM2 runtime system on which it relies and provides a portable implementation platform for a large variety of clusters operated by UNIX-like operating systems and based on Myrinet, SCI and Ethernet networks.
Availability
DSM-PM2 is available with the PM2 platform. Download!
Top Back to top 

 

Validation of the DSM-PM2 platform: the Hyperion environment for distributed Java

The Hyperion project has been initiated by Philip Hatcher, University of New Hampshire, USA. The project started from two facts. In this context, the Hyperion project aims at providing an environment for efficient execution of multithreaded Java programs on clusters of PCs and workstations in a perfectly transparent manner, with no program modification. The programmer "sees" a single Java virtual machine and the cluster nodes are "hidden" by the implementation.  But, instead of using a classical approach based on  interpretation, Hyperion uses an approch based on compilation: the Java bytecode Java is compiled to C code. The aspects related to threads and communication are relegated to a distributed multithreaded environment, such as PM2.
The implementation of the Java memory model relies on DSM-PM2.
 

Top Back to top 


Papers

General DSM-PM2 papers

Gabriel Antoniu. DSM-PM2: une plate-forme portable d'implémentation de protocoles de cohérence multithread pour MVP. Thèse de doctorat, ENS Lyon, France, LIP, November 2001. In French.

Gabriel Antoniu and Luc Bougé. Implementing multithreaded protocols for release consistency on top of the generic DSMPM2 platform. In Proc. International Workshop on Cluster Computing (IWCC '01), Lect. Notes in Comp. Science, Mangalia, Romania, September 2001, Springer-Verlag. To appear.

Gabriel Antoniu and Luc Bougé. DSM-PM2: A portable implementation platform for multithreaded DSM consistency protocols. In Proc. 6th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS '01), volume 2026 of Lect. Notes in Comp. Science, pages 55-70, San Francisco, April 2001. Held in conjunction with IPDPS 2001. IEEE TCPP, Springer-Verlag.

Gabriel Antoniu, Vincent Bernardi, and Luc Bougé. Extension de la plate-forme DSM-PM2 pour le support de protocoles de cohérence relâchée multithreads. In Actes des Rencontres francophones du parallélisme (RenPar 13), pages 175-180, Paris, La Villette, April 2001.

Papers about Hyperion/DSM-PM2

Thilo Kielmann, Philip Hatcher, Luc Bougé, and Henri E. Bal. Enabling Java for high-performance computing: Exploiting Distributed Shared Memory and Remote Method Invocation. Communications of the ACM, 44(10):110-117, October 2001. Special issue on Java for High Performance Computing.

Gabriel Antoniu, Luc Bougé, Philip Hatcher, Mark MacBeth, Keith McGuigan, and Raymond Namyst. The Hyperion system: Compiling multithreaded Java bytecode for distributed execution. Parallel Computing, (27):1279-1297, October 2001.

Gabriel Antoniu, Luc Bougé, Philip Hatcher, Mark MacBeth, Keith McGuigan, and Raymond Namyst. Compiling multithreaded Java bytecode for distributed execution. In Euro-Par 2000: Parallel Processing, volume 1900 of Lect. Notes in Comp. Science, pages 1039-1052, Munchen, Germany, August 2000. Springer-Verlag. Selected as a Distinguished Paper.

Gabriel Antoniu and Phil Hatcher. Remote object detection in cluster-based Java. In Proc. 15th Intl. Parallel and Distributed Processing Symposium, 3rd Int. Workshop on Java for Parallel and Distributed Computing (JavaPDC '01), page 104, San Francisco, April 2001. Held in conjunction with IPDPS 2001. Extended proceedings in electronic form only.

Gabriel Antoniu, Luc Bougé, Philip Hatcher, Mark MacBeth, Keith McGuigan, and Raymond Namyst. Implementing Java consistency using a generic, multithreaded DSM runtime system. In Parallel and Distributed Processing. Proc. Intl Workshop on Java for Parallel and Distributed Computing, volume 1800 of Lect. Notes in Comp. Science, pages 560-567, Cancun, Mexico, May 2000. Held in conjunction with IPDPS 2000. IEEE TCPP and ACM, Springer-Verlag.
Top Back to top

People involved

DSM-PM2 has been developed during Gabriel Antoniu's PhD thesis at LIP, ENS Lyon, under the advisory of Luc Bougé and Raymond Namyst.

Top Back to top