La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Architectures Matérielles Spécialisées pour la Bioinformatique Dominique Lavenier CNRS / IRISA."— Transcription de la présentation:

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

5

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


Télécharger ppt "Architectures Matérielles Spécialisées pour la Bioinformatique Dominique Lavenier CNRS / IRISA."

Présentations similaires


Annonces Google