Architectures Matérielles Spécialisées pour la Bioinformatique Dominique Lavenier CNRS / IRISA.

Slides:



Advertisements
Présentations similaires
Evaluation dheuristiques pour lalignement de séquences génomiques Stéphane Guyetant Séminaire Symbiose du 23/01/03.
Advertisements

Informatique parallèle hautes performances
Recherche heuristique de similitudes dans les séquences dADN École Jeunes Chercheurs en Algorithmique et Calcul Formel Laurent Noé
Systèmes d’information
YASS : Recherche de similarités dans les séquences d'ADN
Recherche heuristique dans les bases de données L’algorithme BLAST
Méthodes de décomposition de domaine pour la formulation mixte duale du problème critique de la diffusion des neutrons Pierre Guérin
Les systèmes mono-puce
Construction d'une hiérarchie mémoire faible consommation
FORUM REGIONAL DE NORMALISATION DE L'UIT POUR L'AFRIQUE (Dakar, Sénégal, mars 2015) Outils et méthodes pour tester la qualité de services (QoS) de.
1 Mise en œuvre d’un contrôleur UDMA-4 pour la machine RDISK Steven Derrien Équipe R2D2.
1 Université Henri Poincaré, Nancy 1 La préemption appliquée aux FPGAs Soutenance de rapport bibliographique de DEA Faculté des Sciences Vandoeuvre-lès-Nancy.
Architecture des ordinateurs, Environnement Numérique de Travail
Changement de représentation et alignement de séquences. Hugues DELALIN Encadrement: E. Mephu Nguifo.
Recherche heuristique dans les bases de données L’algorithme BLAST
M. Bétrancourt et C. Rebetez - Méthodologie expérimentale Diplôme MALTT Année La méthodologie expérimentale Fondements et bases d’application.
Les banques de séquences nucléiques
Plateforme de robotique
Les nouveaux bus de données H. Le Provost (SEDI) Journée Electronique du DAPNIA, 10 Novembre 2006.
1 M. Taurigna,,D. Charlet C. Paillé Ethernet Interface But de la R & D : Intégrer un interface Ethernet dans un FPGA avec le minimum de composant externes.
FACTORY systemes Module 1 Section 2 Page 1-7 Introduction InSQL FORMATION InSQL 7.1.
Question de gestion 13 : Le document peut-il être vecteur de coopération ? Le document : - Dématérialisation des documents - Partage, mutualisation, sécurisation.
Analyse et comparaison des séquences biologiques
Architecture matérielle et logicielle. Sommaire Un peu d’histoire : Naissance de l’informatique Organisation matérielle des ordinateurs Processeur, Mémoire,
Roger Boll, avril 2006 Equipe de Biologie des Populations en Interaction Institut National de la Recherche Agronomique UMR 1112 : Réponses des Organismes.
Mediator 9 - Un outil de développement multimédia 3AC Techno/Informatique.
Développement d’application avec base de données Semaine 3 : Modifications avec Entité Framework Automne 2015.
ASR5 Système pour architectures multicœurs CSC5001 : Systèmes Hautes Performances Architecte de Services informatiques Répartis Gaël Thomas
Comment écrire un article scientifique Olivier MIMOZ DAR.
C ompute U nified D evice A rchitecture Présentation d’un Template simple pour une méthode de Monte-Carlo en finance Présentation au GT GPU Laboratoire.
Génie Electrique 3 ème année 2007/ Soutenance de projet Convoi de robots mobiles par vision, localisation de robots mobiles Clients :M Lounis ADOUANE.
KMM Tun Lanoë C.Oziol F. Salomon 24 juin  Présentation du projet AGATA  Présentation de la carte Carrier ATCA  Préparation de la fabrication.
Projet GAX Accès à distance, d’une plate forme logiciels Métiers pour entreprises mécaniciennes NumélinkLotim Tellis Mécaloire CetimEnise Avec la collaboration.
Parcours CODAGE & ALGORITHMIQUE Cycle 3 – Ecole primaire & Collège est une plateforme de formation interactive des personnels de l'éducation.
1 Initiation à la micro-informatique Le matériel CFPPA d’AUXERRE La Brosse Réalisation : Gilles BERDAL 2005 un clic pour la suite… L’Unité Centrale.
1 Les logiciels en général sont classés en deux familles:  Logiciels de base  Logiciels d’applications (applications) 2.
Projet Personnel (Epreuve 6) Projet réalisé dans le cadre de mon épreuve E6 au sein de mon alternance au conseil départemental du val de marne Arnaud PICANO.
Groupe de travail : Claire BRENEUR, Christelle GEORGET, Nathalie JACQUES, Régis BARDOULAT, Michael DESCOTTES, Frédéric GAUTHIER, Nicolas GIRAUD, Benoit.
Migration Plan adressage EPLE Migration Plan d'adressage EPLE.
1 ALGORITHMIQUE AVANCEE IUT Vélizy – RT2 FA Laurent Marsan.
Automates Programmables Industriels ( ITEEM 2004 ) I.T.E.E.M de BEAULIEU Enseignante : Mme RECHID CHAPITRE 7 Le Logiciel PL7 Présentation - Ergonomie Les.
LA DIVISION CELLULAIRE, LA GÉNÉTIQUE ET LA BIOLOGIE MOLÉCULAIRE.
Les « enquêtes d’analyse critique » en études sociales sur
StratusLab is co-funded by the European Community’s Seventh Framework Programme (Capacities) Grant Agreement INFSO-RI La technologie « cloud » M.
1 Journées Scientifiques novembre 2003 MoMaS EDF Electricité de France Multi Domaines Simulation Multi Domaines Laurent Loth - Andra.
Jobs multicore dans WLCG Présentation en partie basée sur des présentations faites dans le cadre du groupe de travail multicore.
BIO-INFORMATIQUE Analyse de séquences nucléotidiques - séance n°1 Illustration:
Zitouni amani et imen Ben Belgacem 1 Projet de fin d’année sur le contrôle d’accès par la technologie RFID Zitouni Amani Ben Belgacem Imen Encadrer par.
Supervision EC-Net AX Serveurs Web EC-BOS AX. ARCHITECTURE Les solutions EC-Net AX EC-Net AX Supervisor EC-Net AX EnerVue EC-Net AX Security  EC-Net.
Chapitre 2 Résolution de Programmes Linéaires. La méthode graphique Cette méthode est simple et s’applique à des problèmes de programmation linéaire à.
1 A. Cornuéjols Introduction à l’intelligence artificielle Introduction à l’Intelligence Artificielle (Cours n°2) Recherche non informée dans les graphes.
CSI 3531 Systèmes d’exploitation Nathalie Japkowicz 1.
On the analysis of CMMN expressiveness: revisiting workflow patterns Renata Carvalho Hafedh Mili.
JOURNÉE CALCUL ET SIMULATION DE L'UNIVERSITÉ PARIS SUD Organisée par le Groupe de Travail Informatique Scientifique de Paris Sud.
Activité 7 : TP 4: Analyse documentaire d’expériences de transgénèse pour mettre en évidence l’universalité du rôle de l’ADN.
Informatique 2A Langage C 3 ème séance.
La spécialité mathématique en TS. Les mathématiques sont une science qui se construit elle-même grâce à la démonstration. Axiomes et définitions Théorèmes.
Caroline Tremblay Baker. Brève histoire du disque dur Qu’est-ce qu’un disque dur et à quoi cela sert-il ? Qu’elles sont les différentes parties du disque.
Nicolas LETENDRE – LAPP Annecy Journées VLSI - PCB - FPGA – IAOCAO Jeudi 24 Juin 2010.
© Logica All rights reserved Veille secteur bancaire – Mars 2012 Emetteur Samuel Le Péchoux BSS, Pôle Conseil WST ProduitPour le paiement mobile,
Calcul Intensif en Génomique Comparative Laurent Duret Laboratoire de Biométrie et Biologie Evolutive.
Universit é Mohamed Kheider de Biskra Facult é de science et technologie D é partement de g é nie é lectrique Sp é cialit é : t é l é communication Le.
Traitement Numérique du Signal : présentation de l’UE Module EPL9AA02 Philippe RAVIER.
Ecole Informatique 2010 La Programmation des Architectures Multi-cœurs Cécile Barbier Fatih Bellachia Alain Masserot.
20 octobre 2005 Bernard JEAN-MARIE Réunion Guy Wormser 1 Photomultiplicateurs pour ECAL et HCAL.
Colloque LCG France14-15 mars SURVEILLANCE ET GESTION D’INCIDENTS Cécile Barbier (LAPP)
L’épreuve anticipée d’étude de gestion Sources : programme-seminaire-national
Acide désoxyribonucléique
B.Shishedjiev - Informatique
Architecture matérielle des ordinateurs
Transcription de la présentation:

