Calculs intensifs pour l étude de l’évolution

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Présentation du prototype :
Probabilités et statistiques au lycée
STATISTIQUE INFERENTIELLE L ’ESTIMATION
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Algorithmes et structures de données avancés
Efficient Simplification of Point-Sampled Surfaces
Sandrine Marchand- Académie de Grenoble
DE ZÉRO à PAUP : Délimitation du groupe d'intérêt ("ingroup")
Les TESTS STATISTIQUES
Les TESTS STATISTIQUES
Prédiction de sites dinteraction des protéines par analyse darbres phylogénétiques Stéfan Engelen Génomique Analytique, INSERM U511 Université Pierre et.
PhyloJava : une application de phylogénie sur la grille DATAGRID
Intégration du système de production LHCb sur la DataGRID V. Garonne, CPPM, Marseille Réunion DataGRID France, 13 fv fév
Grille Régionale Rhône-Alpes Institut des Grilles du CNRS Yonny CARDENAS CC-IN2P3 Réunion du groupe de travail grilles Projet CIRA Grenoble, le 2 Juin.
introduction Tenter de situer l’homme au sein du règne animal en
Le remplacement moléculaire
Recherche de similarité de séquences à grande échelle S. Penel, P. Calvat, Y. Cardenas LBBE, CCIN2P3 Calculs BLAST intensifs sur la plateforme TIDRA -
Les bases de données biologiques au LBBE
Recherche heuristique de similitudes dans les séquences dADN École Jeunes Chercheurs en Algorithmique et Calcul Formel Laurent Noé
Systèmes d’exploitation
Les outils d’intégration continue
Active Directory Windows 2003 Server
MRP, MRP II, ERP : Finalités et particularités de chacun.
Apprentissage du jeu de morpion
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Le centre de calcul de l'IN2P3 : une architecture pour le calcul intensif et le stockage de masse Pascal Calvat.
1 © Syndicat des Energies Renouvelables Présentation du marché de léolien Limoges, 9 novembre 2010.
Application des algorithmes génétiques
Projet Génome Humain (HGP)
Algorithmique et Programmation
Administration de SharePoint
DEFIS Groupe SRA.
Serveurs Partagés Oracle
Aider à plusieurs Cours UCBA septembre 2008 Maïté Faivre.
Bilan du Projet Industriel
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
La phylogénie Définition :
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
Les fichiers indexés (Les B-arbres)
Universté de la Manouba
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Projet de Master première année 2007 / 2008
Demande stochastique stationnaire
Recherche heuristique dans les bases de données L’algorithme BLAST
Ipchains TP 1 TP 2 TP 3 Installer un serveur web sur votre poste,
Etienne Danchin & Amandine Campan Présentation interne, pôle Santé des Plantes, Sophia - Antipolis Mercredi 21 avril 2010 Grille PACA ProActive : retour.
Mise en oeuvre et exploitation
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Amélioration de la simulation stochastique
1 Alain Casali Christian Ernst Extraction de Règles de Corrélation Décisionnelles 29 Janvier 2009.
Les ouvertures au CC Pascal Calvat. Plan 2 Présentation des ouvertures Les besoins des utilisateurs Les solutions apportées par le CCIN2P3 Les ouvertures.
Fast and Furious Decision Tree Induction
3e Partie C Évolution des organismes vivants et histoire de la Terre
STRUCTURES DES DONNEES. L’ORGANISATION DES DONNEES. BASES DES DONNEES
Création d’une base de données pour l’intégration de données génétiques et l’aide à la sélection de gènes candidats Franck De-graeve Master ASE.
Recherche heuristique dans les bases de données L’algorithme BLAST
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
Les banques de séquences nucléiques
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Algorithmique Boucles et Itérations
131, rue de Créqui, Lyon 6ème « L’organisation est une machine à maximiser les forces humaines» - Peter Drucker (économiste )
Chapitre 12 Surveillance des ressources et des performances Module S41.
Mardi 31 mai 2016 JJS (Java Job Submission) Soumission de jobs sur grille Pascal Calvat Centre de calcul.
Mercredi 1er juin 2016 La biologie au centre de calcul Pascal Calvat Centre de calcul.
BABAR Georges Vasseur CEA Saclay, DSM/IRFU/SPP Workshop sur l’analyse des données au centre de calcul de Lyon 17 avril 2008.
Mercredi 1er juin 2016 La biologie au centre de calcul Pascal Calvat Centre de calcul.
Transcription de la présentation:

