Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMarie-Laure Lefebvre Modifié depuis plus de 8 années
1
Architectures Matérielles Spécialisées pour la Bioinformatique Dominique Lavenier CNRS / IRISA
2
Croissance des banques génomiques Croissance exponentielle ~ X 2 tous les 16 mois Aout 2007 : 180 x 10 9 nt
3
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
4
Genomes Online Database
6
nucléotides 1970 1980199020002010 10 M 100 M 1 G 10 G 100 G MIPS Taille GenBank vs MIPS
7
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
8
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
9
Challenge Requête quelques secondes Comparer des Séquences génomiques
10
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
11
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
12
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
13
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
14
La protéine assemblée se replie pour former une structure tridimensionnelle précise Structure tertiaire
15
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
16
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
17
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)
18
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 +1 - 3 - 5 - 1 14 x 1 + (-3) x 1 + (-5) + (-1) x 2 = + 4
19
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
20
Algorithme de Smith et Waterman Recherche d’alignements locaux entre 2 séquences ccggttcttcttacaacgtgcataaagccagcacaagaaagt cgtagtacggtcattagaccccgcagtgagccttacgt ac.gtgcataa.agccag || || ||| | | || | acggt.cattagaccccg
21
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
22
Implémentation séquentielle Banque = 10 x 10 9 nucléotides Requête = 10 3 nt = 10 -9 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
23
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=1000 10 6 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
24
Dépendance de données Seulement 1 diagonale du tableau est active 1423 2534 3645 4756 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é !
25
Réseau 1D un processeur émule une colonne 1423 2534 3645 4756 Séquence 1 Séquence 2 N processeurs pour une accélération de N 2 /2N-1 Meilleure efficacité ! 1423 Séquence 2
26
Réseau 1D Accélération optimale : parcours des banques Séquence 1 1423 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
27
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
28
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
29
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
30
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
31
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.
32
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 12345678 ATG 1 TGG 2,7 GGA 3 GAC 4 ACT 5 CTG 6 GGC 8 dictionnaire séquence requête
33
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
34
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
35
Pourquoi c’est plus rapide que la programmation dynamique Exemple : 2 séquences d’ADN de taille 1000 - 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 1000 1000 4 10 10 3 / 4 10 10 6 / 4 10 = 1 Nombre moyen de hits entre 2 séquences de longueur 1000
36
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 1000 1 10 3 / 4 10 1000 # 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)
37
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
38
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 % 1M85. 30 %14.65 %0.05% filtre matériel P. Krishnamurthy et al. 15 th IEEE ASAP conference, 2004
39
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
40
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 -... 48 RDISKs disque
41
RDISK Hardware
42
Reconfigurable SoC Application dependant
43
RDISK system 48 node system operational since 2004 West Genopole server motif search Travail de thèse de S. Guyétant (CEA LIST)
44
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
45
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
46
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
47
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
48
ReMIX Platform Reconfigurable Memory for IndeXing Ethernet network 100Mb Dell Precision 380 3.6GHz, 500GB, 4GB Dell Precision 370 3.4GHz, 320GB, 2GB PCI Total System : 512GB of FLASH memory - 240000 CLBs
49
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
50
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
51
Organisation d’une carte RMEM
52
ReMIX Performances - intensive sequence comparison - Test on real bioinformatics applications Example: Mitochondrial disease –Compare all known bacterial proteomes vs Human genome 700 000 proteins vs 3 x 10 9 nt –Dual core processor 2.6 GHz, 4 GBytes 16 000 hours of computation (666 days) –ReMIX (1 board) 352 hours ( ~ 15 days) Speed-up = 44
53
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
54
Pourquoi s’intéresser aux GPU ?
55
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.
56
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)
57
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
58
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.