[root@master ~]# yum groupinstall 'Development Tools'
[root@master ~]# yum install openmpi openmpi-devel --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================================================================= Installing: openmpi x86_64 1.5.3-3.el6 base 2.1 M openmpi-devel x86_64 1.5.3-3.el6 base 2.4 M Installing for dependencies: cloog-ppl x86_64 0.15.7-1.2.el6 base 93 k cpp x86_64 4.4.6-3.el6 base 3.7 M environment-modules x86_64 3.2.7b-6.el6 base 96 k gcc x86_64 4.4.6-3.el6 base 10 M gcc-gfortran x86_64 4.4.6-3.el6 base 4.7 M glibc-devel x86_64 2.12-1.47.el6_2.12 updates 967 k glibc-headers x86_64 2.12-1.47.el6_2.12 updates 598 k kernel-headers x86_64 2.6.32-220.13.1.el6 updates 1.6 M libesmtp x86_64 1.0.4-16.el6 epel 57 k libgfortran x86_64 4.4.6-3.el6 base 263 k libibverbs x86_64 1.1.5-3.el6 base 44 k librdmacm x86_64 1.0.14.1-3.el6 base 27 k mpfr x86_64 2.4.1-6.el6 base 157 k ppl x86_64 0.10.2-11.el6 base 1.3 M tcl x86_64 1:8.5.7-6.el6 base 1.9 M Updating for dependencies: glibc x86_64 2.12-1.47.el6_2.12 updates 3.8 M glibc-common x86_64 2.12-1.47.el6_2.12 updates 14 M Transaction Summary ============================================================================================================================================================================================================= Install 17 Package(s) Upgrade 2 Package(s) Total download size: 48 M Is this ok [y/N]: y
[root@master src]# yum install mpich2-devel Dependencies Resolved ============================================================================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================================================================= Installing: mpich2-devel x86_64 1.2.1-2.3.el6 base 997 k Installing for dependencies: mpich2 x86_64 1.2.1-2.3.el6 base 3.7 M Transaction Summary ============================================================================================================================================================================================================= Install 2 Package(s) Total download size: 4.7 M Installed size: 14 M Is this ok [y/N]: y
[root@master src]# which mpirun /usr/bin/which: no mpirun in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@master src]# module avail -------------------------------------------------------------------------------------- /usr/share/Modules/modulefiles --------------------------------------------------------------------------------------- dot module-cvs module-info modules null use.own --------------------------------------------------------------------------------------------- /etc/modulefiles ---------------------------------------------------------------------------------------------- compat-openmpi-x86_64 openmpi-x86_64
[root@master src]# module add openmpi-x86_64 [root@master src]# mpicc -v Utilisation des specs internes. Target: x86_64-redhat-linux Configuré avec: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Modèle de thread: posix gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)
Le but est de créer sur chaque machine de son cluster un utilisateur du même nom avec le même mot de passe. (même si c'est pas conseillé)
Dans mon cas, les machines sont sur un LAN, et non relié directement à Internet.
Il y'(a deux fichiers de configuration à placer dans le home de l'user concerné, dans mon cas encore une fois l'user c'est “cluster”
cluster@master:~$ touch ~/.mpd.conf cluster@master:~$ chmod 600 ~/.mpd.conf cluster@master:~$ echo secretword=THESUPERMOTDEPASSEDECLUSTERquitue>~/.mpd.conf
cluster@master:~$ ifconfig brLan Link encap:Ethernet HWaddr 74:xx:xx:xx:xx:2E inet adr:192.168.1.1 Bcast:192.168.1.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1685752 errors:0 dropped:0 overruns:0 frame:0 TX packets:1505656 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:219240819 (209.0 MiB) TX bytes:335105161 (319.5 MiB) cluster@master:~$ cat /proc/cpuinfo|grep processor|wc -l 4 cluster@master:~$ echo 192.168.1.1:3>~/mpd.hosts
[cluster@master /]$ mpdboot [cluster@master /]$ mpdtrace master [cluster@master /]$ mpdexit usage: mpdexit mpdid mpdid may be obtained via mpdtrace -l (or may be "localmpd") Causes a single mpd to exit (and thus exit the ring). Note that this may cause other mpds to become 'isolated' if they entered the ring through the exiting one.
[cluster@master run]$ ./john -format=DES -test Benchmarking: Traditional DES [128/128 BS SSE2-16]... DONE Many salts: 3440K c/s real, 3447K c/s virtual Only one salt: 2902K c/s real, 2902K c/s virtual
[cluster@master run]$ mpirun -np 4 ./john -format=DES -test Benchmarking: Traditional DES [128/128 BS SSE2-16]... DONE Many salts: 13487K c/s real, 13773K c/s virtual Only one salt: 11326K c/s real, 11572K c/s virtual
Pour le bon fonctionnement de ce script, il faut que les clés SSH
for i in `cut -d=: -f1 ~/mpd.hosts`; do scp ~/.mpd.conf cluster@$i:~; scp ~/mpd.hosts cluster@$i:~; done