Einbindung von Multi-Threading und effizienter Synchronisation in den SVM-Fortran-Compiler
Einbindung von Multi-Threading und effizienter Synchronisation in den SVM-Fortran-Compiler
Die Verwendung von gemeinsamem Speicher auf Parallelrechnern vereinfacht die Programmierung dieser Systeme. Auf Systemen mit physikalisch getrenntem Speicher kann durch Software virtuell gemeinsamer Speicher zur Verfügung gestellt werden. Dieses Prinzip verwirklicht ASVM auf dem Parallelrechner Inte...
Saved in:
Personal Name(s): | Worringen, Joachim (Corresponding Author) |
---|---|
Contributing Institute: |
Jülich Supercomputing Center; JSC Zentralinstitut für Angewandte Mathematik; ZAM |
Published in: | 1997 |
Imprint: |
Jülich
Forschungszentrum Jülich GmbH Zentralbibliothek, Verlag
1997
|
Physical Description: |
133 p. |
Dissertation Note: |
Diplomarbeit, RWTH Aachen, 1997 |
Document Type: |
Diploma Thesis Report Book |
Research Program: |
ohne Topic |
Series Title: |
Berichte des Forschungszentrums Jülich
3443 |
Subject (ZB): | |
Link: |
OpenAccess OpenAccess |
Publikationsportal JuSER |
Die Verwendung von gemeinsamem Speicher auf Parallelrechnern vereinfacht die Programmierung dieser Systeme. Auf Systemen mit physikalisch getrenntem Speicher kann durch Software virtuell gemeinsamer Speicher zur Verfügung gestellt werden. Dieses Prinzip verwirklicht ASVM auf dem Parallelrechner Intel Paragon XP/S. Der virtuell gemeinsame Speicher ist seitenweise organisiert: Ein Zugriff auf ein nicht lokal vorhandenes Datum führt zu einem Seitenfehler, der die Übermittlung der referenzierten Seite auslöst. Die Dauer der Behandlung dieses Seitenfehlers liegt im Bereich von mehreren Millisekunden.Der Fortrandialekt SVM-Fortran führt parallele Erweiterungen von Fortran77 auf Systemen mit virtuell gemeinsamem Speicher ein. Die Erweiterungen sind mittels eines Precompilers und zugehöriger Laufzeitbibliothek implementiert. Zur Verdeckung der auftretenden Latenzzeiten bei Seitenfehlern wurde Multithreading in SVM-Fortran integriert, um bei Auftreten eines Seitenfehlers einen anderen Thread einen anderen Teil der Daten bearbeiten zu lassen.Die Arbeit beschreibt die Grundlagen des Multithreadings und von effizienten Synchronisationsalgorithmen für verschiedene Architekturklasssen paralleler Systeme (UMA, NU- MA, NORMA). Sie erläutert die Einbindung des Multithreadings in den Precompiler und die Laufzeitbibliothek und evaluiert die Effekte des Multithreadings anhand synthetischer und praktischer Benchmarks. Die Ergebnisse belegen die grundsätzliche Wirksamkeit des vorgestellten Prinzips. |