|
Rthreads - Remote Threads
|
|
Ein vielfädiges DSM System für heterogene Workstation Cluster
|
|
von Bernd Dreier und
Markus Zahn
|
Überblick
Distributed-Shared-Memory-Systeme bieten sicher die attraktivsten Konzepte beim
Entwurf paralleler Anwendungen für Parallelrechnersysteme ohne gemeinsamen
Hauptspeicher. Auch lokal vernetzte Rechnerverbunde fallen aufgrund der nach
wie vor stark ansteigenden Leistungsfähigkeit von Computer-Netzwerken in diese
Kategorie.
Der "Kaufpreis" für Software-Distributed-Shared-Memory-Systeme ist im
wesentlichen durch den erhöhten Kommunikationsbedarf der parallelen Anwendung
und die daraus resultierenden Leistungseinbußen bestimmt. Das eigenentwickelte
Software-DSM-System Rthreads zeigt, wie sich diese Problemstellungen durch eine
für DSM-Systeme bisher einzigartige Methode, die konsequente Strukturierung
der Daten im Distributed-Shared-Memory in Verbindung mit darauf abgestimmten
Konsistenzmechanismen, umgehen lassen.
Der Begriff des Distributed-Shared-Memory (DSM)
wurde 1989 von Li und Hudak eingeführt. Den Prozessoren eines Multiprozessors
mit verteiltem Speicher wird dabei der Zugriff auf einen (physikalisch nicht
als solcher vorhandenen) logisch gemeinsamen Speicher ermöglicht. Seither
wurden bereits etliche
DSM-Systeme entwickelt. Rthreads zeichnen sich unter diesen vor allem durch
folgende Eigenschaften aus:
- Die Programmierschnittstelle von Rthreads lehnt sich eng an die
standardisierte POSIX-Threads Schnittstelle (POSIX1003.1c-1995) an.
- Rthreads unterstützen die Programmierung von grob- und feinkörniger
Parallelität durch dasselbe Programmierparadigma. Damit können die
Prozessoren von Multiprozessorworkstations durch Pthreads optimal
ausgenutzt werden. Grobkörnige Parallelität kann durch das Starten von
Rthreads auf andere Workstations verteilt werden.
- Die implementierten Konsistenzmechanismen arbeiten auf flexiblen,
benutzerdefinierten "Speichereinheiten" anstatt auf der Basis von
Speicherseiten (vorgegebener Größe) des zugrundeliegenden Betriebssystems.
- Rthreads unterstützen heterogene Netze.
- Durch die auf bestehenden verbreiteten Systemen zur Kommunikation
(bisher PVM,
MPI,
Active
Messages und DCE)
basierende Implementation wird größtmögliche Portabilität zwischen
möglichen Zielsystemen erreicht.
Neuere Veröffentlichungen zu Rthreads
- M. Zahn,
T. Ungerer:
Release-Konsistenz mit Eigentümern in objektbasierten
Software-DSM-Systemen. 2. Cluster-Computing Workshop, Karlsruhe,
25./26. März 1999.
- M. Zahn: Konsistenzmechanismen in
Software-DSM-Systemen auf der Basis strukturierter gemeinsamer
Speicherbereiche. Dissertation, Augsburg, Januar 1999,
ISBN 3-89639-166-6.
- M. Zahn, B. Dreier,
T. Ungerer:
Strukturierte Daten in
Software-Distributed-Shared-Memory-Systemen. Mitteilungen -
Gesellschaft für Informatik e.V., Parallel-Algorithmen und
-Rechnerstrukturen PARS'98, Karlsruhe, September 1998.
- B. Dreier, M. Zahn,
T. Ungerer:
The Rthreads Distributed Shared Memory System.
Third International Conference on Massively Parallel Computing Systems
MPCS'98, Colorado Springs, April 1998.
- B. Dreier, M. Zahn,
T. Ungerer:
Parallel and Distributed Programming with Pthreads
and Rthreads. Third International Workshop on High-Level Parallel
Programming Models and Supportive Environments HIPS'98, Orlando, Florida,
März/April 1998.
- Bernd Dreier: Rthreads - Ein heterogenes Software Distributed Shared
Memory System mit strukturierten Datenobjekten. Dissertation, Augsburg,
Januar 1998, ISBN 3-89639-097-X.
- B. Dreier, M. Zahn,
T. Ungerer:
Parallele und verteilte Programmierung mittels Rthreads
und Pthreads. 1. Cluster-Computing Workshop, Chemnitz,
6./7. November 1997.
- B. Dreier, M. Zahn,
T. Ungerer:
Rthreads - a Uniform Interface for
Parallel and Distributed Programming. Second International Conference
on Massively Parallel Computing Systems MPCS'96, 530-534, 1996.
Abgeschlossene Diplomarbeiten
Allgemeine Verweise auf Informationen zu Distributed-Shared-Memory
Markus Zahn, Bernd Dreier, Mai 1999