SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
HTCONDOR Calcul parallèle, MPI
1
Prof: C.EL AMRANI
Département Génie d’Informatique
Faculté des Sciences et Techniques
TANGER
Rapport
Projet Fin Module
Parallélisme
HTCondor
Master Système Informatique et Mobile
Réalisé par : Encadré par :
➢ EDAIG KHALID. Prof: C. EL AMRANI
HTCONDOR Calcul parallèle, MPI
2
Sommaire
1. Introduction......................................................................................................3
2. De quoi a-t-on besoin ?....................................................................................3
3. Qu'est-ce que HTCondor ? .............................................................................3
3.1. Installation :......................................................................................................................................................3
4. Architecture de cluster ....................................................................................3
5. Configuration générale sur tous les serveurs : .............................................4
6. Installation de MPICH ....................................................................................5
7. Teste Framework MPI ....................................................................................6
8. Le droit root sur ces machines........................................................................7
8.1. Mettre en place le Passwordless SSH :..........................................................................................................7
9. Mettre en place un partage NFS ....................................................................9
10.Tester notre infrastructure:..........................................................................11
11.Configuration HTCondor .............................................................................12
12.Teste HTCONDORE dans mon cluster.......................................................12
12.1. Soumettre un travail avec vanilla universe.................................................................................................13
12.2. Soumettre un tarvail avec Parallel universe :.............................................................................................14
HTCONDOR Calcul parallèle, MPI
3
1.Introduction
En informatique, le parallélisme consiste à mettre en œuvre des architectures permettant de traiter des
informations de manière simultanée, ainsi que les algorithmes spécialisés pour celles-ci. Ces techniques ont
pour but de réaliser le plus grand nombre d’opérations en un temps le plus petit possible. Afin de pouvoir
étudier la programmation parallèle, il faut tout d'abord créer un cluster de machines capable de fonctionner
en parallèle. Le but de ce projet est de pouvoir obtenir un tel cluster et j’utilise Le Framework HTCondor
pour lancer un programme sur le cluster.
2.De quoi a-t-on besoin ?
• Une machine « master »(virtuelle) Ubuntu Server.
• Deux machines « slave »(virtuelles) Ubuntu Server.
• Installation mpich pour calcule parallèle
• Le droit root sur ces machines.
• Installation et configuration nfs
• Installation et configuration HTCondor
3.Qu'est-ce que HTCondor ?
HTCondor est un système spécialisé de gestion de la charge de travail pour les travaux nécessitant beaucoup
de calcul. Comme d’autres systèmes de traitement par lots complets, HTCondor fournit un mécanisme de
mise en file d’attribution des tâches, une stratégie de planification, un schéma de priorité, une surveillance
des ressources et une gestion des ressources. Les utilisateurs soumettent leurs travaux en série ou en
parallèle à HTCondor. Ce dernier les place dans une file d'attente, choisit où et quand exécuter les travaux en
fonction d'une stratégie, surveille attentivement leur progression et en informe l'utilisateur à la fin.
• Condor (renommé HTCondor en octobre 2012)
• Condor tourne sur les systèmes Linux, Unix, Mac OS X, FreeBSD, et sur les systèmes Windows
actuels.
3.1. Installation :
$ sudo apt-get update : mise à jours de OS
$ sudo apt-get install htcondor <<version>>
4.Architecture de cluster
J’utilise virtualBox pour créer des machines virtuelles :
• Un machine virtuelle ‘server.masetr’ de l’adresse IP :10.0.3.4/24
• Deux machines virtuelles ‘server.slave1’ et ‘server.slave2’
o ‘server.slave1’ de l’adresse IP :10.0.3.5/24
o ‘server.slave2’ de l’adresse IP :10.0.3.6/24
HTCONDOR Calcul parallèle, MPI
4
5.Configuration générale sur tous les serveurs :
Il faut tout d'abord assurer que chacun des serveurs connaissent les adresses des autres serveurs MPI - vos
machines devraient donc sur le même réseau, en théorie. Il faut ensuite attribuer à chacun des serveurs une
IP statique via /etc/network/interfaces, et ensuite associer un nom de machine à chacune de ces adresses
via /etc/hosts. Il faudra ensuite soit redémarrer les machines, ou le service de networking. Alternativement,
pour ce projet j’ai déjà un RESEAU NAT avec un serveur DHCP et des adresses fixes configurées.
Dans VM virtualbox clique sur ficher>paramétrers>réseau puis cliquer sur ajouter Réseau Nat et en fin
modifier ce dernier.
HTCONDOR Calcul parallèle, MPI
5
Teste la connexion entre les machines du claster
6.Installation de MPICH
MPICH, anciennement connu sous le nom de MPICH2, est une implémentation portable librement
disponible de MPI, une norme de transmission de messages pour les applications à mémoire distribuée
utilisées dans le calcul parallèle.
$ sudo apt-get install mpich
Cette installation se fait sur tous les machines
HTCONDOR Calcul parallèle, MPI
6
7.Teste Framework MPI
Je crée un petit programme de teste ‘Helloword’
Pour compiler et exécuter le programme, je lance les commandes suivantes :
• $ mpicc -o Nom_prog Nom_prog.c
• $ mpirun -np Nbr_de-processus ./Nom_prog
Le programme s’exécute avec succès donc le MPICH est bien fonctionne
HTCONDOR Calcul parallèle, MPI
7
Il nous faut un utilisateur commun sur chacune des machines. Soyez sûr que cet utilisateur possède un home
directory. On ajoute l’utilisateur par la commande $ adduser nom_utilisateur
Non utilisateur : mpiuser
Password ; mpiuser
8.Le droit root sur ces machines.
Afin que le programme puisse être lancé sur les machines « slave1 » et «slave2 », il faut que celles-ci fassent
"confiance" à la machine « master » - pour cela, on a besoin de mettre en place une connection SSH sans
mot de passe depuis la machine « master » vers les machines « slave1 » et « slave2 » Déjà, il faut mettre en
place le serveur OpenSSH sur la machine « master » :
8.1. Mettre en place le Passwordless SSH :
Après cela, il faut générer les certificats et clés DSA. Ensuite, je dois copier ces clés sur chacune de nos
machines slaves, et puis connecter sur celles-ci via ssh afin de les ajouter à nos hôtes connus. Il faut faire
cette opération pour chacune des machines « slave1 et slave2 ». Attention : le champ "Passphrase" doit bien
être vide !
Pour générer les certificats et clés DSA
HTCONDOR Calcul parallèle, MPI
8
Copier ces clés par la commande $ ssh-copy-id mpiuser@slave1 , $ ssh-copy-id mpiuser@slave2
La connexion SSH est donc maintenant en place depuis la machine « master ».
Teste la connection SSH sans mot de passe depuis la machine « master » vers les machines « slave1 et slave 2 »
HTCONDOR Calcul parallèle, MPI
9
La connexion bien réussir
9.Mettre en place un partage NFS
Network File System (ou NFS), littéralement système de fichiers en réseau, est à l'origine
un protocole développé par Sun Microsystems en 19842 qui permet à un ordinateur d'accéder via un réseau à
des fichiers distants. Wikipedia
Je commence par la machine « master ». Tout d'abord, je doit mettre en place le serveur NFS sur cette
machine, et créer le dossier qui sera partagé entre les machines de notre cluster.
HTCONDOR Calcul parallèle, MPI
10
Ensuite, dossier il doit exporter est /home/mpiuser/condor_teste. Pour cela, nous devons ajouter une entrée
à /etc/exports, puis indiquer qu'il y a de nouveau en utilisant la commande "exportfs -a", et enfin redémarrer
le service.
Sur nos machines « slave1, slave2 », il faut tout simplement monter le partage.
HTCONDOR Calcul parallèle, MPI
11
La même chose pour slave2
Il faut par contre savoir que la commande mount n'est qu'une solution temporaire, car le partage s'arrêtera
au redémarrage de la machine dans ce cas. Pour une solution plus permanente, il faut éditer /etc/fstab
10. Tester notre infrastructure:
Dans notre partage, nous allons créer un petit script en C afin de pouvoir tester notre cluster.
Créer une hostfile , la liste des machines que vous utilisez dans le cluster
HTCONDOR Calcul parallèle, MPI
12
Compilation et exécution
Notre cluster est bien fonctionnel
11. Configuration HTCondor
On édit CONDOR_ADMIN, CONDOR_HOST, ALLOW_WRITE
12. Teste HTCONDORE dans mon cluster
Avant de pouvoir soumettre un travail à Condor, nous allons besoin d'un travail. Je crée un petit programme en c ou
bien c++.
Programme que j’ai créé nommer SommeNbr.c qui fait le calcule de 1 à 1000
HTCONDOR Calcul parallèle, MPI
13
Compilation et exécution de la programme SommeNbr.c
Maintenant je dois soumettre des travaux pour que condor s'exécute.
12.1. Soumettre un travail avec vanilla universe
Tout d’abord j’ai créé les bases d'un fichier de soumission de condor :
Universe: signifie le mode de soumettre un (parallel, vanilla, MPI…).
Executable: le nom de programme.
Log: C'est le nom d'un fichier où Condor va enregistrer des informations sur l'exécution de notre job.
Output: Où Condor devrait mettre la sortie standard du job.
Erreur: Où Condor devrait mettre sortie d'erreur de notre job.
Soumettre le travail je tape la commande : $ condor_submit Nom_fichier_submit
HTCONDOR Calcul parallèle, MPI
14
12.2. Soumettre un tarvail avec Parallel universe :
Tous d’abord je crée un fichier submit mpi_teste.submit
On va lancer le travail avec la comande condor_submit mpi_teste.submite
J’ai un problème : le programme est distribué sur cluster mais ne donne rien.

