2011-01-16 7 views
4

Kann jemand einen guten Weg vorschlagen, um zu verstehen, wie MPI funktioniert?Kann jemand einen guten Weg vorschlagen, um zu verstehen, wie MPI funktioniert?

+2

Ein guter Weg zu beginnen ist durch Lesen der entsprechenden WikiPedia Artikel: http://en.wikipedia.org/wiki/Message_Passing_Interface und wenn es einige spezifische Probleme, die Sie begegnen oder einige Konzepte, die Sie nicht verstehen, stellen Sie eine Frage auf Paketüberfluss. –

+0

Was meinst du mit "wie MPI funktioniert"? Sind Sie an dem logischen Ansatz interessiert (z. B. welche Kommunikatoren, wie benutzerdefinierte Datentypen definiert werden usw.) oder sind Sie an Implementierungsdetails interessiert? – suszterpatt

Antwort

4

Wenn Sie mit einem Gewinde vertraut sind, dann behandeln Sie jeden Knoten als Thread (in einem Ausmaß)

Sie eine Nachricht senden (Arbeit) zu einem Knoten und es hat einige Arbeit und kehrt dann Sie einige Ergebnisse.

ähnliche Verhaltensweisen zwischen Thread & MPI:

Sie beinhalten alle Aufteilen eine Arbeit und verarbeitet sie separat.

Sie alle würden Overhead haben, wenn mehr Knoten/Threads beteiligt, MPI Overhead ist im Vergleich zu Thread signifikanter, Weitergabe von Nachrichten um Knoten würde erhebliche Overhead verursachen, wenn die Arbeit nicht sorgfältig partitioniert ist, könnte die Zeit mit der Weitergabe von Nachrichten enden Rechenzeit benötigt, um den Job zu verarbeiten.

Difference Verhalten:

Sie verschiedene Speichermodelle haben, jeder MPI-Knoten nicht teilt Speicher mit anderen und etwas über den Rest der Welt nicht wissen, wenn Sie etwas zu versenden.

1

Parallele Programmierung eines dieser Themen finden, die „eigen“ Komplex (im Gegensatz zu der „zufälligen“ Komplexität, wie Fred Brooks vermerkt) ist.

Ich verwendete Parallel Programming in MPI von Peter Pacheco. Dieses Buch gibt einen guten Überblick über die grundlegenden MPI-Themen, verfügbare APIs und allgemeine Muster für die parallele Programmkonstruktion.

Verwandte Themen