SlideShare une entreprise Scribd logo
1  sur  20
Republique Algerienne Démocratique et Populaire
Ministère de l'Enseignement Supérieur et de la Recherche Scientifique



Université de Béchar                    Centre de calcul




                 Laboratoire ENERGARID

                                 Equipe SimulIA

Présenté par :
M.TAMALI
• Plan
 1) Présentation
 Introduction
 Topologies et procédures d'accès
 Modes d'utilisation d'UBCluster
 2) Etude de cas
 Etude de séquence génétique
 Etude de distribution de Boltzmann.
 Utilisation d'Octave
 Utilisation du calcul parallèle
Présentation                                                                     Introduction
Définition du mot CLUSTER, Ensemble de plusieurs machines vues comme une seule
permettant d'obtenir de grandes puissances de traitement. C’est un regroupement de deux
serveurs ou plus, en vue de créer un "super serveur virtuel". Un cluster fournit des fonctions
de haute disponibilité et de répartition de charges. Il facilite aussi l’évolutivité de la montée
en charge. Idée apparue à l'origine au milieu des années 80 chez Digital Equipment
Corporation, sous le nom de VAXCluster.
En 1995, un accord de partenariat signé entre Microsoft et DEC, donne naissance à Windows
NT 4 Enterprise Server (nom de code : wolfpack); version qui intègre MSCS (Microsoft
Cluster Serveur).

Il existe aujourd’hui des solutions cluster sous Windows 2000/2003, Linux, Unix, OpenVMS,
AS/400. Plusieurs constructeurs proposent des solutions propriétaires (Tandem, Siemens,
Veritas, Novell, IBM, Sun...). Lotus fournit également une solution logicielle pour créer un
cluster Notes entre des machines d'horizons différents (AS/400, Netware, Windows, Unix,
Linux…).
Présentation                                 Topologie et procédures d'accès
La topologie adoptée pour l'Intranet du
Centre de calcul de l‘Université de Béchar
porte l'avantage d'être connecté à une
structure mixte (LAN, WLAN) et à Internet
(WAN). Il est du type ROCKS Cluster
version 5.4 (2010)
Présentation                                          Mode d'utilisation d'UBCluster




UBCluster est accessible à travers une console de
commande en ligne, utilisant le programme putty.exe
(Gestionnaire de session client à distance)
téléchargeable du site http://www.putty.org/.
D’autres outils existent, tel que WinSSH …
Présentation                   Mode d'utilisation d'UBCluster
                                  Pour la plupart des cas, les utilisateurs
                                  recencés utilisent Microsoft Windows
                                  XP ou 7 comme système d'exploitation.
                                  Pour Linux, on ouvre une fenêtre
                                  TERMINAL et on tape SSH et puis les
                                  coordonnées (user, pass)




Une fois que l'utilisateur
donne son username et
son     password     d'une
manière     correcte,     il
accédera       sur       la
plateforme UBCluster
après quoi, il pourra
commencer à envoyer
ses requêtes pour calcul.
Présentation                                                Mode d'utilisation d'UBCluster




   Pour cela, UBCluster pourra être utilisé selon des modes variés. Il est toutefois extensible selon le
   besoin et la disponibilité du logiciel escompté (GPL ou Licence propriétaire).
   Les outils déjà intégrés sont :
   - Octave (équivalent GPL de Matlab)
   - APBS  (Adaptive Poisson-Boltzmann Solver)
   - Compilateur pour le calcul parallèle (C/C++, perl ou Fortran)
   - La suite viendra ...
Etude de cas                                                                    Etude de séquences génétiques
BLAST, ou Basic Local  Alignment Search  Tool, est une  collection d'outils qui sont  utilisés  pour  rechercher et trouver 
des régions de  la  similarité  locale entre  les séquences. Le  programme compare des  séquences  de  nucléotides ou de 
protéines aux  bases  de  données de  séquences, et calcule la  signification statistique des occurrences 'matches'. Cette 
suite logiciels a été diffusée par le Centre national de l'Information en Biotechnologie NCBI USA. 
BLAST peut  être utilisé  pour des  comparaisons protéine-protéine ou des  comparaisons de  nucléotides-+nucléotides. 
Avant qu'un exemple d'utilisation ne soit présenté, nous devons d'abord définir quelques variables d'environnement. 
$BLASTDB - C'est la variable qui pointe           vers la base     de     données Blast. elle        est     fixé à $HOME/bio/ncbi/db/. 
Ce répertoire devrait  contenir les bases  de  données que  vous souhaitez rechercher. BLAST, par défaut, contrôle cet 
endroit et le répertoire  de  travail  courant pour la  présence des  bases  de  données. Cette  variable est  définie lors  de  la 
connexion par des  scripts de  connexion du  système, et  peut être  modifiée par l'utilisateur pour  qu'elle  pointe  vers son 
vrai chemin  dans ses scripts de démarrage.
•$BLASTMAT - Cette variable pointe vers l'emplacement où les matrices score BLAST  sont présents. Elle est définie par /
opt/bio/ncbi/data. Encore       une      fois, elle peut être modifiée      pour       pointer    vers un       emplacement désiré sur 
une base par utilisateur.
BLAST nécessite  la présence de  2 ensembles  de  données. Un ensemble  de  données  qui  est la  séquence 
d'entrée que vous souhaitez rechercher, et l'autre           ensemble       de       données qui est la base         de     données que 
vous souhaitez faire une recherche avec. Utilisez la procédure suivante pour exécuter BLAST :
Télécharger une base        de       données BLAST que vous souhaitez exécuter la comparaison                    avec. Les bases     de 
données peuvent être obtenues sur               le       site ftp NCBI à ftp://ftp.ncbi.nlm.nih.gov/blast/db/.       Les bases       de 
données disponibles sur le        site mentionné ci-dessus sont pré-formatés. Il            est recommandé          que  les bases   de 
données BLAST sont stockés à l'emplacement $BLASTDB. Visitez ftp://ftp.ncbi.nlm.nih.gov/blast/db/  dans 
votre navigateur pour voir la liste des bases de données disponibles préformatées. 
Télécharger une de  ces bases sur votre session  UBCluster en  utilisant wget.  Nous  allons utiliser  la base  de  données  du 
nucléotides de la 'Drosophila melanogaster' (mouche)




