Verwandte Artikel zu MPI - Eine Einführung, Portable parallele Programmierung...

MPI - Eine Einführung, Portable parallele Programmierung mit dem Message-Passing Interface - Hardcover

Gropp, William; Lusk, Ewing; Skjellum, Anthony

 
9783486580686: MPI - Eine Einführung, Portable parallele Programmierung mit dem Message-Passing Interface

Inhaltsangabe

Message Passing Interface (MPI) ist ein Protokoll, das parallel Berechnungen auf verteilten, heterogenen, lose-gekoppelten Computersystemen ermöglicht. Das Buch beginnt mit einem kurzen Überblick über parallele Entwicklungsumgebungen und führt in die grundlegenden Konzepte ein. Anschließend wird gezeigt, wie anhand von graphischen Analysewerkzeugen die Leistungsfähigkeit eines Programms getestet werden kann. Die grundlegenden Fähigkeiten von MPI werden mittels des Poisson-Problems erörtert und gezeigt, wie MPI zur Umsetzung von virtuellen Topologien genutzt werden kann. Zur Illustration von anspruchsvolleren Funktionen des Message-Passing in MPI wird auf das N-Körper-Problem eingegangen. Nach einem Vergleich von MPI-Implementierungen mit anderen Systemen wird das Buch durch Sprachfestlegungen für C-, C++ und Fortran-Versionen aller MPI-Routinen abgerundet.

Die Inhaltsangabe kann sich auf eine andere Ausgabe dieses Titels beziehen.

Auszug. © Genehmigter Nachdruck. Alle Rechte vorbehalten.

1 Motivation (S. 1)

In diesem Kapitel werfen wir einen Blick auf die Rahmenbedingungen, unter denen sich der MPI-Standard entwickelte, beginnend mit der derzeitigen Situation in der Parallelverarbeitung und der weiten Verbreitung des Message-Passing-Modells für parallele Berechnungen bis hin zu dem eigentlichen Prozess, durch den MPI entwickelt wurde.

1.1 Parallelverarbeitung – warum?

Leistungsstarke Rechner haben in den letzten Jahren eine neue, immer mehr akzeptierte Art und Weise, Wissenschaft zu betreiben, gefördert. Aus den zwei klassischen Zweigen "Theoretische Wissenschaft" und "Experimentelle Wissenschaft" entwickelte sich eine Berechnungswissenschaft (engl.: computational science). Computational scientists simulieren auf Höchstleistungsrechnern Phenomäne, die zu komplex sind, um sie alleine durch theoretische Betrachtungen zuverlässig vorhersagen zu können, und die zu gefährlich oder zu aufwändig sind, um sie im Labor reproduzieren zu können.

Die im Bereich der computational science errungenen Erfolge und erworbenen Erkenntnisse haben in den letzten zehn Jahren die Forderung nach Höchstleistungsrechnern stark anwachsen lassen. Während dieser Zeit entwickelten sich die Parallelrechner von Experimentalmaschinen, die in der Regel nur im Labor zu finden waren, zum alltäglichen Werkzeug der computational scientists, die zur Lösung ihrer Probleme das Beste an Rechenressourcen benötigen.

Mehrere Faktoren haben diese Entwicklung stimuliert. Nicht nur, dass Lichtgeschwindigkeit und Effektivität der Wärmeabfuhr der Geschwindigkeit eines Einzelrechners physikalische Grenzen setzen. (Um einen größeren Wagen ziehen zu lassen, ist es leichter, mehr Ochsen einzuspannen als einen Riesenochsen zu züchten.) Auch steigen die Kosten zeitgemäßer Einprozessorrechner stärker als ihre Leistung. (Große Ochsen sind teuer.) Preis-Leistungsverhältnisse werden besonders interessant, wenn erforderliche Rechenressourcen vor Ort verfügbar sind und nicht gekauft werden müssen.

Dieser Umstand hat zahlreiche Ansätze hervorgebracht, um vorhandene Rechnernetzwerke, die an sich für gewöhnliche Anwendungen installiert worden sind, als Parallelrechner für komplexere Aufgaben zu nutzen, also als SCAN (SuperComputers At Night ). Aktuell bieten Cluster von PCs (personal computer) bzw.Workstations beträchtliche Rechenleistungen bei moderaten Kosten, was eine Folge der gestiegenen Leistung der PCs bei fallenden Preisen sowohl bei PCs als auch bei der Netzwerkhardware ist.

Die größten dieser Cluster, gebaut aus handelsüblichen Komponenten (COTS – Commercial Off-The-Shelf), konkurrieren mit den Angeboten der traditionellen Supercomputer-Hersteller. Eine besondere Art dieses Zugangs, die offene Systemsoftware und dedizierte Netzwerke verwendet, firmiert unter dem Namen "Beowulf" [SSBS99]. Zudem hat es das Wachstum von Geschwindigkeit und Kapazität der Weitverkehrsnetze (WANs – Wide-Area Networks) ermöglicht, Anwendungen zu implementieren, die auf Rechenkapazitäten zugreifen, die über die ganze Welt verteilt sind. Viele Forscher nutzen das Konzept eines "Grid" [FK99a] von Rechenressourcen und Netzen, das in gewisser Weise dem Elektroenergienetz ähnelt.

Somit drängen die Überlegungen sowohl zu Spitzenleistung als auch zum Preis-Leistungs- Verhältnis den Bereich des Hochleistungsrechnens (engl.: large-scale computing) in Richtung Parallelität. Doch warum ist dann die Parallelverarbeitung nicht vorherrschend? Warum schreibt nicht jeder parallele Programme?

1.2 Hemmnisse

Barrieren bei der breiten Nutzung von

„Über diesen Titel“ kann sich auf eine andere Ausgabe dieses Titels beziehen.