Architectures Matérielles Spécialisées pour la Bioinformatique Dominique Lavenier CNRS / IRISA

Croissance des banques génomiques Croissance exponentielle ~ X 2 tous les 16 mois Aout 2007 : 180 x 10 9 nt

Séquençage des génomes Human Genome Project –Durée : 1994 – 2003 (10 ans) –Coût : 3 x 10 9 $ James Watson –Durée : 2 mois (printemps 2007) –Coût : 2 x 10 6 $ 2020 : 1 journée / 1300 € ÷ 60 ÷ 1500

Genomes Online Database

nucléotides M 100 M 1 G 10 G 100 G MIPS Taille GenBank vs MIPS

Comparaison de séquences génomiques Opération de base de la bioinformatique –représente 70 % des calculs des serveurs bioinformatique Recherche par le contenu –annotations : peu fiables, pas à jour Traitement basé sur le calcul d’une similarité entre séquences –concept de distance

Comparaison de séquences génomiques 2 grandes familles de traitement –Recherche dans les banques Effectuée des millions de fois chaque jours par des milliers de chercheurs –Comparaison intensive Constitue la première étape de filtrage de la plupart des traitements bioinformatiques

Challenge Requête quelques secondes Comparer des Séquences génomiques

Plan de la présentation Contexte –Génome, ADN, gènes, comparaison de séquences, … Algorithme de base –Principe –Parallélisation –Accélérateur systolique Heuristique –Principe –Mise en œuvre matérielle Projet RDISK Projet ReMIX Les recherches actuelles –Parallélisation des algorithmes sur cartes graphiques

