DSM-Threads
(Distributed Shared Memory -- Threads)
System Desciption
DSM-Threads is a distributed
runtime system based on the concepts of distributed shared
memory. DSM-Threads supports an API closely resembling POSIX Threads. The system allows a simple way to
port an application based on the shared-memory paradigm to a
distributed environment.
DSM-Threads supports several memory consistency models to facilitate
ports and leave room for performance tuning at the same time. Each
node itself is multi-threaded, both on the implementation and on the
application level, i.e. a user may spawn remote processes (nodes) and
multiple threads within each node. The communication is strictly
asynchronous and utilizes only decentralized algorithms (for
consistency as well as synchronization), including optimizations of existing
protocols as well as new protocols for priority support for
synchronization.
Current work includes communication support for clusters of
workstations under SCI, Myrinet and VIA using Madeleine and BIP;
iso-address space for distributed heap allocation; advanced
consistency protocols.
The system will be made available under GPL in the future.
Talks
Papers
-
"Distributed Shared-Memory Threads: DSM-Threads" by
F. Mueller
in Workshop on Run-Time Systems for Parallel Programming, Apr 1997, pages 31-40
-
"Supporting Ada 95 Passive Partitions in a Distributed Environment" by
F. Mueller
in Reliable Software Technologies -- Ada-Europe '97, Springer LNCS 1251,
eds. K. Hardy and J. Briggs, Jun 1997, pages 218-229
-
"On the Design and Implementation of DSM-Threads" by
F. Mueller
in Int. Conference on Parallel and Distributed Processing
Techniques and Applications, Jun 1997, pages 315-324
-
"Prioritized Token-Based Mutual Exclusion for Distributed Systems" by
F. Mueller
in International Parallel Processing Symposium, Mar 1998, pages 791-795
-
"Adaptive DSM-Runtime Behavior via Speculative Data Distribution"
by F. Mueller in Parallel and Distributed
Processing -- Workshop on Run-Time Systems for Parallel Programming,
Springer LNCS 1586, eds. J. Rolim et al., Apr 1999, pages 553-567
-
"Priority Inheritance and Ceilings for Distributed Mutual Exclusion"
by F. Mueller
in IEEE Real-Time Systems Symposium, Dec 1999, pages 340-349
-
"CLIX -- A Hybrid Programming Environment for Distributed Objects and
Distributed Shared Memory" by F. Mueller
and Jörg Nolte and Alexander Schlaefer in Parallel and Distributed
Processing -- Workshop on High-Level Parallel Programming Models and Supportive Environments,
Springer LNCS 1800, eds. J. Rolim et al., May 2000, pages 285-292
-
"Decentralized Synchronization for Multi-Threaded DSMs" by F. Mueller
in Workshop on Software Distributed Shared Memory,
May 2000
-
"Token-based Read/Write-Locks for Distributed Mutual Exclusion" by C. Wagner and F. Mueller
in Euro-Par 2000 Parallel Processing (Int. Euro-Par Conference),
Springer LNCS 1800, eds. A. Bode et al., Aug 2000, pages 1185-1195
-
"Combining Multi-Threading with Asynchronous Communication:
A Case Study with DSM-Threads using Myrinet via BIP and Madeleine" by T. Röblitz and F. Mueller
in Myrinet User Group Conference, published by INRIA,
Sep 2000, pages 131-138
Theses
-
"Bewertung von Algorithmen zum gegenseiten
Ausschluß" by C. Wagner,
Studienarbeit, Humboldt University Berlin, Nov 1998
-
"Algorithmen zum gegenseiten
Ausschluß in verteilten Systemen" by C. Wagner,
Master's Thesis, Humboldt University Berlin, Dec 1999
-
"Träge Release-Konsistenz" by P. Weisse,
Studienarbeit, Humboldt University Berlin, Feb 2000
-
"Dynamische Speicherverwaltung in einem verteilten System mit gemeinsamen Speicher" by N. Hahn,
Studienarbeit, Humboldt University Berlin, Mar 2000
-
"Kommunikation in
verteilten Systemen mit gemeinsamem Speicher" by T. Röblitz,
Master's Thesis, Humboldt University Berlin, Dec 2000