Contenu connexe

Tendances

Projet de fin d etudes
Projet de fin d etudesProjet de fin d etudes
Projet de fin d etudes3azwa
 
Conception et réalisation d’une application web (1).pptx
Conception et réalisation d’une application web (1).pptxConception et réalisation d’une application web (1).pptx
Conception et réalisation d’une application web (1).pptxSouadZid
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationECAM Brussels Engineering School
 
service NFS sous linux
 service NFS sous linux service NFS sous linux
service NFS sous linuxSouhaib El
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur Khalid EDAIG
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUCHAOUACHI marwen
 
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...Coulibaly Kidjomitchin Jean-Marc
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchlinuxlab_conf
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIPapa Cheikh Cisse
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études MortadhaBouallagui
 
Java - programmation concurrente
Java - programmation concurrenteJava - programmation concurrente
Java - programmation concurrenteFranck SIMON
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREGhizlane ALOZADE
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxZakariyaa AIT ELMOUDEN
 
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités WebAlphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités WebAlphorm
 

Tendances (20)

Projet de fin d etudes
Projet de fin d etudesProjet de fin d etudes
Projet de fin d etudes
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Conception et réalisation d’une application web (1).pptx
Conception et réalisation d’une application web (1).pptxConception et réalisation d’une application web (1).pptx
Conception et réalisation d’une application web (1).pptx
 
Snort implementation
Snort implementationSnort implementation
Snort implementation
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Rapport PFE VoIP
Rapport PFE VoIPRapport PFE VoIP
Rapport PFE VoIP
 
service NFS sous linux
 service NFS sous linux service NFS sous linux
service NFS sous linux
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAU
 
Rapport projet pfe
Rapport projet pfeRapport projet pfe
Rapport projet pfe
 
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
Mémoire de fin d'étude: Migration de la téléphonie classique vers la téléphon...
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
 
Java - programmation concurrente
Java - programmation concurrenteJava - programmation concurrente
Java - programmation concurrente
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linux
 
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités WebAlphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
Alphorm.com Support Formation Hacking & Sécurité Expert Vulnérabilités Web
 

Similaire à Creation de cluster (Master et deux slave ) nfs, htcondor, mpi

Reverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareReverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareNinaSAMMUT
 
20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerierbessem ellili
 
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Trésor-Dux LEBANDA
 
Manuel d'utilisation : La supervision sous Shinken
Manuel d'utilisation : La supervision sous ShinkenManuel d'utilisation : La supervision sous Shinken
Manuel d'utilisation : La supervision sous ShinkenYoussef NIDABRAHIM
 
Simulation d’un système à temps partagé
Simulation d’un système à temps partagéSimulation d’un système à temps partagé
Simulation d’un système à temps partagéBachir Benyammi
 
Guide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafeGuide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafeMANASSE OYEWUMI
 
Projet de-recherche-Tuteuré
Projet de-recherche-TuteuréProjet de-recherche-Tuteuré
Projet de-recherche-TuteuréRullier Anthony
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed Ben Bouzid
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonMohammed TAMALI
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec GoMickaël Rémond
 
Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02Gonéri Le Bouder
 
Premiers pas avec snort
Premiers pas avec snortPremiers pas avec snort
Premiers pas avec snortFathi Ben Nasr
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trCheikh Tidiane DIABANG
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsCocoaHeads France
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Alexandre Touret
 

Similaire à Creation de cluster (Master et deux slave ) nfs, htcondor, mpi (20)

Reverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareReverse Engineering d'un ransomware
Reverse Engineering d'un ransomware
 
Rapport des travaux
Rapport des travauxRapport des travaux
Rapport des travaux
 
20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier
 
Atelier IDS SNORT
Atelier IDS SNORTAtelier IDS SNORT
Atelier IDS SNORT
 
Hady bah l3
Hady bah l3Hady bah l3
Hady bah l3
 
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
 
Manuel d'utilisation : La supervision sous Shinken
Manuel d'utilisation : La supervision sous ShinkenManuel d'utilisation : La supervision sous Shinken
Manuel d'utilisation : La supervision sous Shinken
 
Simulation d’un système à temps partagé
Simulation d’un système à temps partagéSimulation d’un système à temps partagé
Simulation d’un système à temps partagé
 
Guide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafeGuide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafe
 
Projet de-recherche-Tuteuré
Projet de-recherche-TuteuréProjet de-recherche-Tuteuré
Projet de-recherche-Tuteuré
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec Go
 
Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02
 
Premiers pas avec snort
Premiers pas avec snortPremiers pas avec snort
Premiers pas avec snort
 
Configuration Nimbus
Configuration NimbusConfiguration Nimbus
Configuration Nimbus
 
NextCloud
NextCloudNextCloud
NextCloud
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
 

Creation de cluster (Master et deux slave ) nfs, htcondor, mpi

  • 1. HTCONDOR Calcul parallèle, MPI 1 Prof: C.EL AMRANI Département Génie d’Informatique Faculté des Sciences et Techniques TANGER Rapport Projet Fin Module Parallélisme HTCondor Master Système Informatique et Mobile Réalisé par : Encadré par : ➢ EDAIG KHALID. Prof: C. EL AMRANI
  • 2. HTCONDOR Calcul parallèle, MPI 2 Sommaire 1. Introduction......................................................................................................3 2. De quoi a-t-on besoin ?....................................................................................3 3. Qu'est-ce que HTCondor ? .............................................................................3 3.1. Installation :......................................................................................................................................................3 4. Architecture de cluster ....................................................................................3 5. Configuration générale sur tous les serveurs : .............................................4 6. Installation de MPICH ....................................................................................5 7. Teste Framework MPI ....................................................................................6 8. Le droit root sur ces machines........................................................................7 8.1. Mettre en place le Passwordless SSH :..........................................................................................................7 9. Mettre en place un partage NFS ....................................................................9 10.Tester notre infrastructure:..........................................................................11 11.Configuration HTCondor .............................................................................12 12.Teste HTCONDORE dans mon cluster.......................................................12 12.1. Soumettre un travail avec vanilla universe.................................................................................................13 12.2. Soumettre un tarvail avec Parallel universe :.............................................................................................14
  • 3. HTCONDOR Calcul parallèle, MPI 3 1.Introduction En informatique, le parallélisme consiste à mettre en œuvre des architectures permettant de traiter des informations de manière simultanée, ainsi que les algorithmes spécialisés pour celles-ci. Ces techniques ont pour but de réaliser le plus grand nombre d’opérations en un temps le plus petit possible. Afin de pouvoir étudier la programmation parallèle, il faut tout d'abord créer un cluster de machines capable de fonctionner en parallèle. Le but de ce projet est de pouvoir obtenir un tel cluster et j’utilise Le Framework HTCondor pour lancer un programme sur le cluster. 2.De quoi a-t-on besoin ? • Une machine « master »(virtuelle) Ubuntu Server. • Deux machines « slave »(virtuelles) Ubuntu Server. • Installation mpich pour calcule parallèle • Le droit root sur ces machines. • Installation et configuration nfs • Installation et configuration HTCondor 3.Qu'est-ce que HTCondor ? HTCondor est un système spécialisé de gestion de la charge de travail pour les travaux nécessitant beaucoup de calcul. Comme d’autres systèmes de traitement par lots complets, HTCondor fournit un mécanisme de mise en file d’attribution des tâches, une stratégie de planification, un schéma de priorité, une surveillance des ressources et une gestion des ressources. Les utilisateurs soumettent leurs travaux en série ou en parallèle à HTCondor. Ce dernier les place dans une file d'attente, choisit où et quand exécuter les travaux en fonction d'une stratégie, surveille attentivement leur progression et en informe l'utilisateur à la fin. • Condor (renommé HTCondor en octobre 2012) • Condor tourne sur les systèmes Linux, Unix, Mac OS X, FreeBSD, et sur les systèmes Windows actuels. 3.1. Installation : $ sudo apt-get update : mise à jours de OS $ sudo apt-get install htcondor <<version>> 4.Architecture de cluster J’utilise virtualBox pour créer des machines virtuelles : • Un machine virtuelle ‘server.masetr’ de l’adresse IP :10.0.3.4/24 • Deux machines virtuelles ‘server.slave1’ et ‘server.slave2’ o ‘server.slave1’ de l’adresse IP :10.0.3.5/24 o ‘server.slave2’ de l’adresse IP :10.0.3.6/24
  • 4. HTCONDOR Calcul parallèle, MPI 4 5.Configuration générale sur tous les serveurs : Il faut tout d'abord assurer que chacun des serveurs connaissent les adresses des autres serveurs MPI - vos machines devraient donc sur le même réseau, en théorie. Il faut ensuite attribuer à chacun des serveurs une IP statique via /etc/network/interfaces, et ensuite associer un nom de machine à chacune de ces adresses via /etc/hosts. Il faudra ensuite soit redémarrer les machines, ou le service de networking. Alternativement, pour ce projet j’ai déjà un RESEAU NAT avec un serveur DHCP et des adresses fixes configurées. Dans VM virtualbox clique sur ficher>paramétrers>réseau puis cliquer sur ajouter Réseau Nat et en fin modifier ce dernier.
  • 5. HTCONDOR Calcul parallèle, MPI 5 Teste la connexion entre les machines du claster 6.Installation de MPICH MPICH, anciennement connu sous le nom de MPICH2, est une implémentation portable librement disponible de MPI, une norme de transmission de messages pour les applications à mémoire distribuée utilisées dans le calcul parallèle. $ sudo apt-get install mpich Cette installation se fait sur tous les machines
  • 6. HTCONDOR Calcul parallèle, MPI 6 7.Teste Framework MPI Je crée un petit programme de teste ‘Helloword’ Pour compiler et exécuter le programme, je lance les commandes suivantes : • $ mpicc -o Nom_prog Nom_prog.c • $ mpirun -np Nbr_de-processus ./Nom_prog Le programme s’exécute avec succès donc le MPICH est bien fonctionne
  • 7. HTCONDOR Calcul parallèle, MPI 7 Il nous faut un utilisateur commun sur chacune des machines. Soyez sûr que cet utilisateur possède un home directory. On ajoute l’utilisateur par la commande $ adduser nom_utilisateur Non utilisateur : mpiuser Password ; mpiuser 8.Le droit root sur ces machines. Afin que le programme puisse être lancé sur les machines « slave1 » et «slave2 », il faut que celles-ci fassent "confiance" à la machine « master » - pour cela, on a besoin de mettre en place une connection SSH sans mot de passe depuis la machine « master » vers les machines « slave1 » et « slave2 » Déjà, il faut mettre en place le serveur OpenSSH sur la machine « master » : 8.1. Mettre en place le Passwordless SSH : Après cela, il faut générer les certificats et clés DSA. Ensuite, je dois copier ces clés sur chacune de nos machines slaves, et puis connecter sur celles-ci via ssh afin de les ajouter à nos hôtes connus. Il faut faire cette opération pour chacune des machines « slave1 et slave2 ». Attention : le champ "Passphrase" doit bien être vide ! Pour générer les certificats et clés DSA
  • 8. HTCONDOR Calcul parallèle, MPI 8 Copier ces clés par la commande $ ssh-copy-id mpiuser@slave1 , $ ssh-copy-id mpiuser@slave2 La connexion SSH est donc maintenant en place depuis la machine « master ». Teste la connection SSH sans mot de passe depuis la machine « master » vers les machines « slave1 et slave 2 »
  • 9. HTCONDOR Calcul parallèle, MPI 9 La connexion bien réussir 9.Mettre en place un partage NFS Network File System (ou NFS), littéralement système de fichiers en réseau, est à l'origine un protocole développé par Sun Microsystems en 19842 qui permet à un ordinateur d'accéder via un réseau à des fichiers distants. Wikipedia Je commence par la machine « master ». Tout d'abord, je doit mettre en place le serveur NFS sur cette machine, et créer le dossier qui sera partagé entre les machines de notre cluster.
  • 10. HTCONDOR Calcul parallèle, MPI 10 Ensuite, dossier il doit exporter est /home/mpiuser/condor_teste. Pour cela, nous devons ajouter une entrée à /etc/exports, puis indiquer qu'il y a de nouveau en utilisant la commande "exportfs -a", et enfin redémarrer le service. Sur nos machines « slave1, slave2 », il faut tout simplement monter le partage.
  • 11. HTCONDOR Calcul parallèle, MPI 11 La même chose pour slave2 Il faut par contre savoir que la commande mount n'est qu'une solution temporaire, car le partage s'arrêtera au redémarrage de la machine dans ce cas. Pour une solution plus permanente, il faut éditer /etc/fstab 10. Tester notre infrastructure: Dans notre partage, nous allons créer un petit script en C afin de pouvoir tester notre cluster. Créer une hostfile , la liste des machines que vous utilisez dans le cluster
  • 12. HTCONDOR Calcul parallèle, MPI 12 Compilation et exécution Notre cluster est bien fonctionnel 11. Configuration HTCondor On édit CONDOR_ADMIN, CONDOR_HOST, ALLOW_WRITE 12. Teste HTCONDORE dans mon cluster Avant de pouvoir soumettre un travail à Condor, nous allons besoin d'un travail. Je crée un petit programme en c ou bien c++. Programme que j’ai créé nommer SommeNbr.c qui fait le calcule de 1 à 1000
  • 13. HTCONDOR Calcul parallèle, MPI 13 Compilation et exécution de la programme SommeNbr.c Maintenant je dois soumettre des travaux pour que condor s'exécute. 12.1. Soumettre un travail avec vanilla universe Tout d’abord j’ai créé les bases d'un fichier de soumission de condor : Universe: signifie le mode de soumettre un (parallel, vanilla, MPI…). Executable: le nom de programme. Log: C'est le nom d'un fichier où Condor va enregistrer des informations sur l'exécution de notre job. Output: Où Condor devrait mettre la sortie standard du job. Erreur: Où Condor devrait mettre sortie d'erreur de notre job. Soumettre le travail je tape la commande : $ condor_submit Nom_fichier_submit
  • 14. HTCONDOR Calcul parallèle, MPI 14 12.2. Soumettre un tarvail avec Parallel universe : Tous d’abord je crée un fichier submit mpi_teste.submit On va lancer le travail avec la comande condor_submit mpi_teste.submite J’ai un problème : le programme est distribué sur cluster mais ne donne rien.