|
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
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
-
DSM-PM2 supports multiple consistency models. Moreover, alternative
protocols are supported for a given model and these protocols may be used
within the same application, for different data.
-
DSM-PM2 currently supports 3 consistency models: sequential consistency,
release
consistency and Java consistency. Each protocol is supported by
two protocols based on different mechanisms.
-
The same application can be run with different protocols without recompiling:
the protocol can be provided as a command line argument at application
startup.
Multithreading
The generic building blocks and protocols are multithreaded
at a double level.
-
The internal implementation of the generic blocks is multithreaded, allowing
communication-to-computation overlapping.
-
The protocols themselves are multithreaded and allow for safe concurrent
consistency actions on the same page (for instance: concurrent page faults
on the same page or concurrent release operations). In most traditonal
DSM systems, these operations are serialized. This enforces even more the
potential for communication-to-computation overlapping, already enabled
by the multithreaded context and leads to improved overall efficiency.
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!
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.
-
First, the Java language has become increasingly popular for parallel programming,
thanks to its portability and to its explicitly parallel programming model,
based on multithreading.
-
Second, the clusters of workstations have proven, during the last ten years,
that they are able to support high-performance computing.
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.
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.
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.
Back to top