Organisme  molécule Cellule Noyau Chromosome Protéine Graphics courtesy of the National Human Genome Research Institute Gène (ADN) Gène (ARNm), Simple brin

Base azotée Sucre : désoxyribose Groupement phosphate ADN ADN : acide désoxyribonucléique suite de nucléotides ADN humain = 3 x10 9 nt ADN bactérie = 3 x 10 6 nt ADN virus = 3 x 10 4 nt

ADN  Protéine ADNA A A T C T G A C A A A G A C P A L P L Code génétique protéine

La protéine assemblée se replie pour former une structure tridimensionnelle précise Structure tertiaire

Gène : relation texte/fonction Gène AProtéine A fonction attaggtggaccaccattaccctta Gène X gcctgctggatcaccatgaccgagt g*tgga*caccat*acc Protéine A’ 30% identité  même structure 3D

Plan de la présentation Contexte –Génome, ADN, gènes, comparaison de séquences, … Algorithme de base –Principe –Parallélisation –Accélérateur systolique Heuristique –Principe –Mise en œuvre matérielle Projet RDISK Projet ReMIX GPU –Parallélisation des algorithmes sur cartes graphiques

Comparer des séquences ? Comparer 2 séquences revient à rechercher un alignement Exemple : attacgaccag-ttggacacagataccaaggacaccaggggat |||| |||||| |||||||| ||||||| |||| ||||||||| attaggaccagattggacacggataccatggac-ccaggggat 2 opérations élémentaires substitution insertion/omission (gap)

Score d’un alignement Nécessaire pour comparer 2 alignements Evalué en fonction des coûts des opérations élémentaires coût de substitution –ADN : appariement : + M (match) mésappariement : - N (mismatch) –Protéine : matrice de substitution coût insertion / omission –cassure : -Gc (gap) –extension : -Gx (gap extension) exemple aacaggaccgtttgacag || ||||||| ||||| aataggaccg---gacag x 1 + (-3) x 1 + (-5) + (-1) x 2 = + 4

Principe de l’algorithme L O C A L G L O B A L G L O C A L insertion G G L O B A L substitution C par B G L O B A L | | : | |. L O C A L Gap = 1 d(x,x) = 0 distance = 2 d(x,y) = 1 Trouver le nombre minimal d’opérations élémentaires pour passer d’une chaine à une autre

Algorithme de Smith et Waterman Recherche d’alignements locaux entre 2 séquences ccggttcttcttacaacgtgcataaagccagcacaagaaagt cgtagtacggtcattagaccccgcagtgagccttacgt ac.gtgcataa.agccag || || ||| | | || | acggt.cattagaccccg

Algorithme de Smith et Waterman match M = 2 mismatch N = -1 gap = 2 0 S I,J-1 - Gap S I,J = Max S I-1,J-1 + Sub (X I,Y J ) S I-1,J - Gap Complexité : N 2 taille des séquences

Implémentation séquentielle Banque = 10 x 10 9 nucléotides Requête = 10 3 nt = sec Temps de calcul = 10 4 sec = 3 heures 0 S I,J-1 - Gap S I,J = Max S I-1,J-1 + Sub (X I,Y J ) S I-1,J - Gap

