next up previous contents
Nächste Seite: Programmierung: Aufwärts: Message-Passing Vorherige Seite: Programmierung:   Inhalt


Message Passing Interface

MPI[*] war der erste Versuch einen Standard für Message-Passing zu definieren. Das erste Treffen zur Schaffung eines Message-Passing Standards war im April 1992. In diesem MPI-Forum waren Rechnerhersteller, Softwareentwickler und Universitäten vertreten. Der erste Standard von MPI wurde im im Mai 1994 veröffentlicht[Forum 1993b]. Bei der Schaffung des Standards sollten die sinnvollsten Grundideen der verschiedenen vorher vorhandenen Systeme übernommen werden. Ziele waren:

Es wurde die Entwicklung eines Standards zur einfacheren Portierbarkeit von Software notwendig. Früher ging man davon aus, dass die Hardware länger bestehen würde als die Software. Daher war die Entwicklung von spezieller Software für einen Rechner zulässig. Anfang der neunziger Jahre erkannte man, dass die Software weiterentwickelt wird und meistens noch benutzt wird, während die Hardware schon lange nicht mehr verwendet wird. Hieraus entwickelte sich das Interesse an einer einfachen Portierbarkeit der Software von einem Parallelrechner zu einem anderen.

Entsprechend dem Standard MPI wurde das MPICH von William Gropp und Ewing Lusk am Argonne National Laboratory, USA, als portable Installation des MPI-Standards entwickelt[Gropp u. a. 1994]. Hierzu gehören einige Erweiterungen, u.a. die MPE Bibliothek[*], die eine Reihe von zusätzlichen Funktionen enthält, wie z.B. zur Ausgabe über X-Windows, ferner Hilfsprogramme zum Übersetzen, Laden und Starten von MPI-Programmen.

MPI enthält keine Möglichkeiten der Datenkonvertierung während des Austauschens. Daher ist die Verwendung von MPI nur auf speziellen Parallelrechnern und in Rechner-Clustern möglich, die aus Maschinen mit gleicher Architektur bestehen.

Eine dynamische Konfiguration des Netzwerkes oder die Überwachung von Prozessoren durch einen anderen sind in MPI nicht vorgesehen.



Unterabschnitte
next up previous contents
Nächste Seite: Programmierung: Aufwärts: Message-Passing Vorherige Seite: Programmierung:   Inhalt