MPI - Eine Einführung

MPI - Eine Einführung

Einband:
Kartonierter Einband
EAN:
9783486580686
Untertitel:
Portable parallele Programmierung mit dem Message-Passing Interface
Genre:
Datenkommunikation & Netzwerke
Autor:
William Gropp, Ewing Lusk, Anthony Skjellum
Herausgeber:
De Gruyter Oldenbourg
Anzahl Seiten:
367
Erscheinungsdatum:
18.06.2007
ISBN:
978-3-486-58068-6

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.


Autorentext
Paul Molitor ist Professor für Technische Informatik an der Martin-Luther-Universität Halle-Wittenberg. Vor seiner Tätigkeit an der Universität Halle war er Professor für Schaltungstechnik an der Humboldt-Universität zu Berlin (1993/94) bzw. Projektleiter in dem an der Universität des Saarlandes und der Universität Kaiserslautern angegliederten Sonderforschungsbereich 'VLSI Entwurfsmethoden und Parallelität' (1983-92). Er studierte Informatik und Mathematik an der Universität des Saarlandes (Diplom 1982, Promotion 1986, Habilitation 1992).

Zusammenfassung
"Ein gutes Buch, das aktuell ist, gut darstellt und klare Beispiele gibt." Prof. Dr. Werner Erhard, Uni Jena "Das Buch gibt einen sehr umfangreichen, didaktisch sehr gut aufgebauten Überblick über das Programmieren mit MPI. Durch die zahlreichen praktischen Hinweise zur Erzeugung effizienter MPI-Programme ist es für den Anwender sicher auch mehr als nur "Eine Einführung". Hilfreich sind die zahlreichen Programmbeispiele, die zum eigenen Experimentieren anregen. Das Buch schließt eine Lücke im deutschsprachigen Lehrbuchangebot. Auf Grund der weiten Verbreitung von MPI für die Programmierung von Parallelrechnersystemen ist das Thema des Buches derzeit hochaktuell." Prof. Dr. Wolfgang Mönch, TU Bergakademie Freiberg "Der Inhalt wird klar, präzise und ohne Schnörkel dargestellt und alles, was eine Einführung beinhalten sollte, beinhaltet dieses Buch auch. Es gibt viele gute Tutorien, aber dieses Buch ist zitierbar, auch wenn es "nur" eine Übersetzung ist. Aber "den" Kernigan/Ritchie gibt es ja auch auf Deutsch." Prof. Dr. Wolfgang Joppich, FH Bonn-Rhein-Sieg

Leseprobe
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

Inhalt
- Parallelverarbeitung - warum? - Einführung in MPI - MPI in einfachen Programmen - MPI für Fortgeschrittene - Weitergehende Details zum Message-Passing mit MPI - Parallele Bibliotheken - Weitere Funktionen von MPI - Wie funktioniert eine MPI Implementierung? - Ein Vergleich von MPI mit anderen Systemen zur Interprozess Kommunikation - Weiterführende Themen


billigbuch.ch sucht jetzt für Sie die besten Angebote ...

Loading...

Die aktuellen Verkaufspreise von 5 Onlineshops werden in Realtime abgefragt.

Sie können das gewünschte Produkt anschliessend direkt beim Anbieter Ihrer Wahl bestellen.


Feedback