Tout d'abord on récupère l'archive pvm3.4.5, puis on le décompresse :
# tar xvfz pvm3.4.5.tar.gz
on obtient par exemple le dossier : /usr/local/pvm3
avant toute compilation on doit exporter une variable :
PVM_ROOT=/usr/local/pvm3
export PVM_ROOT
à mettre dans le .bashrc de l'utilisateur qui devra lancer le daemon (root)... car cette variable sera utile même après un reboot de la machine !
ensuite dans le dossier /usr/local/pvm3 :
# make
Dans une grappe PVM, l'un des noeuds est utilisé pour la gestion de la grappe. Il utilise l'utilitaire rsh pour exécuter des commandes sur les autres noeuds comme le lancement du daemon... Il est donc impératif que l'utilisateur qui lance PVM bénéficie des droits suffissants sur rsh. Il faut, sur chaque noeud, créer un fichier .rhosts dans le home de l'utilisateur choisi (root). ce fichier devra contenir le nom des autres noeuds ainsi que celui des utilisateurs...
exemple :
# fichier /root/.rhosts de la machine noeud1
noeud0.domain.local root
noeudn.domain.local root
dans cet exemple, la première ligne autorise root en provenance de noeud0 à utiliser les services de rsh sur noeud1.
Pour cela il faut que le service rsh soit démarrer, en général via inetd, donc assurez-vous d'avoir dans /etc/inetd.conf :
shell stream tcp nowait root /usr/sbin/tcpd in.rshd -h -L
par défaut root n'est pas autoriser à utilisé rsh, l'option -h résoud ce problème !
pour vérifier que rsh fonctionne, vous pouvez tester une commande :
# rsh noeud1 ls
si vous obtenez permission denied, verifiez votre config... sinon c'est OK !
ps : noeud1 doit être present dans /etc/hosts pour la résolution de noms
reste plus qu'à démarrer notre grappe, depuis le serveur noeud0 :
# /usr/local/pvm3/lib/pvm
vous obtiendrez un shell pvm>
dés le premier lancement, le pvmd local est lancé sur le serveur...
pvm> conf
nous retourne :
HOST | DTID | ARCH | SPEED | DSIG |
noeud0 | 4000 | LINUX | 1000 | 0x00408841 |
on rajoute donc un nouveau noeud :
pvm> add noeud1
et cette fois-ci la commande conf doit retourner un truc du genre :
HOST | DTID | ARCH | SPEED | DSIG |
noeud0 | 4000 | LINUX | 1000 | 0x00408841 |
noeud1 | 8000 | LINUX | 1000 | 0x00408841 |
Notre grappe est à ce moment constitué de deux noeuds (noeud0 et noeud1)
on peut quitter pvm, sans pour autant arreter la grappe :
pvm> quit
notre grappe est toujours en fonctionnement, pour arreter la grappe, relancer pvm et :
pvm> halt
Autre méthode pour lancer la grappe
# /usr/local/pvm3/lib/pvmd /root/myhosts &
le fichier /root/myhosts contenant les noms des noeuds (un par ligne)