Suche

Rthreads - Ein heterogenes Software Distributed Shared Memory System mit strukturierten Datenobjekten

Bernd Dreier

Dissertation, Universität Augsburg.
Erstgutachter: Professor Dr. H.-J. Töpfer
Zweitgutachter: Professor Dr. T. Ungerer
erschienen 02/1998


Zusammenfassung:

Die Dissertation stellt Rthreads, ein neues Distributed Shared Memory System, vor.

Rthreads wurde für den Einsatz in heterogenen Netzen entwickelt. Eine hohe Portabilität wird durch die ausschließliche Verwendung von Standard C sowie durch die Implementation der Netzwerkkommunikation aufbauend auf einem zugrundeliegenden Kommunikationssystem (z.B. PVM oder DCE) erreicht.

Die Kompatibilität mit POSIX Threads erlaubt Rthreads die nahtlose Eingliederung und Auslastung von Mehrprozessorworkstations in Rthreads Applikationen. Durch die Verwendung von syntaktisch zu den POSIX Threads äquivalenten Funktionen zur Synchronisation und Prozeßsteuerung wird die Rthreads Schnittstelle vereinheitlicht und für den Programmierer leicht durchschaubar. Die Verwendung von POSIX Threads im Rthreads System selbst führt zu einer sehr effizienten Implementation der Operationen im Distributed Shared Memory.

Für strukturierte Datenobjekte, wie Verbunde und Felder, stellt Rthreads spezielle Zugriffs- und Partitionierungsmethoden zur Verfügung, die es erlauben, Elemente des gemeinsamen Speichers zu (zur Laufzeit) dynamisch wechselnden Gruppen zusammenzufassen. Bei Feldern orientiert sich diese Gruppierung und die Partitionierung an den von High Performance Fortran bekannten Mechanismen, deren praktische Relevanz bekannt ist. Damit können den Bedürfnissen des Algorithmus' entsprechend zur Laufzeit jeweils verschiedene Gruppen von Feldelementen durch die Zugriffsoperationen angesprochen werden. Eine solche Realisierung von strukturierten Datenobjekten im Distributed Shared Memory ist von keinem anderen System bekannt.

Die praktische Auswertung verschiedener Test- und Applikationsprogramme zeigt die überlegene Effizienz von Rthreads im Vergleich zu engeren Verwandten wie Adsmith. Für bestimmte Klassen von Applikationen ist Rthreads sogar Systemen wie CVM überlegen, die Low-Level implementierte, systemabhängige Kommunikationsparadigmen verwenden.