ParallelKnoppix

ArticleCategory: [Choose a category, translators: do not translate this, see list below for available categories]

Applications

AuthorImage:[Here we need a little image from you]

[Photo of the Author]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in en Majid Hameed

en to fr Guillaume Lehmann

AboutTheAuthor:[A small biography about the author]

Majid Hameed est un étudiant préparant une licence au Department of Computer Science de l'université de Karachi, à Sindh, au Pakistan. Ses principaux centres d'intérêts sont l'intelligence artificielle, les systèmes d'exploitation, le réseau, la programmation et le graphisme par ordinateur. Hammed se décrit comme un passionné de Linux utilisé comme système d'exploitation depuis trois ans et demi, en passant par Red Hat 9, 8, 7.3 et 7.2, Slackware Linux 10 et 9.1, Slax, Mandrake Move 2, Knoppix 3.4, Vector Linux 4.3, etc.

Abstract:[Here you write a little summary]

Parallelknoppix est un live CD basé sur Knoppix, lui-même également un live CD basé sur la distribution GNU/Linux Debian. ParallelKnoppix nous permet de créer, en quelques minutes, un cluster Linux équipé d'outils/bibliothèques de programmation parallèle tels que MPI. Il permet de nous faire gagner beaucoup de temps pour la configuration de l'environnement de travail de l'ordinateur. L'environnement déjà présent sur l'ordinateur n'est pas perturbé par l'utilisation de ParallelKnoppix puisque c'est un live CD. Uniquemement sur le noeud maître, il est créé un répertoire qui pourra, si vous le désirez, être supprimé après redémarrage.

ArticleIllustration:[One image that will end up at the top of the article]

[Illustration]

ArticleBody:[The main part of the article]

Introduction

« ParallelKnoppix est une refonte du master de Knoppix. Il permet la configuration d'un cluster de machines pour la parallélisation des processus à travers l'utilisation de LAM-MPI et/ou l'implémentation de MPI nommée MPICH. Mettre en place le cluster et le faire fonctionner prend moins de 15 minutes, si la machine possède des cartes réseau PXE. »
--> de http://pareto.uab.es/mcreel/ParallelKnoppix/

La base

Le clustering est une des techniques les plus économes de réaliser du calcul parallèle. La possibilité de faire du clustering avec Linux est une des forces de ce noyau. Les universités et les organismes construisent virtuellement des super-ordinateurs en connectant, par leur cartes ethernet, des PC sous Linux. Linux est largement adopté par la communauté scientifique pour leurs recherches, surtout que Linux est fourni avec de nombreux outils scientifiques tels que LAM, PI, PVM, etc. Donc Linux est le plus adapté pour le calcul parallèle. Mais le problème est que les scientifiques et les programmeurs ont beaucoup à faire avec les préconfigurations de l'environnement Linux. Cela rend leurs tâches lentes et complexes. Le problème de la configuration devient encore plus génant si l'environnement existant n'est pas basé sur un environnement Linux (c'est le cas de Windows).

Maintenant, les gourous de Linux ont résolu le problème et ils ont développé les Live CD. Maintenant, les chercheurs peuvent choisir un live CD pour faire de la programmation parallèle sans faire une très longue configuration et le cluster est prêt après quelques (7-8) minutes.

Un de ces Live CD pour la programmation parallèle est ParallelKnoppix.

Quelques autres Live CD pour le calcul parallèle sont BCCD et ClusterKnoppix.

Description

