Diskussion:Message Passing Interface

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 18. Juni 2022 um 09:27 Uhr durch imported>Anonym~dewiki(31560) (→‎Implementierungen sollten Protokoll nennen).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Meiner Meinung nach ist MPI kein Protokoll. Ein Protokoll ist eine exakte Vereinbarung, welche auch die Kommunikation zwischen verschiedenen MPI Bibliotheken erlauben müsste. Dies geht aber gerade nicht. Vielmehr ist es die Spezifikation einer Bibliothek, siehe ersten Link.

synchron / asynchron

In Absatz 1.1 steht, die Funktionen MPI_Send und MPI_Recv seien "blockierend und asynchron", als Erläuterung heisst es weiter: "MPI_Send blockiert, bis die Nachricht vollständig übermittelt wurde" Dann wäre MPI_Send doch aber synchron? (siehe Synchrone Kommunikation) --grondhal

Dieser Teil im Artikel war nicht ganz korrekt: Laut Standard muss nur sichergestellt sein, dass nach der Rückkehr von MPI_Send der entsprechende Sendepuffer wiederverwendet werden kann. Die Nachricht kann also auch bspw. irgendwo zwischengespeichert werden. (Artikel korrigiert)

Kommunikation im Cluster

Ich halte es für unglücklich ausgerechnet TCP als Beispiel für Kommunikation innerhalb eines Clusters zu wählen; insbesondere im Zusammenhang mit MPI. TCP ist ein datenstromorientiertes Übertragungsprotokoll. Aufgrund der fehlenden Nachrichtentrennung ist es äusserst aufwändig nachrichtenbasierte Kommunikation über TCP zu realisieren. Auch setzen die meisten MPI-Implementierungen nicht auf einem Protokoll der Transportschicht sondern eher auf der Sicherungssschicht auf. Als Besipiel würden sich hier also eher Ethernet oder andere, Cluster-spezifische Protokolle wie Myrinet oder Infiniband anbieten. Ich möchte mich dringend dafür aussprechen das zu ändern!

Implementierungen

Bevor meine Anederungen wieder als Unsinn tituliert werden: IMO macht es absolut keinen Sinn, einen Implementierungsteil Fotran oder Java zu haben und da nichts reinzuschreiben. Entweder es gibt Implementierungen fuer diese Sprachen oder nicht. Fotran wird von Open MPI,MPICH und MVAPICH unterstuetzt also sollte das erwaehnt werden (Vielelicht auch durch die kombinierte Kategorie C/C++/Fortran). Auch wenn das wie weiter oben "obligatorisch" ist bezweifle ich irgendwie, dass die Pythonimplementierungen das koennen.... (nicht signierter Beitrag von 132.187.40.88 (Diskussion | Beiträge) 16:46, 9. Jul 2009 (CEST))

Defekte Weblinks

GiftBot (Diskussion) 18:47, 3. Dez. 2015 (CET)

Implementierungen sollten Protokoll nennen

Er legt dabei eine Sammlung von Operationen und ihre Semantik, also eine Programmierschnittstelle fest, aber kein konkretes Protokoll und keine Implementierung.

Laut Einleitung definiert der MPI Standard lediglich die API und die Semantik, aber kein Protokoll und keine Implementierung. Daher reicht es nicht aus Implementierungen verschiedener Sprachen zu nennen, ohne das zugrunde liegende Protokoll (Auf Transportebene: UDP, TCP, pgm ... auf Anwendungsebene: ?!?!?!) zu nennen.

Ohne das Protokoll zu nennen ist eine Implementierung ziemlich nutzlos, wenn man mit verschiedenen Sprachen arbeitet. Da die Wahrscheinlichkeit, dass verschiedene Protokolle zum Einsatz kommen, nicht allzu gering sein dürfte. --95.91.242.234 11:26, 18. Jun. 2022 (CEST)