[mtamali@hpc ~]$ wget -q ftp://ftp.ncbi.nlm.nih.gov/blast/db/nt.08.tar.gz 
[mtamali@hpc ~]$ gunzip -c nt.08.tar.gz | ( cd $BLASTDB/ && tar -xf -)
Etude de cas                                                                   Etude de séquences génétiques

 Exécutez la commande au format formatdb la base de données au format BLAST. Pour cet exemple, nous allons utiliser la
 Drosophila melanogaster (mouche) base de données de nucléotides.
[mtamali@hpc ~]$ cd $BLASTDB
[mtamali@hpc ~]$ wget -q ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/drosoph.nt.gz
[mtamali@hpc ~]$ gunzip drosoph.nt.gz
[mtamali@hpc ~]$ formatdb -p F -V T -i drosoph.nt
[mtamali@hpc ~]$ ls
drosoph.nt* drosoph.nt drosoph.nt.nhr drosoph.nt.nin drosoph.nt.nsq
[mtamali@hpc ~]$ cd $HOME

 Après que la base de données est mise en forme, éditer un fichier d'entrée de test :
[mtamali@hpc ~]$ cat > test.txt >Test
AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC
TTCTGAACTGGTTACCTGCCGTGAGTAAATTAAAATTTTATTGACTTAGGTCACTAAATACTTTAACCAA
TATAGGCATAGCGCACAGACAGATAAAAATTACAGAGTACACAACATCCATGAAACGCATTAGCACCACC
ATTACCACCACCATCACCATTACCACAGGTAACGGTGCGGGCTGACGCGTACAGGAAACACAGAAAAAAG
CCCGCACCTGACAGTGCGGGCTTTTTTTTTCGACCAAAGGTAACGAGGTAACAACCATGCGAGTGTTGAA
GTTCGGCGGTACATCAGTGGCAAATGCAGAACGTTTTCTGCGTGTTGCCGATATTCTGGAAAGCAATGCC
AGGCAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGCCAAAATCACCAACCACCTGGTGGCGATGATTG
AAAAAACCATTAGCGGCCAGGATGCTTTACCCAATATCAGCGATGCCGAACGTATTTTTGCCGAACTTTT


 Exécutez le programme blastall sur l'entrée de test contre la base de données formatées.

blastall -d drosoph.nt -p blastn -i test.txt
Etude de cas                                             Etude de séquences génétiques

Le résultat sera alors
[mtamali@hpc ~]$ blastall -d drosoph.nt -p blastn -i test.txt
BLASTN 2.2.18 [Mar-02-2008] Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A.
Schaffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST
and PSI-BLAST: a new generation of protein database search programs", Nucleic Acids Res.
25:3389-3402.
Query= Test (560 letters) Database: drosoph.nt 1170 sequences; 122,655,632 total letters
Searching..................................................done
Score E Sequences producing significant alignments: (bits) Value
gi|10729531|gb|AE002936.2|AE002936 Drosophila melanogaster genom... 36 0.86
gi|10728232|gb|AE003493.2|AE003493 Drosophila melanogaster genom... 36 0.86
gi|10726497|gb|AE003698.2|AE003698 Drosophila melanogaster genom... 36 0.86
gi|10726398|gb|AE003681.2|AE003681 Drosophila melanogaster genom... 36 0.86
gi|10729308|gb|AE002665.2|AE002665 Drosophila melanogaster genom... 34 3.4
gi|10729264|gb|AE002615.2|AE002615 Drosophila melanogaster genom... 34 3.4
gi|7298233|gb|AE003648.1|AE003648 Drosophila melanogaster genomi... 34 3.4
gi|7297628|gb|AE003628.1|AE003628 Drosophila melanogaster genomi... 34 3.4
gi|10728546|gb|AE003447.2|AE003447 Drosophila melanogaster genom... 34 3.4
gi|7290819|gb|AE003441.1|AE003441 Drosophila melanogaster genomi... 34 3.4
gi|10728461|gb|AE003431.2|AE003431 Drosophila melanogaster genom... 34 3.4
gi|10728241|gb|AE003495.2|AE003495 Drosophila melanogaster genom... 34 3.4
gi|7292554|gb|AE003484.1|AE003484 Drosophila melanogaster genomi... 34 3.4
gi|10727872|gb|AE003525.2|AE003525 Drosophila melanogaster genom... 34 3.4
gi|10727399|gb|AE003587.2|AE003587 Drosophila melanogaster genom... 34 3.4
gi|10727114|gb|AE003673.2|AE003673 Drosophila melanogaster genom... 34 3.4
gi|10726705|gb|AE003740.2|AE003740 Drosophila melanogaster genom... 34 3.4....
Etude de cas                                                            Etude de distribution de Bolzmann
Créer un script de soumission simple appelé blast_sge.sh contenant le texte suivant
#!/bin/bash
#
#$ -cwd
#$ -S /bin/bash
#$ -j y
export BLASTDB=$HOME/bio/ncbi/db/
export BLASTMAT=/opt/bio/ncbi/data/
/opt/bio/ncbi/bin/blastall -d drosoph.nt  -p blastn -i $HOME/test.txt  -o $HOME/result.txt



Exécuter avec
[mtamali@hpc ~]$ qsub blast_sge.sh
Your job 10 ("blast_sge.sh") has been submitted




C’est fini pour cette exemple et c’est à vous de découvrir la suite !
Etude de cas                                                               Utilisation de l'environnement
                                                                                                  Octave 3
Un exemple de produit de matrice ayant été exécuté sous Octave. De même, des système d'équations aux dérivées partielles
peuvent aussi être régie
Etude de cas                                                           Utilisation de l'environnement
                                                                                              Octave 3
Un exemple de traçage de fonction 3D exportée utilisant Xming sur une machine Windows 7 pour permettre d'afficher le
résultat graphique sur la machine cliente. De même, toute application graphique sur le serveur UBCluster peut être lancée
à distance et visualisée, sous Xming sur la machine du client.
Etude de cas                                                       Utilisation de l'environnement
                                                                                          Octave 3

Un exemple de calcul symbolique, très intéressant, surtout, si on a besoin de calculer dans une espace indéfini des
dérivées ou intégrales.

octave:1> df = g_diff ( "sin(x)" , "x" ) df = cos(x)
octave:2> x = pi; eval ( df ); ans = -1



Un exemple de calcul symbolique, très intéressant, surtout, si on a besoin de calculer dans une espace indéfini des
dérivées ou des intégrales.

