Revision [6985]
This is an old revision of MpiMpdRing made by ToBo on 2008-12-09 01:53:11.
MPD-Ring
1. Mit zwei Rechnern im LAN
Ein Ring ist eine Verkettung von mehreren mpd-Prozessen, die jeweils einem Prozessor zugeordnet sind. Die Prozessoren können auch auf verschiedenen Rechnern verteilt sein.
mpd_hosts mit zwei Rechnern
Unbedingt die /etc/hosts anpassen (siehe Fehlerbehandlung unten)
HOST1:1 HOST2:1
mpd auf dem lokalen Rechner und den Hosts (in dem Fall nur HOST2) starten
mpdallexit
mpdcleanup
mpdboot -d -n 2 -f ../mpd_hosts
mpdcleanup
mpdboot -d -n 2 -f ../mpd_hosts
$ mpdringtest 100
time for 100 loops = 1.73064303398 seconds
time for 100 loops = 1.73064303398 seconds
Starten von drei Prozessen auf HOST1 und einem Prozess auf HOST2
Insgesamt werden vier Prozesse (MpiBeispielRing Quellcode) gestartet.
mpiexec -n 3 -host HOST1 ~/code/mpi/04_ring/ring : -n 1 -host HOST2 ~/mpi/ring
Ausgabe
R1 is waiting for R0... R2 is waiting for R1... R3 is waiting for R2... R0 sent data to R1. R0 is waiting for R3... R1 received from R0: Wir spielen mit MPI! R1 sent data to R2. R1 is waiting for R0... R2 received from R1: Wir spielen mit MPI! R2 sent data to R3. ...
R0 bis R2 wurden auf HOST1 ausgeführt und R3 auf HOST2
Die Nachricht 2Wir spielen mit MPI!" wurde von R0 initial an R1 gesendet,
dann von R1 an R2,
dann von R2 an R3,
dann von R3 an R0
usw.
2. Mit drei Rechnern im Internet
Wie oben ywei Rechner im LAN, aber zusätzlich mit einem Rechner in 80 km Entfernung über das Internet über VPN (LinuxOpenVpn OpenVPN).
mpdboot
running mpdallexit on amygdala LAUNCHED mpd on amygdala via RUNNING: mpd on amygdala LAUNCHED mpd on thalamus via amygdala LAUNCHED mpd on IBM via amygdala RUNNING: mpd on thalamus RUNNING: mpd on IBM time for 50 loops = 9.1834859848 seconds
Siehe auch • •