Exactement comme son prédécesseur (c'est-à-dire Knoppix), ParallelKnoppix détectera automatiquement tout le matériel et les périphériques. Je l'ai testé sur une carte mère Intel D865GBF, un PIV et une plateforme Intel 810C avec PIII, et ParallelKnoppix a configuré tout le matériel automatiquement sans que j'ai eu besoin de faire quelque chose. Les ordinateurs qui sont configurés pour utiliser ParallelKnoppix partagent un répertoire commun qui est créé sur le noeud maître par NFS (Network File System). Le noeud maître démarre depuis le CD et les noeuds esclaves démarrent à travers le réseau (DHCP fonctionne sur le noeud maître). Les noeuds esclaves possèdent un BIOS avec l'option PXE activée et des cartes réseaux (NIC) compatibles PXE.

Chaque service nécessitant LAM/MPI est automatiquement configuré (LAM/MPI est un message passant des spécifications d'interfaces utilisées pour le calcul parallèle). C'est la même chose pour DHCP, NFS, SSH (mot de passe sans les logins) et vous êtes prêt à expérimenter des programmes MPI plus quelques autres applications parallèles.

La configuration de ParallelKnoppix n'est pas très sécurisée puisque le mot de passe sur le live CD à la fois pour un utilisateur et le super utilisateur (root) est connu du public. N'importe qui ayant quelques connaissances sur ParallelKnoppix pourra alors accéder au cluster ParallelKnoppix. En fait, la facilité de configuration est obtenue en faisant quelques compromis par rapport à la sécurité. Ainsi, il y a une différence entre facilité d'utilisation et sécurité.

Qu'est-ce qu'un boot PXE ?

Le boot PXE est un acronyme pour Preboot Execution Environment (Environement d'Exécution Avant le boot). PXE est une technologie qui est utilisée pour démarrer un PC à distance à travers un réseau. PXE est supporté par le système BIOS et la carte réseau doit supporter la fonctionnalité PXE.

Que faire si votre carte réseau ne supporte par la fonctionnalité PXE ?

Vous devez prendre les images d'ether boot ou graver ces images sur un CD. ROM-o-matic.net génère dynamiquement des images Etherboot ROM. http://rom-o-matic.net/

Télécharger ParrallelKnoppix

ISO file download

FTP exact link

http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix.iso

HTTP exact link

ftp://volcano.uab.es/pub/parallelknoppix.iso

MD5SUM download

http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix-2004-12-16.iso.md5

Check the home page http://pareto.uab.es/mcreel/ParallelKnoppix/ if the
above links expires
Après avoir téléchargé les images ISO, vérifier le checksum MD5 de l'image ISO pour s'assurer que le téléchargement s'est bien déroulé. Pour cela, exécuter le programme md5sum sur vos images ISO, depuis un shell, et comparer les valeurs retournées avec le fichier md5 (le lien pour télécharger est ci-dessous). Ce qui suit illustre la syntaxe correcte pour la commande md5sum.
md5sum "isonomfichier"
Dans la commande ci-dessus, remplacer "isonomfichier" par le nom correct du fichier.

Si pour une raison quelconque vous n'utilisez pas Linux, alors utilisez md5Summer qui est un générateur de md5sum sous Windows. Vous avez le lien ci-dessous.

http://www.md5summer.com/

Note : graver les ISO sur un CD requiert un programme tel que cdrecord.

Comment cela fonctionne-t-il ?

Il y a un tutoriel intéressant et complet, avec des captures d'écrans pour chaque étape de la configuration. Vous avez, ci-dessous, le lien pointant vers le tutoriel.

Version html du tutoriel sur Parallel Knoppix:

http://pareto.uab.es/mcreel/ParallelKnoppix/Tutorial/Tutorial.html

Version pdf du tutoriel sur Parallel Knoppix:

http://pareto.uab.es/wp/2004/62604.pdf

Si vous voulez exporter votre cd-rom sur des noeuds, cela s'accomode très bien d'une configuration de 50 noeuds. Mais cela n'a pas été testé au-delà de 50 noeuds. Pour ma part, j'ai réellement testé sur seulement 5 noeuds.

Que faire si plusieurs DHCP fonctionnent ?

« Si vous l'utilisez à l'université (comme je le fais), vous êtes susceptible de rencontrer un serveur DHCP officiel et peut-être un serveur PXE. Quand vous essayez de démarrer le noeud en utilisant un terminal, les noeuds démarreront généralement depuis le serveur PXE déjà existant, ils prendront généralement leurs adresses IP depuis le serveur officiel et pas depuis le serveur DHCP de ParallelKnoppix. La solution que j'ai jusqu'ici utilisée est de déconnecter physiquement les ordinateurs utilisés comme noeuds des serveurs PXE et/ou DHCP préexistants ou bien de demander aux administrateurs de désactiver temporairement ces serveurs. Si quelqu'un connait une solution plus élégante, je veux bien être tenu au courant. Je pense que l'on peut perturber le fonctionnement avec miniroot.gz, et en utilisant rom-o-matic pour créer la boot ROM PXE. Trop horrible pour s'y intéresser davantage ... du moins pour moi. » --> de http://pareto.uab.es/mcreel/ParallelKnoppix/

Comment cela fonctionne (résumé)

Le live CD de ParallelKnoppix est utilisé pour démarrer le noeud maître. Sur le noeud maître qui vient d'être démarré, un script est exécuté afin de configurer le serveur DHCP, de partager un répertoire de travail commun à tous les nodes en utilisant NFS, de générer des clefs publiques pour que SSH fonctionne correctement (mot de passe sans logins). Cela est nécessaire à LAM. Après que le noeud maître soit en fonctionnement, les noeuds esclaves démarrent en utilisant le boot PXE. Après le démarrage réussi, le répertoire modèle des programmes est collé au répertoire commun partagé par NFS et les programmes parallèles sont exécutés parallèlement sur plusieurs PC.

Mon expérience

Je suis un étudiant préparant une licence d'informatique et il m'a été donné un projet dans lequel je devais résoudre un problème mathématique en utilisant MPI dans un laboratoire de calcul parallèle. J'ai choisi ParallelKnoppix comme alternative pour faire la présentation de mon programme MPI dans un environnement Linux. Le noeud maître est démarré en utilisant le CD ParallelKnoppix. Pendant le temps de démarrage, il vous est demandé la résolution graphique. Juste entrer « 6 » qui est la résolution graphique maximale supportée. Mon noeud maître ayant démarré, je charge le script de configuration de ParallelKnoppix (K>ParallelKnoopixx>Setup ParallelKnoppix (voir le tutoriel ci-dessus)). Après que le script ait créé le serveur DHCP, j'ai allumé mes noeuds esclaves et je les ai laissé démarrer en utilisant PXE. Ensuite, tous les noeuds ont démarré avec succès.

Je copie mon programme dans le répertoire « parallel_knoppix_working » et ensuite, avec un terminal, j'exécute mon programe mpi en parallèle. Voilà tout.
Pour la compilation, j'utilise

mpicc myprogram.c -o myprogram.bin

Pour l'execution, j'utilise

mpirun C myprogram.bin

Conclusion

« Le CD ParallelKnoppix fournit une méthode de configuration très simple et rapide d'un cluster composé de PC hétérogènes, avec des architectures IA-32. Il n'est pas prévu de fournir un cluster stable pour plusieurs utilisateurs, mais c'est plutôt un outil pour créer rapidement un cluster en vue d'une utilisation individuelle. Le CD lui-même est personnalisable avec des fichiers de configurations et de fonctionnement qui peuvent être réutilisés. Donc il peut fournir une solution à long terme pour un utilisateur individuel ». Tiré du tutoriel de ParallelKnoppix, écrit par Michael Creel.

Références