2009-04-05 6 views
3

Kann ich mit dem Boost MPI Dateien an andere Computer senden? Meine Sorge ist, dass es für sehr kleine Nachrichten optimiert ist und nicht größer (ich muss 700 MB oder mehr auf einmal verschicken). Der Grund ist, dass ich MPI wahrscheinlich für andere Teile des Programms verwenden werde, also dachte ich, es wäre eine ziemlich saubere Lösung, die nicht zusammenpasst.Boost MPI zum Senden von Dateien verwenden?

Wurde es gemacht? Würdest du es weiterempfehlen?

Antwort

3

Denken Sie daran, dass MPI Erhöhung erfordert, dass Sie bereits auf den Systemen eine MPI-Implementierung haben Sie mit Dateien wollen (OpenMPI, MPICH2 schicken, MVAPICH2 usw.). Ich werde eins davon brauchen, um mit Boost MPI zu gehen.

Denken Sie auch daran, dass MPI für Hochleistungscluster konzipiert ist und die meisten MPI-Implementierungen davon ausgehen, dass Sie über zuverlässige Hardware verfügen. Das heißt, wenn Sie eine Anwendung in MPI geschrieben haben und einer Ihrer Prozesse untergeht, werden wahrscheinlich alle sterben.

Wenn Sie planen, dies in einer lokalen Umgebung in Ihrem eigenen Netzwerk zu verwenden, und Sie beabsichtigen, meist Batch-Jobs und nicht persistent Dienste ausgeführt wird, dann könnte MPI eine gute Wahl sein. Wenn nicht, dann schauen Sie sich eine andere Messaging-Lösung an, die für eine verteilte, weniger zuverlässige Umgebung entwickelt wurde.

+0

Boost.MPI ist nur ein Wrapper um die Message Passing Interface, die nicht viel mit C++ zu tun hat. Siehe: http://www.mcs.anl.gov/research/projects/mpi/ Es gab zahlreiche Versuche, MPI fehlertoleranter zu machen (siehe http://www.open-mpi.org/faq/?category) = ft) – tgamblin

+0

Aber nicht viele von diesen haben sich in einer größeren Implementierung durchgesetzt, hauptsächlich weil die Fehlertoleranz im Standard nicht gut spezifiziert ist. Es wird erst jetzt wirklich notwendig, da große Cluster größer als 100 Kerne werden ... in der Vergangenheit war MPI für Hochleistungsmaschinen in Ordnung. – tgamblin

2

MPI wurde für parallele Hochleistungsanwendungen entwickelt, daher kann ich es nur empfehlen. (Beachten Sie, dass alle Boost-Bibliotheken, die gründlich vaildated akzeptiert wurden und getestet

Die 700mb Dateien sollte kein Problem sein, nach dem reference documentation

anderen (hoffentlich interessant) Funktion: „Boost.MPI Prozesse kann über viele verschiedene Maschinen verteilt werden, möglicherweise mit unterschiedlichen Betriebssystemen und die zugrunde liegenden Architekturen.“

+1

Ich finde es interessant, dass Sie MPI empfehlen können, obwohl Sie keine Ahnung haben, welche Art von Anwendung DanielSwe baut. Es könnte sein, dass eine verteilte System-Middleware besser geeignet ist ... wir wissen es einfach nicht. – paxos1977

Verwandte Themen