Revision [7481]
This is an old revision of MpiMpdRing made by ToBo on 2009-01-17 21:37:34.
MPD-Ring
1. Mit mehreren 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.
Unbedingt die /etc/hosts auf allen Rechnern anpassen oder mit BIND arbeiten
Die Rechner:
IBM | 486 66 MHz |
Orion | Pentium I, 133 MHz |
Amygdala | Pentium III (Coppermine) 667 MHz |
Thunderbird | Athlon Thunderbird mit 1.4 GHz und später mit 1.5 GHz |
MpdDC | Intel Dual Core 2 GHz |
mpdhosts2 mit vier Rechnern
insgesamt 5 CPUs
IBM ist nicht dabei
MpiDC:2 Thunderbird:1 amygdala:1 Orion:1
mpd auf dem lokalen Rechner und den Hosts (in dem Fall nur HOST2) starten
mpdboot -d -n 2 -f ../mpd_hosts
Oder das Skript runmpd verwenden: runmpd mpdhosts2
runmpd
#!/bin/bash
# Andreas Tobola
# Usage: mpdrun hostlist3
cd `dirname $0`
chmod 700 /home/mpi
NUM_OF_HOSTS=`wc -l $1 | awk '{print $1}'`
mpdboot -v -n $NUM_OF_HOSTS -f $1 && mpdringtest 10
chmod 770 /home/mpi
# Andreas Tobola
# Usage: mpdrun hostlist3
cd `dirname $0`
chmod 700 /home/mpi
NUM_OF_HOSTS=`wc -l $1 | awk '{print $1}'`
mpdboot -v -n $NUM_OF_HOSTS -f $1 && mpdringtest 10
chmod 770 /home/mpi
Wenn mpd nicht starten will, dann
mpdallexit mpdcleanup
$ ./runmpd mpdhosts2
running mpdallexit on amygdala LAUNCHED mpd on amygdala via RUNNING: mpd on amygdala LAUNCHED mpd on MpiDC via amygdala LAUNCHED mpd on Thunderbird via amygdala LAUNCHED mpd on Orion via amygdala RUNNING: mpd on MpiDC RUNNING: mpd on Thunderbird RUNNING: mpd on Orion time for 10 loops = 0.0871088504791 seconds
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
mpiexec -n 1 -host amygdala ~/code/mpi/04_ring/ring : -n 1 -host thalamus ~/mpi/ring : -n 1 -host IBM thalamus ~/mpi/ring
Fehlermeldung auf allen Rechnern
(mpiexec 392): no msg recvd from mpd when expecting ack of request
no msg recvd from mpd when expecting ack of request
Geht nicht! Das muss ich noch genauer untersuchen!
3. MPD auf einem bestimmten Rechner testen
3.1Einen einzelnen mpd zum Testen starten
normal zum Testen
mpd
oder als Dämon
mpd -d
3.2mpd auf einem Rechner mit 4 CPUs einrichten
mpd --daemon --ncpus=4