In welche Szenarien passt MPI besser als MapReduce?

Nach meinem Verständnis kann ich mit MPI viel besser steuern, wie genau die verschiedenen Knoten im Cluster kommunizieren.

In MapReduce / Hadoop führt jeder Knoten eine Berechnung durch, tauscht Daten mit anderen Knoten aus und sortiert dann die Ergebnispartition. Scheint einfach, aber da Sie den Prozess iterieren können, passen selbst Algorithmen wie K-means oder PageRank recht gut zum Modell. Auf einem verteilten Dateisystem mit Zeitplanungslokalität ist die Leistung anscheinend gut. Im Vergleich dazu gibt mir MPI eine explizite Kontrolle darüber, wie Knoten Nachrichten aneinander senden.

Kann jemand ein Cluster-Programmierszenario beschreiben, bei dem das allgemeinere MPI-Modell ein offensichtlicher Vorteil gegenüber dem einfacheren MapReduce-Modell ist?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage