====== ParallelKnoppix ======
{{deb:parallelknoppix.png?nolink}}

===== Présentation =====
**Bienvenu sur PK(ParallelKnoppix) ! ce manuel s’applique à la dernière version, la 2x. 
pour le tuto de la version 1x aller ici :**
[[http://pareto.uab.es/mcreel/ParallelKnoppix/OldTutorial/ParallelKnoppixTutorial.html|ParallelKnoppix]]

Un Cluster PKnoppix peut-être fait en démarrant l’ordinateur à partir du CD, ou en démarrant d’une machine virtuelle par le CD image. Je recommande de démarrer le nœud de la machine principal de Pknoppix dans une machine virtuelle. Ainsi fait, vous restez dans votre environnement de système d’exploitation (linux,windows,…) Et vous n’avez pas besoin de graver d’autres CD.  Les nœuds du PC peuvent encore fonctionnées en temps réels, à pleine vitesse, Linux non virtualisé, indépendamment si le nœud principal est ou non virtuel ou réel, ainsi il n’y a pas de perte de performance. Les versions Parallelknoppix sont aussi testées sur [[qemu:Qemu]] et VMware Server avant leur sortie. Elles sont toutes deux librement téléchargeable et tournent sur Linux et Windows. Si vous tournez sur l’un ou l’autre de ces systèmes vous ne devriez avoir aucuns soucis. D’autres systèmes de virtualisation fonctionneront très probablement aussi, mais je n’ai pas le temps de tester Pknoppix sur tous. Pour apprendre comment démarrer sur [[qemu:Qemu]] et VMware pour tourner sur Pk, voir la section du manuel [[http://pareto.uab.es/mcreel/ParallelKnoppix/Tutorial/Tutorial.html#Virtualization|virtualisation]]. Le paramétrage de la virtualisation demande un peu de travail, mais ce n’est pas dur, & c’est la manière la plus productive d’employer ParallelKnoppix.

Si vous choisissez d’initialiser votre ordinateur à l’aide du CD, Vous ne devriez pas avoir de problème , mais dans certains cas vous aurez besoin d’employer des cheatcodes [[http://www.knoppix.net/wiki/Cheat_Codes|cheatcodes]] pour accéder aux matériels. 

D’une manière ou l’autre, vous devez télécharger l’image du CD de PKnoppix. Je recommande de la tester avec le « hash » md5 à comparer avec le hash correcte signalé sur la page de téléchargement pour s’assurer que votre image n’est pas corrompue. Si vous décider de graver un CD, utiliser une vitesse réduite, de préférence.

Quelques informations sur la sécurité avant de commencer. Pknoppix est assez sécurisée : excepté si, l’accès se fait sur le nœud principal, soit physiquement ou à travers le net ; de sorte que certaines personnes peuvent faire ce qu’elles veulent sur les ordinateurs du cluster.  Même si Pknoppix n’a accès au disque durs de ces machines sur le cluster (excepté pour l’utilisation du swap de linux, s’il existe), les partitions des disques durs peuvent être montées. Ainsi ne laisser pas des personnes malveillantes ou incompétentes utiliser PK sur vos Pcs ! Il est difficile d’entrer dans les nœuds de calcul, à l’exception du nœud principal.

**Etiquette** : PKnoppix devient un serveur dhcp, afin d’assigner des adresses IP aux nœud de calculs. En outre, c’est un très simple serveur Dhcp occupé- Il donnera une adresse IP à l’ordinateur qui lui demande. Ainsi n’utilisez pas Pk sur un réseau existant, ou vous aurez des ennuis avec les administrateurs, puisque le serveur dhcp de PK pourrait démarrer en attribuant des ips en dehors, à d’autres ordinateurs, et les gens ne pourront récupérer le travail effectué. N’oubliez pas d’isoler votre cluster des autres réseaux avant de démarrer l’application. Ceci améliorera également la sécurité. Une fois que votre cluster est établi, vous pouvez couper le serveur de dhcp et vous connecter aux autres réseaux.\\ \\ 

==== Dernière version stable ====
  *//[[http://quebecos.com/index.php?option=com_content&task=view&id=796&Itemid=2|Article officiel]]//\\ \\ 
**ParallelKnoppix 2.8:**\\ 
Sortie de la distribution **ParallelKnoppix 2.8** maintenue par Michael Creel. Pour rappel, ParallelKnoppix est un live-CD basé sur KNOPPIX qui permet de créer des clusters et ainsi d'effectuer du calcul en parallèle sur plusieurs ordinateurs en utilisant une implantation de MPI grâce à LAM-MPI ou MPICH.\\ 
Cette version est uniquement destinée aux processeurs **64 bits** et apporte comme nouveautés des répertoires **/home** et **/root** désormais en **NFS** ce qui rend possible l'ajout d'utilisateurs, le montage de périphériques de stockage dans /home par les utilisateurs pour préserver l'espace disque et sauver le travail entre les sessions ; le passage du noyau à la version 2.6.23.8, Open MPI à 1.2.4, Octave à 2.9.14, SciPy à 0.60, NumPy à 1.0.3.1, Parallel Python à 2.5rc, [[kde:presentation|KDE]] à 3.5.8 et Cloop à 2.0622.
  *[[http://linuxtracker.org/download.php?id=4894&name=parallelknoppix64-2.8.iso.torrent|Téléchargement via torrent]]
===== Liens =====

http://pareto.uab.es/mcreel/ParallelKnoppix/Tutorial/Tutorial.html)
 
{{logoparallelknoppix.png|}}


//Traduction Réalisée par MANDI3K (http://landriken.freezee.org)//

===== Tutoriaux =====

**Index du manuel**

   - Initialisation de l’installation
   - Utilisation :
          * C
          * Fortran
          * Octave
          * Ajouter le logiciel : GROMACS
   - PK fonctionne sur un autre OS en utilisant la virtualisation :
          * VMware
          * QEMU

-----------------------------------------------------------------------


**Initialisation de l’installation :
Initialiser votre nœud principal à l’aide du CD. Vous devriez voir ceci comme suit :**

{{parallelekp:initial_setup1.png?600}}

OK, première chose : liser attentivement ceci avant de démarrer. Noter que la version de développement apparait, au dessus à droite, à boot : au prompt : ParallelKnoppix version : 2.5

Avant de continuer, vous devriez vous assurez qu’il n’y a pas de version à jour de Pk. Vous pouvez taper sur F2 et F3 pour obtenir des informations à passer au boot. Il y a plus d’information sur les cheatcodes [[http://www.knoppix.net/wiki/Cheat_Codes|Cheat_Codes]] disponible sur le net.  Si vous avez des problèmes au boot pour obtenir le nœud principal…Ok maintenant vous pouvez saisir en entrant le code adéquat…

**Après vous serez sur l’écran suivant sur le bureau de kde :**

{{parallelekp:initial_setup_3.png?600}}

Cet écran vous dirige sur quelques liens, y compris sur ce manuel. Veuillez prendre le temps de vérifier les liens connexes.

Pour établir un cluster, vous avez besoin au moins d’un ordinateur de plus, ou vous pouvez créer un cluster virtuel en utilisant un paquet de virtualisation comme QEMU ou VMware (c’est ce que j’utilise pour faire ces prises de vues). L’ordinateur que vous avez initialisé avec le CD est le nœud principal, et les autres ordinateurs sont les nœuds de calcul. Ils doivent être reliés ensemble dans un réseau. Vous pouvez utiliser un port Ethernet existant, vous pouvez acheter un commutateur et quelques câbles, ou si vous voulez faire simple, vous pouvez utiliser un câble croisé pour relier un nœud simple au nœud principal. Je recommande de déconnecté le nœud principal des autres réseaux autre que celui du cluster, au moins jusqu’à ce que nous ayons pris les quelques mesures qui nous assure que le raccordement externe soit sécurisé. C’est également important de s’assurer que les nœuds de calcul ne voient pas n’importe quel serveur de dhcp autre que le nœud principal, qui causerait toutes sortes de prises de têtes, pour toi & tes collègues.

Les nœuds de calculs peuvent être initialisés en utilisant les copies du CD de PKnoppix, ou à travers le réseau, en utilisant les possibilités d’initialisation de PXE de leurs cartes de réseau. Cette option est recommandée. Vous pourriez à avoir à apprendre un peu plus dessus afin que cela fonctionne, mais vous serez heureux de l’avoir fait. Si vous voulez juste le maintenir d’une manière simple, employer la méthode du CD.  Vous aurez besoin d’un CD de Pk pour chaque nœud de calcul. Ceci fonctionne très bien si votre cluster est relativement petit. Ceci à l’avantage de fonctionner avec les cartes de réseau qui ne font pas d’initialisation de PXE.

Pour employer la méthode de PXE, vous pouvez avoir besoin d’activer le dispositif dans les routines d’installations du BIOS des nœuds de calcul. Paramétrer les nœuds de calcul pour essayer l’initialisation en PXE, avant de démarrer des disques durs. Si vos cartes Ethernets sont trop anciennes pour faire l’initialisation en PXE, je recommande de les remplacer avec de nouvelles, vous y gagnerez en temps. Si vous ne pouvez pas vous le permettre, vous êtes disposer à rentrer dans les détails, de fait, ROM-o-matic peut être utile.

En considérant que vous avez fait l’installation physique du cluster, et que les nœuds de calcul sont prêts à l’initialisation, nous pouvons commencer. Chercher le menu Parallelknoppix dans le panneau et cliquer sur l’installation de ParallelKnoppix :

{{parallelekp:initial_setup_4.png?600}}

Vous voyez l’information suivante :

{{parallelekp:initial_setup_5.png?600}}

Vous avez seulement un périphérique de réseau, le prochain écran n’apparaitra pas. Mais si vous employez  ce qui a été recommandé pour l’installation de la virtualisation, vous aurez 2 périphériques, ainsi vous verrez ce qui suit :

{{parallelekp:initial_setup_5.5.png?600}}

Choisissez le périphérique utilisé pour le cluster (dans la machine de virtualisation, choisit le périphérique qui sera relié au bon port).  D’un côté, c’est possible de relier un cluster sans fil avec  Pk, voir ce lien [[http://157.181.66.70/wmlc/english.html|cluster_sans_fil(eng)]]. Après nous avons ceci :
{{parallelekp:initial_setup_6.png?600}}

A ce moment là,  vous devez inclure le support pour tous les autres périphériques auxquels les nœuds du calculs sont rattachés, au cluster. J’espère simplifier ceci dans le futur, mais encore maintenant, vous devez sélectionner les bons modules. (Pilotes). Certains des modèles les plus employés couramment sont présélectionnés. Bonne chance !

Après vous pouvez ajouter les cheatcodes [[http://www.knoppix.net/wiki/Cheat_Codes|cheat_codes]] dont vous pourriez avoir besoin pour faire l’initialisation de nœuds de calcul. Le code qui est entré ici, est passé pour tous les nœuds de calcul. La plupart des gens peuvent laisser l’entrée en blanc. Quelques options sont à essayer si vous n’avez pas la chance que cela passe ; par ex : (noapic et acpi=off)

{{parallelekp:initial_setup_7.png?600}}

Maintenant le cluster est paramétré comme suit :

{{parallelekp:initial_setup_8.png?600}}

Vous êtes dans une boucle maintenant, avec le nœud principal en recherchant les nœuds de calcul 

{{parallelekp:initial_setup_9.png?600}}

qui ont été initialisés. Vous devriez allumer les nœuds et les laisser s’initialiser. Cliquer sur « no » pour voir combien de nœuds ont été détectés. Quand vous avez le nombre désiré, cliquer sur « yes »

Sur l’écran suivant, un ordinateur a été détecté :

{{parallelekp:initial_setup_10.png?600}}

Je clique "oui", et PK finit d’installer le cluster :

{{parallelekp:initial_setup_11.png?600}}

Noter que le 1er écran à l’intérieur de Kde a été fait à 12h38, et le dernier à 12h42. L’installation d’un cluster est vraiment rapide même en prenant le temps des prises d’écran, comme vous le faites ! Pour voir que nous avons vraiment en fonctionnement un cluster, nous pouvons lancer le moniteur :

{{parallelekp:initial_setup_12.png?600}}

Vous pouvez voir le nœud principal (localhost) et le nœud de calcul (192.168.0.200), avec un peu d’activité :

{{parallelekp:initial_setup_13.png?600}}

Pour ajouter des nœuds, employer « RestartHPC » :

{{parallelekp:initial_setup_14.png?600}}

Un autre nœud a été détecté, et nous pouvons adapter le cluster comme nous le souhaitons :

{{parallelekp:initial_setup_15.png?600}}

Ok, nous avons 3 nœuds au totales :

{{parallelekp:initial_setup_16.png?600}}

UTILISATION :
Voici un exemple de compilation et d’exécution d’un programme de MPI en C :

{{parallelekp:use_1.png?600}}

Un autre exemple mais en Fortran :

{{parallelekp:use_2.png?600}}

Un exemple en utilisant MPITB pour GNU Octave :

Remarquer que les synchronisations ici ne montrent pas quand les nœuds sont ajoutés puisque cela a été fait sur le cluster virtuel (3 nœuds virtuels) qui fonctionnent sur une seule machine réelle (physique).

{{parallelekp:use_3.png?600}}

Il y a d'autres exemples en utilisant MPITB pour MPITB dans les sous-répertoires dans 
/home/knoppix/Examples/Econometrics/Examples/Parallel

**Comment ajouter des logiciels sans remixer le CD :**

Vous voudriez probablement utiliser les programmes qui ne sont pas sur le CD de PK. Vous pouvez modifier le CD pour ajouter des paquets logiciels ( un processus bien connu pour le remixer sous une image CD) mais dans la plupart des cas il est plus facile d’installer juste le logiciel à l’intérieur du répertoire du bureau knoppix. Si vous laissez /pkhome intact, le logiciel que vous installez sera disponible la prochaine fois que vous démarrez le cluster.

**Gromacs, un programme de dynamique moléculaire :**

La 1er étape est de créer un répertoire provisoire, un répertoire d’installation, et de décompresser les sources du  «  tarball » dans le répertoire provisoire, et de configurer la compilation pour utiliser MPI :

Ce qui donne les commandes suivantes (CF le document d’origine):

  * [knoppixdff]$ mkdir temp

  * [knoppixdff]$ mkdir gromacs

  * [knoppixdff]$ cd temp/

  * [knoppixdff]$ tar xfz /cdrom/gromacs-3.3.1.tar.gz

  * [knoppixdff]$ cd gromacs-3.3.1/

  * [knoppixdff]$ ./configure –enable-mpi –prefix)/home/knoppix/gromacs 


{{parallelekp:gromacs1.png?600}}

Une fois que vous entrez dans la dernière fenêtre, une grande quantité d’infos, défile, et à la fin vous voyez la prochaine image, prêt à faire le paquet. En faisant un make

{{parallelekp:gromacs2.png?600}}

La construction de Gromacs prend un peu de temps. Par la suite vous arrivez à l’image suivante, prêt à faire un make Install. Faites ceci

{{parallelekp:gromacs3.png?600}}

Après changer pour  ./bin sous répertoire du répertoire de l’installation, et écraser le programme de démo. Puis lancer la démo

Soit les commandes suivantes : 

  * [knoppixdff]$ cd /home/knoppix/gromacs/bin

  * [knoppixdff]$ cp /home/knoppix/Examples/gromacs/* ./

  * [knoppixdff]$ ./demo 

{{parallelekp:gromacs4.png?600}}

Vous avez à saisir un certain nombre de fois, rapidement :

{{parallelekp:gromacs5.png?600}}

Ok, c’est plus ou moins comme ceci qu’il faut procéder pour installer un paquet. Si vous voulez utiliser le paquet la fois d’après vous paramétrer le cluster, n’oubliez pas de sauvegarder le répertoire de l’installation quelques parts, ou il disparaitra quand vous arrêterez…Si  vous voulez installer le logiciel de manière permanente, vous devrez remixer le CD.

**Pknoppix fonctionnant sur un autre OS utilisant la virtualisation**

Pk peut être lancé sur votre distribution Linux favorite, ou sur un autre système d’exploitation, à l’intérieur d’un environnement virtuel (QEMU, VMWare, kvm, etc) C’est la plupart du temps une manière assez commode selon moi. Vous avez juste à télécharger l’image PK ISO sur un ordinateur portable, et suivre les étapes décrites ici, vous pouvez ainsi être prêt pour créer un cluster, à tout moment, sans graver une image d’un CD, sans redémarrer, et ce, quelques soient vos systèmes d’exploitations préférés.

**VMware**

Ceci explique comment utiliser au mieux le serveur VMware, v1.0.2 avec PK

  * D’abord, vous devez installer le serveur de VMware sur votre ordinateur. Veuillez le télécharger ici si vous ne l’avez déjà [[http://www.vmware.com/download/server/|VMware_serveur]] c’est un téléchargement gratuit. 

Configurer VMware pour permettre la gestion du réseau à travers le NAT quand vous vous lancez dans son installation.

  * Vous avez besoin également de la dernière version de l’image PKO iso. Gardez vous de la place sur le disque dur pour lancer Windows en même temps.

  * Après , vous avez besoin de créer une machine virtuelle. Paramétrer la suivant l’écran ci-dessous. Remarquer que le périphérique du cdrom pointe vers l’image de PK. Vous n’avez pas besoin de graver un l’image sur un CD. Il y a 2 cartes réseaux, le première est utilisée pour réaliser un pont et relier au cluster. La 2nd fonctionne via le NAT donc le nœud principal virtuel aura accès à internet. L’espace du disque virtuel n’est pas exigé, mais si vous préférez en ajouter, 
c’est selon…

{{parallelekp:vmware1.jpg?600}}

Après, démarrer la machine virtuelle. Tout ce qui passe ensuite ressemblera à la partie d’initialisation du cluster, vu dans ce manuel. Remarquer que les favoris dans Konqueror fonctionnent, puisque votre 2nd carte réseau virtuelle partage votre raccordement au net avec votre machine central. Par exemple :

{{parallelekp:vmware2.jpg?600}}

Ok ;) cela fonctionne :
Maintenant vous démarrez le cluster, juste comme expliqué dans la 1er partie [[http://pareto.uab.es/mcreel/ParallelKnoppix/Tutorial/Tutorial.html#Initial_Setup|Installation_initial]] de ce cours d’instruction : Un détail, puisque vous avez 2 cartes réseaux virtuelles, vous serez incités à choisir celle qui est reliée au cluster, comme sur l’écran ci-dessous :

{{parallelekp:vmware3.jpg?600}}

Vous devriez choisir le 1er, si vous créer la machine virtuelle suivant la manière que j’ai suggéré plus haut. D’ici à plus haut, suivez juste la 1er partie de ce manuel, pour finir l’installation. Rappelez-vous que vous pouvez prendre une capture d’écran quand c’est fait. Alors vous aurez le nœud principal de PK disponible dans les secondes qui suivent ; toutes les fois que vous en avez besoin.
Un point important : Le nœud principal virtualisé (192.168.0.1) sera probablement plus lent quand sur un nœud physique (natif) qui démarrerait sur une carte PXE. Si c’est le cas, vous ne voulez sans doute pas que le nœud principal entame vos calculs parallèles, ou que les autres machines l’attendent constamment.

Pour ce faire vous avez besoin : 

  * Ouvrir un terminal

  * ssh dans le noeud200

  * éditer le fichier /tmp/bhosts, et enlever la dernière ligne. Puis sauvegarder le fichier

  * taper « lamhalt ;lamboot :tmp/bhosts ».

  * taper « exit » pour quitter ssh sur le nœud 200 et revenir sur le nœud maître. C’est tout ! Ainsi, tous les calculs se feront en mode réels, et votre nœud principal virtuel est juste pour gérer et visualiser votre travail.

**QEMU **

Utiliser [[qemu:QEMU]] est plus ou moins semblable. 
Il y a un manuel pour lancer PK à l’intérieur de la machine virtuel QEMU, voir ici :[[http://www.createphpbb.com/parallelknoppix/viewtopic.php?t=133&mforum=parallelknoppix|Pk dans SEMU]] Merci à André Balsa !

  *[[deb:parallelknoppix|Haut de la page]]