Architecture spécialisée : idée Associer un processeur dédié au calcul de chaque case de la matrice Séquence 1 Séquence 2 Tableau de NxN processeurs N= processeurs! Too much S I,J-1 - Gap S I,J = Max S I-1,J-1 + Sub (X I,Y J ) S I-1,J – Gap 0

Dépendance de données Seulement 1 diagonale du tableau est active Séquence 1 Séquence 2 t1 t2 t3 t4 temps N 2 processeurs mais seulement une accélération de N 2 /2N-1 Faible efficacité !

Réseau 1D un processeur émule une colonne Séquence 1 Séquence 2 N processeurs pour une accélération de N 2 /2N-1 Meilleure efficacité ! 1423 Séquence 2

Réseau 1D Accélération optimale : parcours des banques Séquence Séquence 2 Séquence 2 = banque Accélération = = N N x M N+M-1 N = longueur de Seq 1 M = longueur de Seq 2 M >> N

Accélérateur Samba (1995) SAMBA : Systolic Accelerator for Molecular Biological Applications 128 processeurs 4 processeurs par puce Un processeur calcule : S I,J-1 - Gap S I,J = Max S I-1,J-1 + Sub (X I,Y J ) S I-1,J - Gap banque

Accélérateurs commerciaux Time Logic : DeCypher accelerator - Technologie FPGA - parallel “reconfigurable” computer Paracel : GeneMatcher - Technologie ASIC - Réseau 1D de quelques milliers de processeurs CLC Cube - Technologie FPGA + USB

Plan de la présentation Contexte –Génome, ADN, gènes, comparaison de séquences, … Algorithme de base –Principe –Parallélisation –Accélérateur systolique Heuristique –Principe –Mise en œuvre matérielle Projet RDISK Projet ReMIX GPU –Parallélisation des algorithmes sur cartes graphiques

Peut-on faire mieux ? Du coté logiciel : –début 90  heuristique « BLAST » Alignement : –caractéristique : dans la majorité des cas on observe des mots identiques de W caractères Recherche des alignements à partir de ces points d’ancrage –diminution importante de l’espace de recherche attacgaccag-ttggacacagataccaaggacaccaggggat |||| |||||| ||| |||||||||||| |||| ||||||||| Attaggaccagattgcacacagataccatggac-ccaggggat

Principe de l’heuristique A T T A G A G C A C A G A G T A G G A C C A G G A T A T G T G A G A G A T A G A C C A G A G T A G A C C A G A G A T A T TGCGCTCAGATATGTGAGTAGGTAGCACATGCGCTCAGATATGTGAGTAGGTAGCACA 1 – détection de « hit » 2 – extension sans gap 3 – extension par Prog. Dyn.

Mise en œuvre (1) 1 - la séquence requête est « tronçonnée » en mots de W caractères que l’on stocke dans un dictionnaire ATGGACTGGC ATG 1 TGG 2,7 GGA 3 GAC 4 ACT 5 CTG 6 GGC 8 dictionnaire séquence requête

Mise en œuvre (2) 2 - pour chaque séquence de la banque on détecte les mots de W caractères (hits) qui appartiennent au dictionnaire ATG 1 TGG 2,7 GGA 3 GAC 4 ACT 5 CTG 6 GGC 8 dictionnaire 1 séquence de la banque AATCGGATTGCATAA

Mise en œuvre (3) 3 - lorsqu’un hit est trouvé on « l’étend » pour produire un alignement séquence de la banque AATCGGATTGCATAA ATGGACTGGC séquence test hit ATCGGATTG || ||| || AT.GGACTG alignement

Pourquoi c’est plus rapide que la programmation dynamique Exemple : 2 séquences d’ADN de taille W=10 Taille max du dictionnaire Nombre de mots possibles de taille 10 Nombre moyen d’apparitions d’un mot de taille 10 dans une séquence de longueur 1000 Nombre moyen d’apparitions de 1000 mots de taille 10 dans une séquence de longueur / / 4 10 = 1 Nombre moyen de hits entre 2 séquences de longueur 1000

Pourquoi c’est plus rapide que la programmation dynamique Algorithme : - pour chaque mot de W caractères dans la séquence - recherche dans le dictionnaire - si le mot existe - étendre le hit / # d’opérations : 1000 x (1 + (10 3 / 4 10 ) x 10 3 ) = 2 x 10 3 À comparer aux 10 6 opérations de la programmation dynamique (gain=500)

BLAST Le programme le plus utilisé en bioinformatique Avantages –Donne des résultats satisfaisants –Rapide Inconvénients –Sensibilité dépend du paramètre W –Parcours systématique de la banque

BLAST profiling word matching ungapped extension gapped extension input sequence alignments Query size word matching Ungapped extension Gapped extension 10K86.50 %13.30 %0.20 % 100K83.30 %16.60 %0.10 % 1M %14.65 %0.05% filtre matériel P. Krishnamurthy et al. 15 th IEEE ASAP conference, 2004

Nouvelle idée banque découpage de la banque filtre données génomiques N disques accès disque / N Calcul de faible complexité (optimisation matérielle) seules les données utiles sont transmises

Ethernet Switch Le projet RDISK LINUX PC But : - accélérer la recherche dans les banques génomiques hardware filtre adaptif Applications : - comparaison de séquences - recherche de motif - data mining RDISKs disque

RDISK Hardware

Reconfigurable SoC Application dependant

RDISK system 48 node system operational since 2004 West Genopole server  motif search Travail de thèse de S. Guyétant (CEA LIST)

Performances Parcours des bases de données –Génome humain : ~3s –Recherche par le contenu (Blast) –Recherche de motifs complexes 1 système RDISK-48 –Equivalent à un Cluster de 192 PCs –48 fois moins cher (1 carte ~ 250 Euros) 48 x 250 vs 192 x 3000

Ethernet Switch Les faiblesses de RDISK LINUX PC 48 RDISKs Besoin de parcourir toute la banque  les calculs sont encore limités par le débit des disques Techniques d’indexation impossibles  temps d’accès des disques trop longs

Indexation : iBLAST Idée : –Plutôt que d’indexer la requête, on indexe la banque! Avantage –Parcours de la requête Inconvénient –Taille de l’index –Disques trop lents

La taille de l’index Exemple GenBank – version 147 – avril 2005 –48 x 10 9 nucléotides Taille index = 48 x 10 9 x 5 = 240 Goctets (codage sur 5 octets) Solution : concevoir une architecture matérielle spécialisée avec une grande mémoire à accès rapide

ReMIX Platform Reconfigurable Memory for IndeXing Ethernet network 100Mb Dell Precision GHz, 500GB, 4GB Dell Precision GHz, 320GB, 2GB PCI Total System : 512GB of FLASH memory CLBs

Carte mémoire : RMem Xilinx Virtex II Pro PCI interface 64 Gbytes of FLASH memory Conçu en 2004 Testé début 2005 Actuellement opérationnel 640 Mbytes/sec

Carte RMEM Achat d’une carte FPGA FPGA Xilinx V2PRO 128Mo DDR SDRAM 32Mo SDRAM 16Mo Flash 2Mo SRAM PCI 32b/33MHz Ethernet Gb Développement d’une carte mémoire 64Go Nand Flash (4 bancs de 16Go) 2 FPGAs

Organisation d’une carte RMEM

ReMIX Performances - intensive sequence comparison - Test on real bioinformatics applications Example: Mitochondrial disease –Compare all known bacterial proteomes vs Human genome  proteins vs 3 x 10 9 nt –Dual core processor 2.6 GHz, 4 GBytes  hours of computation (666 days) –ReMIX (1 board)  352 hours ( ~ 15 days) Speed-up = 44

Plan de la présentation Contexte –Génome, ADN, gènes, comparaison de séquences, … Algorithme de base –Principe –Parallélisation –Accélérateur systolique Heuristique –Principe –Mise en œuvre matérielle Projet RDISK Projet ReMIX GPU –Parallélisation des algorithmes sur cartes graphiques

Pourquoi s’intéresser aux GPU ?

Pourquoi s’intéresser aux GPU ? (suite) Architectures massivement parallèle –NVIDIA GeForce 8800 GTX  128 processeurs/chip Architectures programmables –depuis 2-3 ans Coût réduit –marché de masse Environnement de programmation existant –RapidMind, BrookGPU, Cuda, etc.

Exemple : NVIDIA GeForge 8800 GTX Architecture - 16 multiprocesseurs SIMD - 1 multiprocesseur = 8 processeurs - mémoires spécialisées à accès rapide - fréquence : 575 MHz - mémoire vidéo : 768 Mo - coût : 800 € (avril 2007)

Exemple : NVIDIA GeForge 8800 GTX modèle de programmation (CUDA) 1 traitement = exécution de threads en // découpage Grilles Blocs Threads (kernel) performances très liées aux accès aux données communication hôte/GPU par appel de primitives

GPU & bioinformatique Peu d’études jusqu’à présent dans ce domaine –S&W (prog. Dyn.)  accélération X 10 –BLAST-IRISA  accélération X 5 à 10 (en cours) Calcul d’hybridation  accélération X 15 Challenge Paralléliser les algorithmes sous une forme adaptée au modèle de programmation et à l’architecture