next up previous
Next: 3. Parallelität auf algorithmischer Up: 2. Parallel- und Vektorrechner Previous: 2.2.8 Freie Topologie

   
2.3 Parallele Betriebssystemerweiterungen und Programmiersprachen

Zu Beginn der größeren Anwendung von Parallelrechnern in der Forschung wurden nur bestimmte, hardwareabhängige Routinen unterstützt. Dahingehend wurden z.B. in programmiert.
$\Longrightarrow$ Schlechte Portierbarkeit der Quellen.
$\Longrightarrow$ Eigene Bibliotheken, mit sehr wenigen, hardwareabhängigen Rufen (libCubecom.a).

Hersteller von Parallelrechnern bieten z.T. eigene Betriebssystemerweiterungen für Unix an, welche gewisse Aufgaben zwischen Host und Parallelrechner regeln und die notwendigen Compiler, Bibliotheken etc. enthalten. Falls entsprechende Rechner der Firma Parsytec verfügbar sind, wird im Praktikum auf die OS-Erweiterung PARIX eingegangen.

Mittlerweile wurden parallele Hochsprachen wie High Performance Fortran (HPF), Vienna Fortran u.a. entwickelt. Diese Sprachen enthalten gewisse, die Parallelität unterstützende, Sprachkonstrukte, bzw. versucht der Compiler eine automatische Parallelisierung.

Eine andere Entwicklungsrichtung besteht in der Entwicklung einer allgemeinen, portablen Schnittstelle für MIMD-Rechner. Das Message Passing Interface (MPI) ist der aktuelle Abschluß dieser Bemühungen (hervorgegangen aus PVM, Express, u.a.). Da MPI mittlerweile von allen größeren Herstellern von Parallelrechnern unterstützt wird (meist sitzen Vertreter im MPI-Konsortium) und mittlerweile auf Workstationclustern (LINUX !), ja sogar unter Windows läuft, gehen wir im Praktikum speziell auf die Programmierung unter MPI ein. Zum Verständnis der Rufe in MPI ist Abschnitt 3.3 unbedingt erforderlich [Fos94,GLS94,Pac97].


next up previous
Next: 3. Parallelität auf algorithmischer Up: 2. Parallel- und Vektorrechner Previous: 2.2.8 Freie Topologie
Gundolf Haase
1998-12-22