octave:1> symbols
octave:2> x = sym ("x")
x = x
octave:3> y = sym ("y");
octave:4> (x + 6) * y
ans = y*(6.0+x)
octave:5> differentiate (ans, x)
ans = y
Etude de cas                                                                     Utilisation du calcul parallèle
 Topologie du calcul parallèle dans un cluster.
 Chaque machine est par défaut à multi-processeurs au même moment que le cluster peut-être
 Constitué de plusieurs machines (dites NODES) montées ensemble et supervisées par
 une machine appelée FRONTEND.

 La topologie d’un programme est la suivante :

 /*The Parallel Hello World Program*/
 #include <stdio.h>
 #include <mpi.h>
 main(int argc, char **argv)
 { int node;
    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &node);
    printf("Hello World from Node %dn", node);
    MPI_Finalize();
 }

 La compilation est lancée par la commande suivante :
 mpicc hello.c -o hello ↵
 Dans le cas d UBCluster on s’attend à une réponse équivalente à ce qui suit :
 mpirun –hostfile machines hello ↵

 Hello   World   from   Node   2
 Hello   World   from   Node   0
 Hello   World   from   Node   4
 Hello   World   from   Node   3
 Hello   World   from   Node   7
 Hello   World   from   Node   1
 Hello   World   from   Node   6
 Hello   World   from   Node   5
Etude de cas                                                                       Utilisation du calcul parallèle
Exemple d’intégration numérique par la régle du point millieu.
Soit à determiner la valeur de l’intégrale suivante :



Nous substituons à l’integrale sont équivalent selon la régle du point millieu :




Le programme c équivalent est le suivant :
  /* C Example */
  #include <mpi.h>
  #include <math.h>
  #include <stdio.h>

  float fct(float x)
  {
  return cos(x);
  }

  /* Prototype */
  float integral(float a, int n, float h);

  void main(argc,argv)
  int argc;
  char *argv[];
  {
Etude de cas                                                    Utilisation du calcul parallèle

 /*********************************************************************** This is one
 of the MPI versions on the integration example *
 * It demonstrates the use of : *
 * 1) MPI_Init *
 * 2) MPI_Comm_rank *
 * 3) MPI_Comm_size *
 * 4) MPI_Recv *
 * 5) MPI_Send *
 * 6) MPI_Finalize *
 * *
 **********************************************************************/
 int n, p, i, j, ierr,num;
 float h, result, a, b, pi;
 float my_a, my_range;

 int myid, source, dest, tag;
 MPI_Status status;
 float my_result;

 pi = acos(-1.0); /* = 3.14159... */
 a = 0.; /* lower limit of integration */
 b = pi*1./2.; /* upper limit of integration */
 n = 100000; /* number of increment within each process */

 dest = 0; /* define the process that computes the final result */
 tag = 123; /* set the tag to identify this particular job */
Etude de cas                                                                     Utilisation du calcul parallèle

 /* Starts MPI processes ... */

 MPI_Init(&argc,&argv); /* starts MPI */
 MPI_Comm_rank(MPI_COMM_WORLD, &myid); /* get current process id */
 MPI_Comm_size(MPI_COMM_WORLD, &p); /* get number of processes */

 h = (b-a)/n; /* length of increment */
 num = n/p; /* number of intervals calculated by each process*/
 my_range = (b-a)/p;
 my_a = a + myid*my_range;
 my_result = integral(my_a,num,h);

 printf("Process %d has the partial result of %fn", myid,my_result);

 if (myid == 0) {
 result = my_result;
 for (i=1;i<p;i++)
 {
   source = i; /* MPI process number range is [0,p-1] */
   MPI_Recv(&my_result, 1, MPI_REAL, source, tag,
   MPI_COMM_WORLD, &status);
   result += my_result;
 }
 printf("The result =%fn", result);
 }
 else
   MPI_Send(&my_result, 1, MPI_REAL, dest, tag, MPI_COMM_WORLD); /* send my_result to intended dest.*/
   MPI_Finalize(); /* let MPI finish up ... */
 }
Etude de cas                                                 Utilisation du calcul parallèle

 float integral(float a, int n, float h)
 {
 int j;
 float h2, aij, integ;

 integ = 0.0; /* initialize integral */
 h2 = h/2.;
 for (j=0;j<n;j++) { /* sum over all "j" integrals */
 aij = a + j*h; /* lower limit of "j" integral */
 integ += fct(aij+h2)*h;
 }
 return (integ);
 }

 Le résultat est par conséquent :

 [guest@hpc ~]$ nano integrale.c
 [guest@hpc ~]$ mpicc -o integrale integrale.c
 [guest@hpc ~]$ mpirun -np 8 integrale
 Process 1 has the partial result of 0.187593
 Process 2 has the partial result of 0.172887
 Process 0 has the partial result of 0.195090
 Process 4 has the partial result of 0.124363
 Process 3 has the partial result of 0.151537
 Process 5 has the partial result of 0.092410
 Process 7 has the partial result of 0.019215
 Process 6 has the partial result of 0.056906
 The result =1.000000
 [guest@hpc ~]$ mpirun -np 8 --hostfile machines integrale
 Process 0 has the partial result of 0.195090
 Process 3 has the partial result of 0.151537
 Process 1 has the partial result of 0.187593
 Process 6 has the partial result of 0.056906
 Process 4 has the partial result of 0.124363
 Process 7 has the partial result of 0.019215
 Process 2 has the partial result of 0.172887
 Process 5 has the partial result of 0.092410
 The result =1.000000
Etude de cas                                                    Utilisation du calcul parallèle

 Exemple d’envoi de JOB par la commande qsub.
 Editer un fichier JOB, nommé taches.sh dont le contenu est :
 #!/bin/bash
 #$ -M mtamali@mail.univ-bechar.dz
 #$ -cwd
 #$ -S /bin/bash

 mpirun -np 8 -machinefile machines integrale

 On lance la tâche de la façon suivante :
 [mtamali@hpc ~]$ qsub -pe orte 8 taches.sh


 8 étant le nombre de processeurs à allouer à mon JOB

 [mtamali@hpc ~]$ nano taches.sh
 [mtamali@hpc ~]$ qsub taches.sh
 4.hpc.univ-bechar.dz
 [mtamali@hpc ~]$ qstat
 Job id                    Name             User            Time Use S Queue
 ------------------------- ---------------- --------------- -------- - -----
 4.hpc                     taches.sh         mtamali           0 R default
 [mtamali@hpc ~]$

Contenu connexe

Tendances

Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbcKarim Amane
 
Administration reseau linux
Administration reseau linuxAdministration reseau linux
Administration reseau linuxRiadh Briki
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linuxThierry Gayet
 
Chargez un noyau linux sans reboot avec kexec
Chargez un noyau linux sans reboot avec kexecChargez un noyau linux sans reboot avec kexec
Chargez un noyau linux sans reboot avec kexecThierry Gayet
 
Cours linux complet
Cours linux completCours linux complet
Cours linux completaubin82
 
PhyloJava : une application de phylogénie sur la grille DATAGRID
PhyloJava : une application de phylogénie sur la grille DATAGRIDPhyloJava : une application de phylogénie sur la grille DATAGRID
PhyloJava : une application de phylogénie sur la grille DATAGRIDsuive
 
Admin linux
Admin linuxAdmin linux
Admin linuxbekhti
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretjfeudeline
 
JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)Fourat Zouari
 
JBoss clustering et tuning (lab 2/3)
JBoss clustering et tuning (lab 2/3)JBoss clustering et tuning (lab 2/3)
JBoss clustering et tuning (lab 2/3)Fourat Zouari
 
Commande rapide linux
Commande rapide linuxCommande rapide linux
Commande rapide linuxpatsiii
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linuxEmmanuel Florac
 
JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)Fourat Zouari
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxThierry Gayet
 
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...Jean-Antoine Moreau
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiationrobertpluss
 

Tendances (18)

Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbc
 
Administration reseau linux
Administration reseau linuxAdministration reseau linux
Administration reseau linux
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linux
 
Chargez un noyau linux sans reboot avec kexec
Chargez un noyau linux sans reboot avec kexecChargez un noyau linux sans reboot avec kexec
Chargez un noyau linux sans reboot avec kexec
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
PhyloJava : une application de phylogénie sur la grille DATAGRID
PhyloJava : une application de phylogénie sur la grille DATAGRIDPhyloJava : une application de phylogénie sur la grille DATAGRID
PhyloJava : une application de phylogénie sur la grille DATAGRID
 
Admin linux
Admin linuxAdmin linux
Admin linux
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caret
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
 
JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)
 
JBoss clustering et tuning (lab 2/3)
JBoss clustering et tuning (lab 2/3)JBoss clustering et tuning (lab 2/3)
JBoss clustering et tuning (lab 2/3)
 
Commande rapide linux
Commande rapide linuxCommande rapide linux
Commande rapide linux
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
 
JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU Linux
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
 

Similaire à Using UBCluster

Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Mohammed TAMALI
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOSgcatt
 
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...Frédéric FAURE
 
Ysance conference - cloud computing - aws - 3 mai 2010
Ysance   conference - cloud computing - aws - 3 mai 2010Ysance   conference - cloud computing - aws - 3 mai 2010
Ysance conference - cloud computing - aws - 3 mai 2010Ysance
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - IntroductionBlandine Larbret
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)ninanoursan
 
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormApache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormParis_Storm_UG
 
Paris stormusergroup intrudocution
Paris stormusergroup intrudocutionParis stormusergroup intrudocution
Paris stormusergroup intrudocutionParis_Storm_UG
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-onsahar dridi
 
Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013O10ée
 
Consolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic BeatsConsolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic Beatsgcatt
 
Génération automatique de texte
Génération automatique de texteGénération automatique de texte
Génération automatique de texteEstelle Delpech
 
Databases for Bioinformatics
Databases for BioinformaticsDatabases for Bioinformatics
Databases for BioinformaticsKarim Mezhoud
 
My sql
My sqlMy sql
My sqlhajaar
 
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...AZUG FR
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 

Similaire à Using UBCluster (20)

Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
Chap XIV : Calcul parallèle (Fondements & Principe d'utilisation)
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
 
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
Amazon Web Services User Group - France - 3 mai 2010 - Optimisation et Automa...
 
Ysance conference - cloud computing - aws - 3 mai 2010
Ysance   conference - cloud computing - aws - 3 mai 2010Ysance   conference - cloud computing - aws - 3 mai 2010
Ysance conference - cloud computing - aws - 3 mai 2010
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)
 
OpenNMS
OpenNMSOpenNMS
OpenNMS
 
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormApache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec Storm
 
Paris stormusergroup intrudocution
Paris stormusergroup intrudocutionParis stormusergroup intrudocution
Paris stormusergroup intrudocution
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
 
Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013
 
Consolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic BeatsConsolidez vos journaux et vos métriques avec Elastic Beats
Consolidez vos journaux et vos métriques avec Elastic Beats
 
Génération automatique de texte
Génération automatique de texteGénération automatique de texte
Génération automatique de texte
 
Databases for Bioinformatics
Databases for BioinformaticsDatabases for Bioinformatics
Databases for Bioinformatics
 
Cour1
Cour1Cour1
Cour1
 
My sql
My sqlMy sql
My sql
 
My sql
My sqlMy sql
My sql
 
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
 
Presentation final
Presentation finalPresentation final
Presentation final
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 

Plus de Mohammed TAMALI

Chap XVI-RedactionMemoire.pdf
Chap XVI-RedactionMemoire.pdfChap XVI-RedactionMemoire.pdf
Chap XVI-RedactionMemoire.pdfMohammed TAMALI
 
Chap XI-Optimisation.pdf
Chap XI-Optimisation.pdfChap XI-Optimisation.pdf
Chap XI-Optimisation.pdfMohammed TAMALI
 
Outils GPL de Modélisation & Simulation
Outils GPL de Modélisation & SimulationOutils GPL de Modélisation & Simulation
Outils GPL de Modélisation & SimulationMohammed TAMALI
 
Chap XVI - redaction mémoire
Chap XVI - redaction mémoireChap XVI - redaction mémoire
Chap XVI - redaction mémoireMohammed TAMALI
 
Chap VI 1-Elements de Pratique des SIG sous QGIS
Chap VI 1-Elements de Pratique des SIG sous QGISChap VI 1-Elements de Pratique des SIG sous QGIS
Chap VI 1-Elements de Pratique des SIG sous QGISMohammed TAMALI
 
Chap VI SIG, Système d'Information Géographique, les bases
Chap VI SIG, Système d'Information Géographique, les basesChap VI SIG, Système d'Information Géographique, les bases
Chap VI SIG, Système d'Information Géographique, les basesMohammed TAMALI
 
Informatique pour école de Médecine Cours : TD & TP
Informatique pour école de Médecine Cours : TD & TPInformatique pour école de Médecine Cours : TD & TP
Informatique pour école de Médecine Cours : TD & TPMohammed TAMALI
 
Informatique pour école de Médecine Cours : Concepts de bases
Informatique pour école de Médecine Cours : Concepts de basesInformatique pour école de Médecine Cours : Concepts de bases
Informatique pour école de Médecine Cours : Concepts de basesMohammed TAMALI
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonMohammed TAMALI
 
Universitaire, Intellectuel & Instruit
Universitaire, Intellectuel & InstruitUniversitaire, Intellectuel & Instruit
Universitaire, Intellectuel & InstruitMohammed TAMALI
 
Analyse Numérique – TP
Analyse Numérique – TP Analyse Numérique – TP
Analyse Numérique – TP Mohammed TAMALI
 
Chap XII Analyse Numerique
Chap XII Analyse NumeriqueChap XII Analyse Numerique
Chap XII Analyse NumeriqueMohammed TAMALI
 
ÉTUDE ET DIMENTIONNEMENT D’UN SUIVEUR SOLAIRE POUR LA GÉNÉRATION D’ÉNERGIE PV
ÉTUDE ET DIMENTIONNEMENT D’UN SUIVEUR SOLAIRE POUR LA GÉNÉRATION D’ÉNERGIE PVÉTUDE ET DIMENTIONNEMENT D’UN SUIVEUR SOLAIRE POUR LA GÉNÉRATION D’ÉNERGIE PV
ÉTUDE ET DIMENTIONNEMENT D’UN SUIVEUR SOLAIRE POUR LA GÉNÉRATION D’ÉNERGIE PVMohammed TAMALI
 
Chap VI SIG-Travaux Pratiques
Chap VI SIG-Travaux PratiquesChap VI SIG-Travaux Pratiques
Chap VI SIG-Travaux PratiquesMohammed TAMALI
 
Examen Master CCV : Méthode et Plan d'Expériences
Examen Master CCV : Méthode et Plan d'ExpériencesExamen Master CCV : Méthode et Plan d'Expériences
Examen Master CCV : Méthode et Plan d'ExpériencesMohammed TAMALI
 
Sipe12 : Pour une didactique BIO (Pédagogie & Efficaité energetique)
Sipe12 : Pour une didactique BIO (Pédagogie & Efficaité energetique)Sipe12 : Pour une didactique BIO (Pédagogie & Efficaité energetique)
Sipe12 : Pour une didactique BIO (Pédagogie & Efficaité energetique)Mohammed TAMALI
 
Chap XI : Outils de Simulation des modes opératoires (Plans d’expériences)
Chap XI : Outils de Simulation des modes opératoires (Plans d’expériences)Chap XI : Outils de Simulation des modes opératoires (Plans d’expériences)
Chap XI : Outils de Simulation des modes opératoires (Plans d’expériences)Mohammed TAMALI
 
Chap10 : Outils de Simulation Cas des CAD 3D Concepts de base & fondements.
Chap10 : Outils de Simulation Cas des CAD 3D Concepts de base & fondements.Chap10 : Outils de Simulation Cas des CAD 3D Concepts de base & fondements.
Chap10 : Outils de Simulation Cas des CAD 3D Concepts de base & fondements.Mohammed TAMALI
 
Je TIC au passé, présent et au futur, Journée du 23/12/2014
Je TIC au passé,  présent et au futur, Journée du 23/12/2014Je TIC au passé,  présent et au futur, Journée du 23/12/2014
Je TIC au passé, présent et au futur, Journée du 23/12/2014Mohammed TAMALI
 

Plus de Mohammed TAMALI (20)

Chap XVI-RedactionMemoire.pdf
Chap XVI-RedactionMemoire.pdfChap XVI-RedactionMemoire.pdf
Chap XVI-RedactionMemoire.pdf
 
Chap XI-Optimisation.pdf
Chap XI-Optimisation.pdfChap XI-Optimisation.pdf
Chap XI-Optimisation.pdf
 
Outils GPL de Modélisation & Simulation
Outils GPL de Modélisation & SimulationOutils GPL de Modélisation & Simulation
Outils GPL de Modélisation & Simulation
 
Chap XVI - redaction mémoire
Chap XVI - redaction mémoireChap XVI - redaction mémoire
Chap XVI - redaction mémoire
 
Chap VI 1-Elements de Pratique des SIG sous QGIS
Chap VI 1-Elements de Pratique des SIG sous QGISChap VI 1-Elements de Pratique des SIG sous QGIS
Chap VI 1-Elements de Pratique des SIG sous QGIS
 
Chap VI SIG, Système d'Information Géographique, les bases
Chap VI SIG, Système d'Information Géographique, les basesChap VI SIG, Système d'Information Géographique, les bases
Chap VI SIG, Système d'Information Géographique, les bases
 
Informatique pour école de Médecine Cours : TD & TP
Informatique pour école de Médecine Cours : TD & TPInformatique pour école de Médecine Cours : TD & TP
Informatique pour école de Médecine Cours : TD & TP
 
Informatique pour école de Médecine Cours : Concepts de bases
Informatique pour école de Médecine Cours : Concepts de basesInformatique pour école de Médecine Cours : Concepts de bases
Informatique pour école de Médecine Cours : Concepts de bases
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
 
Universitaire, Intellectuel & Instruit
Universitaire, Intellectuel & InstruitUniversitaire, Intellectuel & Instruit
Universitaire, Intellectuel & Instruit
 
Analyse Numérique – TP
Analyse Numérique – TP Analyse Numérique – TP
Analyse Numérique – TP
 
Chap XII Analyse Numerique
Chap XII Analyse NumeriqueChap XII Analyse Numerique
Chap XII Analyse Numerique
 
ÉTUDE ET DIMENTIONNEMENT D’UN SUIVEUR SOLAIRE POUR LA GÉNÉRATION D’ÉNERGIE PV
ÉTUDE ET DIMENTIONNEMENT D’UN SUIVEUR SOLAIRE POUR LA GÉNÉRATION D’ÉNERGIE PVÉTUDE ET DIMENTIONNEMENT D’UN SUIVEUR SOLAIRE POUR LA GÉNÉRATION D’ÉNERGIE PV
ÉTUDE ET DIMENTIONNEMENT D’UN SUIVEUR SOLAIRE POUR LA GÉNÉRATION D’ÉNERGIE PV
 
Chap VI SIG-Travaux Pratiques
Chap VI SIG-Travaux PratiquesChap VI SIG-Travaux Pratiques
Chap VI SIG-Travaux Pratiques
 
Examen Master CCV : Méthode et Plan d'Expériences
Examen Master CCV : Méthode et Plan d'ExpériencesExamen Master CCV : Méthode et Plan d'Expériences
Examen Master CCV : Méthode et Plan d'Expériences
 
Sipe12 : Pour une didactique BIO (Pédagogie & Efficaité energetique)
Sipe12 : Pour une didactique BIO (Pédagogie & Efficaité energetique)Sipe12 : Pour une didactique BIO (Pédagogie & Efficaité energetique)
Sipe12 : Pour une didactique BIO (Pédagogie & Efficaité energetique)
 
CV Updated 2015
CV Updated 2015CV Updated 2015
CV Updated 2015
 
Chap XI : Outils de Simulation des modes opératoires (Plans d’expériences)
Chap XI : Outils de Simulation des modes opératoires (Plans d’expériences)Chap XI : Outils de Simulation des modes opératoires (Plans d’expériences)
Chap XI : Outils de Simulation des modes opératoires (Plans d’expériences)
 
Chap10 : Outils de Simulation Cas des CAD 3D Concepts de base & fondements.
Chap10 : Outils de Simulation Cas des CAD 3D Concepts de base & fondements.Chap10 : Outils de Simulation Cas des CAD 3D Concepts de base & fondements.
Chap10 : Outils de Simulation Cas des CAD 3D Concepts de base & fondements.
 
Je TIC au passé, présent et au futur, Journée du 23/12/2014
Je TIC au passé,  présent et au futur, Journée du 23/12/2014Je TIC au passé,  présent et au futur, Journée du 23/12/2014
Je TIC au passé, présent et au futur, Journée du 23/12/2014
 

Using UBCluster

  • 1. Republique Algerienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université de Béchar Centre de calcul Laboratoire ENERGARID Equipe SimulIA Présenté par : M.TAMALI
  • 2. • Plan 1) Présentation Introduction Topologies et procédures d'accès Modes d'utilisation d'UBCluster 2) Etude de cas Etude de séquence génétique Etude de distribution de Boltzmann. Utilisation d'Octave Utilisation du calcul parallèle
  • 3. Présentation Introduction Définition du mot CLUSTER, Ensemble de plusieurs machines vues comme une seule permettant d'obtenir de grandes puissances de traitement. C’est un regroupement de deux serveurs ou plus, en vue de créer un "super serveur virtuel". Un cluster fournit des fonctions de haute disponibilité et de répartition de charges. Il facilite aussi l’évolutivité de la montée en charge. Idée apparue à l'origine au milieu des années 80 chez Digital Equipment Corporation, sous le nom de VAXCluster. En 1995, un accord de partenariat signé entre Microsoft et DEC, donne naissance à Windows NT 4 Enterprise Server (nom de code : wolfpack); version qui intègre MSCS (Microsoft Cluster Serveur). Il existe aujourd’hui des solutions cluster sous Windows 2000/2003, Linux, Unix, OpenVMS, AS/400. Plusieurs constructeurs proposent des solutions propriétaires (Tandem, Siemens, Veritas, Novell, IBM, Sun...). Lotus fournit également une solution logicielle pour créer un cluster Notes entre des machines d'horizons différents (AS/400, Netware, Windows, Unix, Linux…).
  • 4. Présentation Topologie et procédures d'accès La topologie adoptée pour l'Intranet du Centre de calcul de l‘Université de Béchar porte l'avantage d'être connecté à une structure mixte (LAN, WLAN) et à Internet (WAN). Il est du type ROCKS Cluster version 5.4 (2010)
  • 5. Présentation Mode d'utilisation d'UBCluster UBCluster est accessible à travers une console de commande en ligne, utilisant le programme putty.exe (Gestionnaire de session client à distance) téléchargeable du site http://www.putty.org/. D’autres outils existent, tel que WinSSH …
  • 6. Présentation Mode d'utilisation d'UBCluster Pour la plupart des cas, les utilisateurs recencés utilisent Microsoft Windows XP ou 7 comme système d'exploitation. Pour Linux, on ouvre une fenêtre TERMINAL et on tape SSH et puis les coordonnées (user, pass) Une fois que l'utilisateur donne son username et son password d'une manière correcte, il accédera sur la plateforme UBCluster après quoi, il pourra commencer à envoyer ses requêtes pour calcul.
  • 7. Présentation Mode d'utilisation d'UBCluster Pour cela, UBCluster pourra être utilisé selon des modes variés. Il est toutefois extensible selon le besoin et la disponibilité du logiciel escompté (GPL ou Licence propriétaire). Les outils déjà intégrés sont : - Octave (équivalent GPL de Matlab) - APBS  (Adaptive Poisson-Boltzmann Solver) - Compilateur pour le calcul parallèle (C/C++, perl ou Fortran) - La suite viendra ...
  • 8. Etude de cas Etude de séquences génétiques BLAST, ou Basic Local  Alignment Search  Tool, est une  collection d'outils qui sont  utilisés  pour  rechercher et trouver  des régions de  la  similarité  locale entre  les séquences. Le  programme compare des  séquences  de  nucléotides ou de  protéines aux  bases  de  données de  séquences, et calcule la  signification statistique des occurrences 'matches'. Cette  suite logiciels a été diffusée par le Centre national de l'Information en Biotechnologie NCBI USA.  BLAST peut  être utilisé  pour des  comparaisons protéine-protéine ou des  comparaisons de  nucléotides-+nucléotides.  Avant qu'un exemple d'utilisation ne soit présenté, nous devons d'abord définir quelques variables d'environnement.  $BLASTDB - C'est la variable qui pointe  vers la base  de  données Blast. elle  est  fixé à $HOME/bio/ncbi/db/.  Ce répertoire devrait  contenir les bases  de  données que  vous souhaitez rechercher. BLAST, par défaut, contrôle cet  endroit et le répertoire  de  travail  courant pour la  présence des  bases  de  données. Cette  variable est  définie lors  de  la  connexion par des  scripts de  connexion du  système, et  peut être  modifiée par l'utilisateur pour  qu'elle  pointe  vers son  vrai chemin  dans ses scripts de démarrage. •$BLASTMAT - Cette variable pointe vers l'emplacement où les matrices score BLAST  sont présents. Elle est définie par / opt/bio/ncbi/data. Encore  une  fois, elle peut être modifiée  pour  pointer  vers un  emplacement désiré sur  une base par utilisateur. BLAST nécessite  la présence de  2 ensembles  de  données. Un ensemble  de  données  qui  est la  séquence  d'entrée que vous souhaitez rechercher, et l'autre  ensemble  de  données qui est la base  de  données que  vous souhaitez faire une recherche avec. Utilisez la procédure suivante pour exécuter BLAST : Télécharger une base  de  données BLAST que vous souhaitez exécuter la comparaison  avec. Les bases  de  données peuvent être obtenues sur  le  site ftp NCBI à ftp://ftp.ncbi.nlm.nih.gov/blast/db/.  Les bases  de  données disponibles sur le  site mentionné ci-dessus sont pré-formatés. Il  est recommandé  que  les bases  de  données BLAST sont stockés à l'emplacement $BLASTDB. Visitez ftp://ftp.ncbi.nlm.nih.gov/blast/db/  dans  votre navigateur pour voir la liste des bases de données disponibles préformatées.  Télécharger une de  ces bases sur votre session  UBCluster en  utilisant wget.  Nous  allons utiliser  la base  de  données  du  nucléotides de la 'Drosophila melanogaster' (mouche) [mtamali@hpc ~]$ wget -q ftp://ftp.ncbi.nlm.nih.gov/blast/db/nt.08.tar.gz  [mtamali@hpc ~]$ gunzip -c nt.08.tar.gz | ( cd $BLASTDB/ && tar -xf -)
  • 9. Etude de cas Etude de séquences génétiques Exécutez la commande au format formatdb la base de données au format BLAST. Pour cet exemple, nous allons utiliser la Drosophila melanogaster (mouche) base de données de nucléotides. [mtamali@hpc ~]$ cd $BLASTDB [mtamali@hpc ~]$ wget -q ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/drosoph.nt.gz [mtamali@hpc ~]$ gunzip drosoph.nt.gz [mtamali@hpc ~]$ formatdb -p F -V T -i drosoph.nt [mtamali@hpc ~]$ ls drosoph.nt* drosoph.nt drosoph.nt.nhr drosoph.nt.nin drosoph.nt.nsq [mtamali@hpc ~]$ cd $HOME Après que la base de données est mise en forme, éditer un fichier d'entrée de test : [mtamali@hpc ~]$ cat > test.txt >Test AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC TTCTGAACTGGTTACCTGCCGTGAGTAAATTAAAATTTTATTGACTTAGGTCACTAAATACTTTAACCAA TATAGGCATAGCGCACAGACAGATAAAAATTACAGAGTACACAACATCCATGAAACGCATTAGCACCACC ATTACCACCACCATCACCATTACCACAGGTAACGGTGCGGGCTGACGCGTACAGGAAACACAGAAAAAAG CCCGCACCTGACAGTGCGGGCTTTTTTTTTCGACCAAAGGTAACGAGGTAACAACCATGCGAGTGTTGAA GTTCGGCGGTACATCAGTGGCAAATGCAGAACGTTTTCTGCGTGTTGCCGATATTCTGGAAAGCAATGCC AGGCAGGGGCAGGTGGCCACCGTCCTCTCTGCCCCCGCCAAAATCACCAACCACCTGGTGGCGATGATTG AAAAAACCATTAGCGGCCAGGATGCTTTACCCAATATCAGCGATGCCGAACGTATTTTTGCCGAACTTTT Exécutez le programme blastall sur l'entrée de test contre la base de données formatées. blastall -d drosoph.nt -p blastn -i test.txt
  • 10. Etude de cas Etude de séquences génétiques Le résultat sera alors [mtamali@hpc ~]$ blastall -d drosoph.nt -p blastn -i test.txt BLASTN 2.2.18 [Mar-02-2008] Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs", Nucleic Acids Res. 25:3389-3402. Query= Test (560 letters) Database: drosoph.nt 1170 sequences; 122,655,632 total letters Searching..................................................done Score E Sequences producing significant alignments: (bits) Value gi|10729531|gb|AE002936.2|AE002936 Drosophila melanogaster genom... 36 0.86 gi|10728232|gb|AE003493.2|AE003493 Drosophila melanogaster genom... 36 0.86 gi|10726497|gb|AE003698.2|AE003698 Drosophila melanogaster genom... 36 0.86 gi|10726398|gb|AE003681.2|AE003681 Drosophila melanogaster genom... 36 0.86 gi|10729308|gb|AE002665.2|AE002665 Drosophila melanogaster genom... 34 3.4 gi|10729264|gb|AE002615.2|AE002615 Drosophila melanogaster genom... 34 3.4 gi|7298233|gb|AE003648.1|AE003648 Drosophila melanogaster genomi... 34 3.4 gi|7297628|gb|AE003628.1|AE003628 Drosophila melanogaster genomi... 34 3.4 gi|10728546|gb|AE003447.2|AE003447 Drosophila melanogaster genom... 34 3.4 gi|7290819|gb|AE003441.1|AE003441 Drosophila melanogaster genomi... 34 3.4 gi|10728461|gb|AE003431.2|AE003431 Drosophila melanogaster genom... 34 3.4 gi|10728241|gb|AE003495.2|AE003495 Drosophila melanogaster genom... 34 3.4 gi|7292554|gb|AE003484.1|AE003484 Drosophila melanogaster genomi... 34 3.4 gi|10727872|gb|AE003525.2|AE003525 Drosophila melanogaster genom... 34 3.4 gi|10727399|gb|AE003587.2|AE003587 Drosophila melanogaster genom... 34 3.4 gi|10727114|gb|AE003673.2|AE003673 Drosophila melanogaster genom... 34 3.4 gi|10726705|gb|AE003740.2|AE003740 Drosophila melanogaster genom... 34 3.4....
  • 11. Etude de cas Etude de distribution de Bolzmann Créer un script de soumission simple appelé blast_sge.sh contenant le texte suivant #!/bin/bash # #$ -cwd #$ -S /bin/bash #$ -j y export BLASTDB=$HOME/bio/ncbi/db/ export BLASTMAT=/opt/bio/ncbi/data/ /opt/bio/ncbi/bin/blastall -d drosoph.nt -p blastn -i $HOME/test.txt -o $HOME/result.txt Exécuter avec [mtamali@hpc ~]$ qsub blast_sge.sh Your job 10 ("blast_sge.sh") has been submitted C’est fini pour cette exemple et c’est à vous de découvrir la suite !
  • 12. Etude de cas Utilisation de l'environnement Octave 3 Un exemple de produit de matrice ayant été exécuté sous Octave. De même, des système d'équations aux dérivées partielles peuvent aussi être régie
  • 13. Etude de cas Utilisation de l'environnement Octave 3 Un exemple de traçage de fonction 3D exportée utilisant Xming sur une machine Windows 7 pour permettre d'afficher le résultat graphique sur la machine cliente. De même, toute application graphique sur le serveur UBCluster peut être lancée à distance et visualisée, sous Xming sur la machine du client.
  • 14. Etude de cas Utilisation de l'environnement Octave 3 Un exemple de calcul symbolique, très intéressant, surtout, si on a besoin de calculer dans une espace indéfini des dérivées ou intégrales. octave:1> df = g_diff ( "sin(x)" , "x" ) df = cos(x) octave:2> x = pi; eval ( df ); ans = -1 Un exemple de calcul symbolique, très intéressant, surtout, si on a besoin de calculer dans une espace indéfini des dérivées ou des intégrales. octave:1> symbols octave:2> x = sym ("x") x = x octave:3> y = sym ("y"); octave:4> (x + 6) * y ans = y*(6.0+x) octave:5> differentiate (ans, x) ans = y
  • 15. Etude de cas Utilisation du calcul parallèle Topologie du calcul parallèle dans un cluster. Chaque machine est par défaut à multi-processeurs au même moment que le cluster peut-être Constitué de plusieurs machines (dites NODES) montées ensemble et supervisées par une machine appelée FRONTEND. La topologie d’un programme est la suivante : /*The Parallel Hello World Program*/ #include <stdio.h> #include <mpi.h> main(int argc, char **argv) { int node; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &node); printf("Hello World from Node %dn", node); MPI_Finalize(); } La compilation est lancée par la commande suivante : mpicc hello.c -o hello ↵ Dans le cas d UBCluster on s’attend à une réponse équivalente à ce qui suit : mpirun –hostfile machines hello ↵ Hello World from Node 2 Hello World from Node 0 Hello World from Node 4 Hello World from Node 3 Hello World from Node 7 Hello World from Node 1 Hello World from Node 6 Hello World from Node 5
  • 16. Etude de cas Utilisation du calcul parallèle Exemple d’intégration numérique par la régle du point millieu. Soit à determiner la valeur de l’intégrale suivante : Nous substituons à l’integrale sont équivalent selon la régle du point millieu : Le programme c équivalent est le suivant : /* C Example */ #include <mpi.h> #include <math.h> #include <stdio.h> float fct(float x) { return cos(x); } /* Prototype */ float integral(float a, int n, float h); void main(argc,argv) int argc; char *argv[]; {
  • 17. Etude de cas Utilisation du calcul parallèle /*********************************************************************** This is one of the MPI versions on the integration example * * It demonstrates the use of : * * 1) MPI_Init * * 2) MPI_Comm_rank * * 3) MPI_Comm_size * * 4) MPI_Recv * * 5) MPI_Send * * 6) MPI_Finalize * * * **********************************************************************/ int n, p, i, j, ierr,num; float h, result, a, b, pi; float my_a, my_range; int myid, source, dest, tag; MPI_Status status; float my_result; pi = acos(-1.0); /* = 3.14159... */ a = 0.; /* lower limit of integration */ b = pi*1./2.; /* upper limit of integration */ n = 100000; /* number of increment within each process */ dest = 0; /* define the process that computes the final result */ tag = 123; /* set the tag to identify this particular job */
  • 18. Etude de cas Utilisation du calcul parallèle /* Starts MPI processes ... */ MPI_Init(&argc,&argv); /* starts MPI */ MPI_Comm_rank(MPI_COMM_WORLD, &myid); /* get current process id */ MPI_Comm_size(MPI_COMM_WORLD, &p); /* get number of processes */ h = (b-a)/n; /* length of increment */ num = n/p; /* number of intervals calculated by each process*/ my_range = (b-a)/p; my_a = a + myid*my_range; my_result = integral(my_a,num,h); printf("Process %d has the partial result of %fn", myid,my_result); if (myid == 0) { result = my_result; for (i=1;i<p;i++) { source = i; /* MPI process number range is [0,p-1] */ MPI_Recv(&my_result, 1, MPI_REAL, source, tag, MPI_COMM_WORLD, &status); result += my_result; } printf("The result =%fn", result); } else MPI_Send(&my_result, 1, MPI_REAL, dest, tag, MPI_COMM_WORLD); /* send my_result to intended dest.*/ MPI_Finalize(); /* let MPI finish up ... */ }
  • 19. Etude de cas Utilisation du calcul parallèle float integral(float a, int n, float h) { int j; float h2, aij, integ; integ = 0.0; /* initialize integral */ h2 = h/2.; for (j=0;j<n;j++) { /* sum over all "j" integrals */ aij = a + j*h; /* lower limit of "j" integral */ integ += fct(aij+h2)*h; } return (integ); } Le résultat est par conséquent : [guest@hpc ~]$ nano integrale.c [guest@hpc ~]$ mpicc -o integrale integrale.c [guest@hpc ~]$ mpirun -np 8 integrale Process 1 has the partial result of 0.187593 Process 2 has the partial result of 0.172887 Process 0 has the partial result of 0.195090 Process 4 has the partial result of 0.124363 Process 3 has the partial result of 0.151537 Process 5 has the partial result of 0.092410 Process 7 has the partial result of 0.019215 Process 6 has the partial result of 0.056906 The result =1.000000 [guest@hpc ~]$ mpirun -np 8 --hostfile machines integrale Process 0 has the partial result of 0.195090 Process 3 has the partial result of 0.151537 Process 1 has the partial result of 0.187593 Process 6 has the partial result of 0.056906 Process 4 has the partial result of 0.124363 Process 7 has the partial result of 0.019215 Process 2 has the partial result of 0.172887 Process 5 has the partial result of 0.092410 The result =1.000000
  • 20. Etude de cas Utilisation du calcul parallèle Exemple d’envoi de JOB par la commande qsub. Editer un fichier JOB, nommé taches.sh dont le contenu est : #!/bin/bash #$ -M mtamali@mail.univ-bechar.dz #$ -cwd #$ -S /bin/bash mpirun -np 8 -machinefile machines integrale On lance la tâche de la façon suivante : [mtamali@hpc ~]$ qsub -pe orte 8 taches.sh 8 étant le nombre de processeurs à allouer à mon JOB [mtamali@hpc ~]$ nano taches.sh [mtamali@hpc ~]$ qsub taches.sh 4.hpc.univ-bechar.dz [mtamali@hpc ~]$ qstat Job id Name User Time Use S Queue ------------------------- ---------------- --------------- -------- - ----- 4.hpc taches.sh mtamali 0 R default [mtamali@hpc ~]$