Calculs intensifs pour l étude de l’évolution Le calcul de l’arbre du vivant

Le génome Le génome est l’ensemble du materiel génétique d’un individu ou d’une espece Le génome est codé sous la forme de une ou plusieurs molécules d’ADN (par exemple les chromosomes) Il est présent chez tous les organismes vivants: plantes, animaux, insectes, champignons, microbes, bactéries Toutes les cellules d’un individu contienent un exemplaire du génome (chaque cellule humaine contient 2 mètres d'ADN environ)

Les gènes Il s’agit de zones dans le génome qui contiennent l’information sur la construction d’élements fondamentaux du fonctionnement des cellules, des organes, etc. Par exemple les gènes codent pour les protéines, des polypeptides impliqués a tous les niveaux de la vie cellulaire

Diversité des génomes Génome humain : Génome de la mouche: 3,2 milliards de lettres environ 25 000 gènes Génome de la mouche: 120 millions de lettres environ 20 000 gènes Génome du maïs: 5 milliards de lettres 55 000 gènes Génome de la bactérie Escherichia coli 4 millions de lettres 4 000 gènes

Séquençage du génome Il s’agit de connaître la « séquence » du génome c’est à dire la formule : AATGCATAGTGCCGATG….. Certaines parties du génome sont des gènes qui codent des protéines AATGCATAGTGCCGATGTAGTGCATAGTGC

Explosion du nombre de génomes séquencés Cout du séquençage en chute libre (nouvelles technos) Accélération du nombre de génomes séquencés Génome de l’homme: Séquencage du génome humain 1989-2001: 12 ans En 2010 : projet « 1000 Génomes » (1000 génomes humains)

Explosion du nombre de génomes séquencés 2 000 génomes disponibles aujourd’hui Quelque projets parmi d’autres: Génome 10K: 10 000 génomes de vertébrés i5K: 5 000 génomes d’insectes dans les 5 ans 1KP: 1 000 génomes de plantes

L’évolution « rien en biologie n’a de sens, si ce n’est à la lumière de l’évolution » Theodosius Dobzhansky (1900-1975) : La diversité des formes de vie est le résultat d’un processus historique, fait de hasards et de contraintes : l’évolution Comprendre l’évolution pour expliquer les formes de vie Comprendre les formes de vie pour retracer l’évolution

La phylogénie Etude de l’histoire des relation de parentés entre les êtres vivants Anatomie comparée Comparaison de séquence On observe une similarité qui permet de supposer qui il existait un ancêtre commun a ces organes On peut observer des similarités entre les séquences intérêt: tous les organismes ont des séquences d’ADN (alors qu’ils n’ont pas tous des pattes!) AATTACGATCGATTTACGC AATTGCGATCGATTTACGC AATTCCTATCGATTTACGC

La phylogénie Gènes homologues: ce sont des gènes qui descendent du même gène ancestral Deux séquences présentant une forte similarité de séquence ont de grande chance d’être des séquences homologues Nombreuse méthodes mathématique permettant de calculer la similarité entre 2 séquences Séquences ADN : 4 lettres Séquences de protéines : 20 lettres

La phylogénie Phylogénie d’un gène On estime la distance évolutive entre différents gènes On la représente sous la forme d’un arbre Phylogénie d’un gène présent dans le génome de différents organismes Ces gènes sont des gènes « homologues » Le gène de la souris est plus proche du gène du rat que de celui de la vache : la distance entre gène est proportionelle la longeur de branche

La phylogénie Phylogénie des êtres vivants

La phylogénie Phylogénie des êtres vivants On utilise la phylogénie d’un gène pour proposer une phylogénie des êtres vivants

La génomique comparative Autrefois on se basait sur quelques gènes pour reconstruire l’ histoire évolutive des organismes Mais tous les gènes n’ont pas la même histoire Aujourd’hui on peut utiliser l’ensemble du génome pour comparer les organismes

La phylogénomique Calcul de la phylogénie des especes en se basant sur l’ensemble de leur génome

Projet Ancestrome Etude du fonctionnement et de l’organisation des génomes des êtres vivants actuels dans le but de construire des modèles permettant de connaître le génomes de leurs ancêtres ainsi que les processus évolutifs qui les ont engendrés Entre autres aspects: Base de données HOGENOM Calculs de similarité de séquences Clustering Programme PHYLDOG : Calcul simultané de l’arbre phylogénetique du vivant et des arbres phylogenétique de chaque gène

HOGENOM Base de données de familles de gènes homologues pour tous les génomes On recherche les familles de gènes homologues chez tous les organismes vivants Pour chaque famille on calcule un arbre phylogénétique: un « arbre de gène »

HOGENOM Base de données de familles de gènes homologues pour tous les génomes génomes (tout l’ADN)  gènes (ADN codant)  protéines (traduction du gène) génomes protéines clustering phylogénie etc.

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Environ 1 500 génomes (dont 140 eukaryotes : mamiferes, oiseaux, plantes etc.) Soit 160 milliards de lettres au total Environ 7 millions de gènes codants soit 3 milliards de lettres Résultat: ces 7 milions de gènes sont classés en 300 000 familles

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines

Recherche de similarités locales entre les séquences HOGENOM Base de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines Recherche de similarités locales entre les séquences (« BLAST »)

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines Recherche de similarités locales entre les séquences (« BLAST ») Clustering transitif avec condition (« SILIX»)

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines A B A C A D Recherche de similarités locales entre les séquences (« BLAST ») Clustering transitif avec condition (« SILIX»)

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Construction des familles de gènes homologues génomes protéines A B A B A C C D Famille A D Recherche de similarités locales entre les séquences (« BLAST ») Clustering transitif avec condition (« SILIX»)

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Marche à suivre génomes

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Marche à suivre clustering phylogénie génomes protéines etc.

Calcul distribué Parallélisation par les données texte banque BLAST Plusieurs millions de séquences « requêtes » 1 fichier Plusieurs millions de séquences « cibles » Plusieurs milliards de zones similaires entre les séquences

Calcul distribué Parallélisation par les données texte banque BLAST Plusieurs millions de séquences « requêtes » 1 fichier Plusieurs millions de séquences « cibles » Plusieurs milliards de zones similaires entre les séquences texte banque BLAST Quelques dizaines séquences « requêtes » Centaines de milliers de fichiers

Calcul distribué Parallélisation par les données Chaque calcul est indépendant On peut donc utiliser indifféremment et indépendamment un cluster de machines une grille de calcul le calcul dans le nuage une combinaison des précédents

Calculs BLAST incrémentiel sur toutes les séquences connues A chaque nouvelle version de la base, on classe les séquences comme « ancienne » ou « nouvelle » On calcule la similiarité: des nouvelles séquences entre-elles ( BLAST new x new) des nouvelles séquences avec les anciennes ( BLAST new x old) Finalement on ajoute BLAST new x new et BLAST new x old aux similarités de la release précédente (i. e. BLAST old x old)

Calculs BLAST incrémentiel sur toutes les séquences connues Release Nombre de séquences BLASTS 1 (2009) 7 000 000 7 000 000 x 7 000 000 2 (2011) 13 000 000 6 000 000 x 6 000 000 6 000 000 x 7 000 000 3 (2013) 19 000 000 6 000 000 x 6 000 000 6 000 000 x 13 000 000

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Comparaison de tous les gènes entre eux pour déterminer leur similarité Utilisation d’un logiciel (« BLAST ») qui recherche des zones de similarités locales entre les séquences ( approche heuristique)

HOGENOM Base de données de familles de gènes homologues pour tous les génomes Exemple: un arbre phylogénetique de gène de HOGENOM Eukaryotes

Calculs effectués 1ère Release (2009-2010) env. 8 000 000 séquences BLAST 8,000,000 x 8,000,000 séquences [grille TIDRA] 2ème Release (2011) env. 13 000 000 séquences BLAST 5,000,000 nouvelles x 5,000,000 nouvelles [cluster] BLAST 5,000,000 nouvelles x 8,000,000 anciennes [grilles TIDRA/GRISBI] 3ème Release (2013) env. 19 000 000 séquences BLAST 6,000,000 nouvelles x 6,000,000 nouvelles [cluster] BLAST 6,000,000 nouvelles x 13,000,000 anciennes [cluster]

Technologie grille et services associés sur TIDRA (Grille Rhône-Alpes) 7000 cœurs (cpu) 300 To de stockage 5 Sites LAPP (Annecy) LPSC (Grenoble) IPNL (Lyon) IBCP (Lyon) CC-IN2P3 ( Lyon)

Technologie grille et services associés TIDRA RAGRID (Grille Rhône-Alpes) Middleware : Job management : gLite, LRMS Stockage : iRODS, SRM Utilisateur : JSAGA implementation SAGA vo.rhone-alpes.idgrilles.fr

Mise en place sur TIDRA 1ère release (2009-2010) 1ère mouture de BGENR : séquences Uniprot (9 millions) 8 millions de séquences non redondantes à comparer. Historique : Mise en place de l’outil avec 3 membres du CC - Y.Cardenas, P. Calvat, J.Y. Nief 1er contact avec la grille Novembre 2008 Premiers tests de charge et développements blast  intensifs   Février 2009  Arrivée de iRODS Gros soulagement!!! Juin 2009 Début de la production + développement Juillet 2009 Fin de la production Janvier 2010

Contraintes dues à la mémoire Mémoire minimum des machines : 2 Go La solidité d'une chaîne dépend du maillon le plus faible : on veut éviter un dépassement de mémoire sur les machines les moins puissantes taille maximum de la banque BLAST : 2 x 106 séquences 8 x 106 = 4 banques de 2 x 106 séquences à traiter itérativement * nombre maximum de séquences à traiter avec une banque 2 x 106 : 30 La “tâche unitaire” compatible avec une mémoire de 2 Go est donc : 4 x BLAST de 30 séquences vs 2 x 106 séquences *La taille théorique de la banque BLAST est fixée (option -z)

Optimisation du temps passé en calcul Le calcul d’1 tâche unitaire est très court : env. 15 minutes Bien inférieur au temps disponible dans un job : variable selon les machines quelques heures - quelques jours Chaque job doit exécuter le plus grand nombre possible de tâches unitaires

Résumé Données ( format FASTA) Banque BLAST Séquences à blaster 1ère mouture de BGENR : séquences Uniprot (9 millions) : 8 millions non redondantes. Banque BLAST 8 millions de séquences Divisée en 4 bases de 2 millions de séquences pour éviter de dépasser la mémoire maximum disponible sur les machines Séquences à blaster 8 millions de séquences, soit: 250, 000 fichiers de 30 séquences au format FASTA 30 séquences : nombre maximum de séquences pour éviter un dépassement de mémoire sur les machines les moins puissantes Chaque job doit exécuter le plus grand nombre possible de tâches quelque soit son temps de calcul maximum

Stratégie adoptée Plusieurs tâches par job 1 - Liste de tâches à effectuer (250,000 fichiers de 30 séquences) 2 - Chaque job N tente de traiter les 100 tâches à partir de la tâche numéro N x 100 3 - Une fois tous les jobs terminés, génération d’une nouvelle liste de tâches à traiter 4 - Retour au point 1 On a choisi un “pas” de 100 fichiers par job : c’est au dessus du nombre de tâches qu’il est possible de traiter avec les durées les plus longues. Mais on peut l’adapter à la production : vers la fin, on prend un “pas” plus court On utilise des jobs paramètriques, le paramètre est N

Stratégie deuxième production première production 1 1 1 1 100 100 100 200 200 200 200 300 300 300 300 400 400 400 400

Paramètres à ajuster: exemple BGENR1 : 8 x 106 séquences 1 - Nombre de banques BLAST 4 2 - Nombre de séquences par fichiers 30 3 - Nombre max de fichiers par job 100 4 - Nombre de jobs par job paramétrique 40 5 - Délai entre la soumission des jobs paramétriques 20 mn

Lancement des jobs Launcher : Le launcher propose une liste de noeuds. script jdl Launcher : source launcher 1 1000 40 20 generic_par_irods_lst_new.jdl premier job dernier job nombre de jobs par job paramétrique délai de soumission entre les jobs Le launcher propose une liste de noeuds. Les jobs paramétriques seront répartis sur les noeuds choisis. Ici on a lancé 1000 jobs (de 1 à 1000) par paquets de 40 : 25 jobs paramétriques, temps total soumission = 8h

Monitoring Un job de monitoring est lancé qui envoie régulièrement des mails décrivant l’avancement des tâches

Résultats Rappel : 250,000 fichiers à traiter  250,000 fichiers résultats 2,000,000,000 hits blast concaténation en 200 fichiers de 5 Go (1 To) moyenne de 50 fichiers par job environ 5000 jobs (plusieurs séries) moyenne : 125 jobs x 40 paramétriques x 50 fichiers = 250 000 moyenne : jobs de 15 heures Calcul en 1 semaine au lieu de 8 ans

Description du JDL N est le paramètre du job paramétrique Déroulement d’un job numéro N : récupération de différents outils via lcg-cp : outils iRODS outils pour l’estimation du temps de calcul outils pour la gestion des proxies Renouvellement du proxy Lancement de l’application : Copie des programmes BLAST en local via iRODS Copie des banques BLAST en local via iRODS Copie de la liste de fichiers à traiter Copie des 100 fichiers à traiter : fichiers numéros (N -1)x 100 +1 à N x 100 Boucle: pour i variant de (N -1)x 100 +1 à N x 100 traite le fichier i, copie le résultat via iRODS tant que 95% du temps maximum n’est pas atteint, passe au fichier suivant Post-traitement: envoi de mail, copie des logs via iRODS

Mise en place sur TIDRA 2ème release (2011) 2ère mouture de BGENR : séquences Uniprot + Ensembl + Autres (33 millions de séquences, 12 millions non redondantes) 5 millions de séquences non redondantes, soit 170,000 fichiers de 30 séquences à comparer avec 7 millons de séquence. Nouveaux développements : Outil DTM - Outil JJS - Acces iRODs

Mise en place sur TIDRA 2ème release Prototype du DTM (« Distributed Task Manager ») Yonny Cardenas gLite + iRODS système de base de données pour la gestion des jobs (runing, ended, canceled,etc.). destination des jobs : à la fois en local, BQS et Grille gestion automatisée de la production (gestion des erreurs, etc.) l’utilisateur fournit seulement une liste de tâches, DTM s’occupe des jobs et de la production Pour l’instant fonction uniquement pour BQS, adaptation a la grille en cours

Mise en place sur TIDRA 2ème release JJS Java Job Submission (Pascal Calvat) commande « jjs-* » pour simplifier l’utilisation de la grille : soumission monitoring gestion des proxy gestion automatique de la répartition des jobs sur les noeuds de la grille, analyse de l’efficacité des différents noeuds fonctionne via des jdl crées a partir d’un template avec une commande jjs Notion de « production » c-à-d d’un ensemble de job

Mise en place sur TIDRA 2ème release Migration totale de nos données sur iRODS: accès direct aux données : icd,ils,ipwd,iput,iget,etc. programme de recherche des hits blast via iRODS (utilisation d’une API C pour iRODS) utilisation des meta-données et des micro-services ( à développer)

Mise en place sur TIDRA 2ème release Approche similaire Release 1, mais irods intégré à la grille ( plus besoin de récupérer les utilitaire irods ) gestion des proxies intégrée ( plus besoin de déclarer les proxies dans le script) Utilisation des commandes jjs ( plus de jobs paramétriques) Plus simple : 1 jdl + 1 script

Description du JDL avec JJS N est le paramètre du job paramétrique Déroulement d’un job numéro N : récupération de différents outils via lcg-cp X: outils iRODS X outils pour l’estimation du temps de calcul X outils pour la gestion des proxies X Renouvellement du proxy X Lancement de l’application : Copie des programmes BLAST en local via iRODS Copie des banques BLAST en local via iRODS Copie de la liste de fichiers à traiter Copie des 100 fichiers à traiter : fichiers numéros (N -1)x 100 +1 à N x 100 Boucle: pour i variant de (N -1)x 100 +1 à N x 100 traite le fichier i, copie le résultat via iRODS tant que 95% du temps maximum n’est pas atteint, passe au fichier suivant X Post-traitement: envoi de mail, copie des logs via iRODS

Mise en place sur TIDRA 2ème release Résultats Production par « bloc » de 1000 jobs paramétriques, avec 20 fichiers par job soit 20 0000 fichiers traités. 9 « blocs » de 1000 job à lancer pour traiter les 170 000 fichiers Qualité: un proxy de 5 jours permet de perdre moins de jobs Production jobs jobs récuperés jobs OK nb fichiers traités Production 7 1000 734 411 10,535 Production 8 1000 881 676 17,174 Production 9 1000 982 786 19,835

Problèmes rencontrés Beaucoup de choses à installer sur les machines En général Beaucoup de choses à installer sur les machines Hétérogénéité des machines Information fournie par les machines au WMS pas toujours suffisante

Problèmes rencontrés Si trop de jobs soumis à la fois Solution Saturation Si trop de jobs soumis à la fois saturation du WMS saturation des commandes «iget» de iRODS Solution limiter le nombre de jobs qui attaquent en même temps jouer sur le nombre de job paramétriques par job délai aléatoire au début de chaque job entre les jobs

Problèmes rencontrés Temps de calcul d’un job Estimation du temps de calcul d’un job pour un arrêt «propre» : système hétérogène, dépend des nœuds Solution Release 1 : test de la présence d’un outil pour estimer le temps de calcul Release 1 : récupération d’un outil si besoin Release 2 : pas encore de solution, à améliorer

Problèmes rencontrés Renouvellement des proxies RELEASE 1 : 2 types de problèmes La soumission dure trop longtemps, on perd le proxy utiliser un serveur de proxies Le job dure trop longtemps, on perd le proxy car la grille ne gère pas le renouvellement automatique du proxy le job doit renouveler lui-même le proxy au départ. RELEASE 2 : plus de problèmes. Proxies de 5 jours, outil myProxy

Conclusion TIDRA BGENR Release 1 et 2 travail pionnier dans l’utilisation en production de iRODS avec gLite 2 technologies/middleware integrées de manière transparente gLite (EGEE) pour le calcul iRODS pour le stockage Après ajustement iRODS semble bien supporter la charge ( à hauteur de 500 jobs en parallèle)

Intérêt d’une grille régionale Pas trop de nœuds (pas l’embaras du choix, connaissance des capacités des nœuds) En cas de problème sur un nœud, forte réactivité, facile de contacter un responsable

Perspectives TIDRA Fusion DTM et JJS

Mise en place sur GRISBI Outils disponibles Tous les outils nécessaires à la bioinformatique sont disponible (tags) Les bases de données biologiques sont disponible (tags) Logiciel de statistique R installé (tags) Systême de fichiers XtreemFS : répertoire partagé en réseau par tous les jobs de grille lié au proxy, totalement transparent grmount : montage temporaire du répertoire grmount -u : démontage

Parallélisation par les « queries » Meme approche que TIDRA données fasta banque BLAST 8 106 8 106 QUERY SUBJECT banque BLAST 8 106 QUERY SUBJECT

Technologie grille et services associés sur GRISBI 856 cœurs (cpu) 25 To de stockage 7 Sites IBCP (Lyon) LBBE (Lyon) ABiMS (Roscoff) GenOuest (Rennes) CBiB ( Bordeaux) GenoTool (Toulouse) Outils bioinformatiques Bases de données biologiques XtreemFS

Stratégie « 1 job = 1 tâche » (sans XtreemFS) On utilise les outils disponibles sur la grille (blast) On dépose sur la grille la base de données blast à traiter (LFC) Fichier d’entrée en local, définis par le jdl (SandBox) Fichier de sortie en local, définis par le jdl (SandBox)

Description du JDL GRISBI « 1 job = 1 tâche » InputSandBox: le fichier à traiter OutputSandBox: le résultat N est le paramètre du job paramétrique, Déroulement d’un job numéro N : Copie des banques BLAST en local (lcg-cp ) Traitement du fichier numéro N 170,000 fichiers à traiter : 170,000 jobs paramètriques ici 1 job = 1 fichier Essais sur une production de 1000 jobs parametriques 200 a 400 jobs en run simultanés

Stratégie « 1 job = 1 tâche » (sans XtreemFS) Ca marche, mais: Très grand nombre de jobs On utilise la SandBox pour les sorties : Taille des sorties importantes, risque de limitation! Pas très efficace ( temps de calcul court, on récupère la base blast pour chaque tâche, etc.) On souhaiterais utiliser une approche similaire à celle utilisée dans TIDRA avec une liste de tâches comme argument du jdl: Pas possible avec la SandBox

Stratégie « 1 job = n tâches » (avec XtreemFS) On utilise les outils disponibles sur la grille (blast) On dépose sur la grille la base de données blast à traiter (LFC) On dépose sur la grille tous les fichier d’entrées (XtreemFS) Chaque jobs traite plusieurs fichiers d’une liste (fournie par la SandBox) On stocke sur la grille les fichiers de sortie via XtreemFS 170,000 fichiers à traiter ici 1 job = 30 tâches ( = 30 fichiers soit 90 séquences) Production : 6 soumissions par paquets de 1000 jobs parametriques on atteint 850 jobs en run simultanés

Description du JDL GRISBI/XtreemFS InputSandBox: liste des fichiers à traiter N est le paramètre du job paramétrique, m est le nb de fichiers à traiter par job m fichiers à traiter : fichiers numéros (N -1)x m +1 à N x m Déroulement d’un job numéro N : Copie des banques BLAST en local (lcg-cp ) Boucle: pour i variant de (N -1)x m +1 à N x m Montage du répertoire grille Vérifie si le fichier i a été calculé: si oui, saute à i +1 Copie du fichier i Démontage du répertoire grille Traite le fichier i avec blast, Copie du résultat Démontage du repertoire grille Fin de boucle 170,000 fichiers à traiter ici 1 job = 30 tâches ( 30 fichiers soit 90 séquences) Production : 6 soumissions par paquets de 1000 jobs parametriques on atteint 850 jobs en run simultanés Entrées et sorties sur XtreemFS

Problèmes rencontrés GRISBI Tags inexacts Information fournie par les machines au WMS pas toujours suffisante Saturation des accès XtreemFS Problèmes résolus sans difficultés

Conclusion GRISBI Travail pionnier dans l’utilisation en production de XtreemFS avec gLite 2 technologies/middleware integrées gLite (EGEE) pour le calcul XtreemFS pour le stockage Après ajustement XtreemFS semble bien supporter la charge ( à hauteur de 500 jobs en parallèle)

Temps de calcul GRISBI et TIDRA TIDRA 1ère production 22 248 jobs 115 751 heures ( 13 ans) sur 1 processeur Intel Xeon. TIDRA 2 ème production 15 797 jobs (répartis sur une dizaine de soumissions) 63 433 heures ( 7 ans) sur 1 processeur Intel Xeon. pics de 650 jobs en parallèle GRISBI avec et sans XtreemFS 47 713 job 8 810 heures ( 1 an) sur 1 processeur Intel Xeon  pics de 830 jobs en parallèle

CONCLUSIONS TIDRA vs GRISBI Différences TIDRA GRISBI Généraliste Bioinformatique Régionale Nationale Pas de softs/BDD installés Logiciels et BDD bioinfo et biostats disponibles Gestion des données avec iRODS Gestion des données XtreemFS Commandes jjs* Commandes gri* DTM+JJS (en devéloppement) Gestion des tâches Adapté à des grandes productions Adapté a des calculs de bioinfo/biostats classiques Points communs Pas trop de nœuds (pas l’embaras du choix, connaissance des capacités des nœuds) En cas de problème sur un nœud, forte réactivité, facile de contacter un responsable Commandes « grilles » simplifiées