Parallélisme et bioinformatique
Transcription
Parallélisme et bioinformatique
Parallélisme et bioinformatique [email protected] Master EGOIST - Rouen [email protected] Parallélisme et bioinformatique Plan 1 Introduction Parallélisme ? Open MPI 2 Historique 3 Pour qui ? Pour quoi ? [email protected] Parallélisme et bioinformatique Parallélisme ? [email protected] Parallélisme et bioinformatique C’est quoi le parallélisme ? Principe regrouper (physiquement ou logiquement) un ensemble de ressources (calcul/stockage) et les faire collaborer/travailler de concert, pour traiter des données [email protected] Parallélisme et bioinformatique Pourquoi faire ? Objectif : calculer, traiter les données... plus vite, plus gros et différemment Modéliser et simuler. Effectuer de gros calculs numériques. Vérifier/valider des modèles. Traiter d’énormes quantités de données. [email protected] Parallélisme et bioinformatique Comment s’y prendre ? Principe analyser le travail à effectuer, connaître et analyser les ressources disponibles et les données nécessaires, diviser le travail en tâches, répartir les tâches entre les ressources de manière adéquate en fonction des dépendances entre les tâches et des données. −→ nous y reviendrons plus tard... [email protected] Parallélisme et bioinformatique Anatomie d’une architecture parallèle des ressources de stockages des ressources de calcul un réseau d’interconnexion =⇒ outils de communication par le réseau [email protected] Parallélisme et bioinformatique En pratique Exécution distante configuration de l’environnement test d’une exécution distante ssh ssh-keygen -t rsa (pas de passphrase) clef publique → authorized_keys connexion sur chaque machine du LAN test d’une exécution distante (édition d’un programme C, compilation et exécution distante) [email protected] Parallélisme et bioinformatique Collaboration ? l’exécution à distance ne permet pas directement la collaboration collaboration ⇒ communication entre processus Communications inter-processus par la mémoire (segments de mémoire partagé sur une seule machine) par échange de messages (socket entre machines distantes) n processus ⇒ au moins n(n − 1)/2 sockets ! ! ⇒ outils logiciels pour faciliter cette tâche → PVM puis MPI [email protected] Parallélisme et bioinformatique Open MPI [email protected] Parallélisme et bioinformatique Open MPI Installation récupération de l’archive sur litis.univ-lehavre.fr/∼guinand/Enseignement/BioinformatiqueParallele ouverture installation : ./configure –prefix /vers/repertoire/installation (dans votre ${HOME} c’est bien) make all (sudo) make install (en fonction du répertoire d’installation) modification des variables d’environnement (modification .bashrc pour $PATH et $LD_LIBRARY_PATH) vérification : mpicc et mpirun [email protected] Parallélisme et bioinformatique Open MPI Test exécution en local édition + compilation + exécution premier programme en C #include<stdio.h> #include<mpi.h> int main(int argc,char **argv) { MPI_Init(NULL,NULL) printf(“bonjour la compagnie ! ! \n”) ; MPI_Finalize() } [email protected] Parallélisme et bioinformatique Open MPI Compilation + exécution en local mpicc monprog.c -o monprog mpirun monprog mpirun -np 4 monprog → comment identifier les différents processus ? [email protected] Parallélisme et bioinformatique Open MPI Rang de processus Pour que chaque processus connaisse son environnement d’exécution, il lui faut son identifiant et le nombre de processus qui exécutent le même programme que lui. Les primitives MPI_Comm_rank() et MPI_Comm_size() jouent ce rôle. ..... int moi,lesautres ; MPI_Init(NULL,NULL) MPI_Comm_rank(MPI_COMM_WORLD,&moi) ; MPI_Comm_size(MPI_COMM_WORLD,&lesautres) ; printf(“Salut, je suis %d et il y a %d processus impliqués ! !”,moi,les MPI_Finalize() [email protected] Parallélisme et bioinformatique Open MPI Où en sommes-nous ? Exécution en local de plusieurs processus qui exécutent le même code. Toujours pas de communication entre les processus. [email protected] Parallélisme et bioinformatique Open MPI Exécution sur plusieurs machines Environnement est prêt (ssh...) Il faut indiquer à mpirun les machines qui font partie de l’architecture parallèle : → fichier qui contient les noms des machines exécution par mpirun -hostfile lesmachines -np 10 monprog format complet [email protected] :10 edgar@morin :30 cloporte :2 pc-de-louise.fr :4 [email protected] format simple fourmi araignee mouche abeille Parallélisme et bioinformatique Open MPI Exécution sur plusieurs machines Comment identifier les machines ? int lgNom; char nomMachine[MPI_MAX_PROCESSOR_NAME]; MPI_Get_processor_name(nomMachine,&lgNom); [email protected] Parallélisme et bioinformatique Open MPI Exécution sur plusieurs machines Attention ! ! Lorsque les environnements sont différents (login, chemins vers les exécutables, etc.) l’environnement doit être correctement paramétré sinon Open MPI ne trouve pas les exécutables. C’est l’une des principales sources de dysfonctionnement. [email protected] Parallélisme et bioinformatique Open MPI Où en sommes-nous ? Exécution en local de plusieurs processus qui exécutent le même code → Ok ! Toujours pas de communication entre les processus. [email protected] Parallélisme et bioinformatique Open MPI Communications entre processus Pour que chaque processus puisse communiquer avec les autres il faut qu’il puisse à la fois envoyer et recevoir des messages. Les primitives MPI_Send(), MPI_Recv() et MPI_Bcast() jouent ce rôle. MPI_Send() et MPI_Recv() permettent des communications deux-à-deux. MPI_Bcast() permet de communiquer une information globalement à l’ensemble des processus. [email protected] Parallélisme et bioinformatique Open MPI MPI_Send(arg1,arg2,arg3,arg4,arg5,arg6) MPI_Recv(arg1,arg2,arg3,arg4,arg5,arg6,arg7) arg1 : pointeur vers le buffer d’envoi ou de reception selon la primitive arg2 : nombre d’éléments dans le buffer arg3 : type des éléments dans le buffer arg4 : le destinataire pour un envoi et l’émetteur pour une réception. arg5 : étiquette du message. Cette étiquette permet de différentier deux envois de messages ayant le même émetteur et le même recepteur. arg6 : communicator (groupe de tâches avec leur contexte). Par défaut nous utiliserons MPI_COMM_WORLD (i.e. tous les processus). arg7 : permet de connaître divers détails concernant le message : tag, source. Utile si la primitive est réglée pour recevoir tous les messages depuis toutes les sources (MPI_ANY_TAG, MPI_ANY_SOURCE) on peut alors connaître l’émetteur et l’étiquette après reception, sans bloquer au moment de la reception. [email protected] Parallélisme et bioinformatique Open MPI Un petit exemple envoi d’un entier (data) depuis le processus courant vers le processus de rang k : MPI_Send(&data,1,MPI_INT,k ,1,MPI_COMM_WORLD); reception de ce message : MPI_Recv(&datareception,1,MPI_INT,MPI_ANY_SOURCE, 1,MPI_COMM_WORLD,MPI_STATUS_IGNORE); [email protected] Parallélisme et bioinformatique Open MPI Attention Les communications sont une source importante de problèmes d’interblocage processus p ... MPI_Recv(&data,1,MPI_INT,k ,...) ... MPI_Send(&machin,1,MPI_CHAR,k ,...) ... [email protected] processus k ... MPI_Recv(&truc,1,MPI_CHAR,p,...) ... MPI_Send(&chose,1,MPI_INT,p,...) ... Parallélisme et bioinformatique Open MPI Anneau On souhaite organiser un ensemble de processus de telle sorte qu’ils forment un anneau logique. Faites générer un entier aléatoire par chaque processus et faites circuler ces entiers selon la topologie de l’anneau. Traitement pipeline On souhaite organiser un ensemble de 4 processus de telle sorte qu’ils forment une chaîne de traitement pipeline. Faites générer un entier aléatoire par chaque processus et faites lui subir 4 traitements différens par les 4 processus (on différencie les processus par leur rang). [email protected] Parallélisme et bioinformatique Open MPI La diffusion MPI_Bcast(arg1,arg2,arg3,arg4,arg5) Un processus envoie la donnée et tous les autres la receptionne. arg1 : pointeur vers le buffer d’envoi ou de reception selon le processus arg2 : nombre d’éléments dans le buffer arg3 : type des éléments dans le buffer arg4 : émetteur de la diffusion. arg5 : communicator (groupe de tâches avec leur contexte). Par défaut nous utiliserons MPI_COMM_WORLD (i.e. tous les processus). [email protected] Parallélisme et bioinformatique Open MPI Un petit exemple diffusion d’un entier (data) depuis le processus de rang 0 : MPI_Bcast(&data,1,MPI_INT,0,MPI_COMM_WORLD); → tous les processus doivent exécuter MPI_Bcast() pour que le broadcast fonctionne. [email protected] Parallélisme et bioinformatique Open MPI Optimisation parallèle On souhaite faire collaborer k processus pour déterminer un meilleur résultat (par exemple pour un problème d’optimisation). Chaque processus effectue 10 tentatives de résolution, puis envoie aux autres son meilleur résultat. Fonction à optimiser : trouver le plus grand entier, fonction à disposition : générateur aléatoire d’entiers. [email protected] Parallélisme et bioinformatique Historique [email protected] Parallélisme et bioinformatique Historique 1950 → 1970 : les pionniers 1970 → 1990 : explosion des architectures 1990 → 2000 : extinction massive 2000 → 2010 : l’ère des géants 2010 → : les hybrides [email protected] Parallélisme et bioinformatique Les pionniers (1950s-70s) Difficulté première, la mise en oeuvre du matériel. Challenge : augmenter le ratio fonctionnement/maintenance. ILLIAC IV : quelques heures de calcul/quelques semaines de maintenance. Les premiers grands noms du parallélisme apparaissent et avec eux, les premiers grands principes : vectorisation, techniques de pipeline, temps partagé, multiprogrammation... Amdahl : IBM 701, 704, 709. Seymour Cray : Control Data Corporation. [email protected] Parallélisme et bioinformatique Les machines CDC6600 (1964) : unités de calcul en parallèle, 10MHz, 2Mo, 9 MFlops CDC7600 (1969) : équivalent à 10 CDC6600 : 40 MFlops [email protected] Parallélisme et bioinformatique Ces années-là transistor sur base de silicium (Texas Instrument - 1955) premier disque dur (1957) premier compilateur fortran (1957) algol (1958 - 60 - 68). Algorithmic language - récursivité. Voici un langage très en avance de son temps, il n’a pas seulement été une amélioration de ses prédécesseurs mais aussi une amélioration de presque tous ses successeurs. Bull : Gamma 60. Première machine multiprocesseurs française. interface RS-232 (1966) technologie CMOS (Texas Instrument - 1967) ARPANET (ancêtre d’Internet - 1969) Unix (1970) [email protected] Parallélisme et bioinformatique Le temps de l’exubérance (1970s-80s) Premiers succès commerciaux. Apparition de multiples constructeurs : Thinking Machine Corporation (†), Sequent (†), Telmat (†), Archipel (†), Parsytec (†), Kendall Square Research (†), Meiko (†), BBN (†), Digital (†), IBM, Intel, CRAY (†), MasPar (†), Silicon Graphics (†), Sun, Fujitsu, Nec. Offre importante et exotique : Connection Machine 1 : hypercube de 65535 processeurs. Problèmes majeurs : l’offre logicielle et le prix. étape suivante : machines abordables et utilisables. [email protected] Parallélisme et bioinformatique Les machines Cray-1 (1975), Cray X-MP (1982) : 2 à 4 processeurs, Cray-2 (1983) : 8 processeurs, Cray Y-MP (1989). Hitachi S-810/820. Fujitsu VP200/VP400. Convex C-1. Nec SX-1/2. Connection Machine 1. 65536 processeurs. Topologie : hypercube. Intel iPSC/1 128 processeurs. Topologie : grille. [email protected] Parallélisme et bioinformatique Les machines Illiac IV (Burrough - 1973 CRAY-1. 1975. 80 MHz, 8 Mo, 160 MFlops [email protected] Parallélisme et bioinformatique Les machines [email protected] Parallélisme et bioinformatique Ces années-là Langage pascal (Wirth - 1972) Ray-Tomlinson : premier email (1972) 10000 composants sur 1 cm2 (1975). premier réseau local : Datapoint système ARC (1976). fibre optique (1977). Support d’Ethernet par les principaux constructeurs (1979). Paterson - Hennessy : concept des processeurs RISC (1980) Tim Berners-Lee : projet World Wide Web au CERN (1989). [email protected] Parallélisme et bioinformatique Environnements (1990s) Difficultés bien identifiées : routage, ordonnancement... → parallélisme automatique très limité ⇒ conception d’outils d’aide à la parallélisation : Hypertool, Pyrros, ParaRex, Adam, Apache... Autre problème : ratio prix/durée de vie d’une machine parallèle extrêmement élevé. ⇒ solution apportée par PVM : utiliser des réseaux locaux de stations de travail pour faire du calcul parallèle. Constructeurs machines parallèles → réseaux de stations de travail intégrés. [email protected] Parallélisme et bioinformatique Les machines Nec SX-3 (1991). Fujitsu VP-2600 (1991). CM-5 (1992). Topologie : fat-tree. Cray T3D (1993). Jusqu’à 512 processeurs. Topologie : tore 3D. ASCI Red, et Blue (1997-1999). [email protected] Parallélisme et bioinformatique Les machines [email protected] Parallélisme et bioinformatique Ces années-là Microsoft Windows 3.0 (1990), Windows 95, Windows 98 PVM (1991). premier site web au CERN (1991) Altavista (premier moteur de recherche) 15 millions de pages web (1995) création de Linux par Linus Torvald création de Yahoo ! (1995) annonce officielle de java (1995) Netscape à partir de NCSA Mosaic (1994). IBM Deep Blue bat Gary Kasparov (1997) mise en ligne du moteur google (1997) premier GPU (Nvidia GeForce 256) (1999) passage à l’euro [email protected] Parallélisme et bioinformatique L’ère des Géants : les Grilles Depuis les milieu des années 90. Constat : les matériels sont la plupart du temps peu et sous-utilisés. Idée : utiliser ces matériels dont le nombre est énorme, Principe : des milliards de calculs indépendants effectués sur les PCs de “volontaires”. Précurseur : le projet Seti@Home [email protected] Parallélisme et bioinformatique L’ère des Géants : les Grilles ⇒ meta-computing. ⇒ Grilles de calcul. Principe de base : offrir un service tel qu’il est offert par les producteurs d’énergie : Electric Power Grid ↔ Computational Grid Objectif : brancher le cable réseau du PC pour utiliser de la puissance de calcul comme on branche une prise de courant pour utiliser de l’électricité. Grille de calcul = capacités de calcul + capacités de stockage + disponibilité + interactions [email protected] Parallélisme et bioinformatique L’ère des Géants : les Grilles Eléments fondamentaux : partage de ressources (calcul + stockage) existence d’un réseau d’interconnexion mondial (Internet) calcul distribué/parallèle Contraintes : confidentialité : accès sécurisé gestion : partage de ressources performance : équilibrage de charge [email protected] Parallélisme et bioinformatique L’ère des Géants : les Grilles Grille Ressources de calcul et de stockage Réseaux Applications Intergiciel : coordination de l’ensemble : authentification et confidentialité, stockage, répartition de charge, maintenance, etc. Cloud Computing évolution du grid computing portail unique → Google, Amazon, IBM Blue Cloud, Intel+HP+Yahoo, etc. [email protected] Parallélisme et bioinformatique L’ère des Géants : les Grappes Depuis les milieu des années 90. Idée des grilles de calcul intéressante mais... Constat : les communications pénalisent une bonne utilisation. Remède : construire des réseaux locaux de grandes dimensions. Grappes de machines (clusters of machines). [email protected] Parallélisme et bioinformatique L’ère des Géants : les machines 1 BlueGene/L. IBM. US. 280 TFlops. 131072 processeurs. 2 Red Storm. Cray Inc. US. 101 TFlops. 26544 processeurs. 3 Blue Gene. IBM. US. 91 TFlops. 40960 processeurs. 4 ASC Purple. IBM. US. 91 TFlops. 75 TFlops. 12208 processeurs. 5 BladeCenter. IBM. Espagne. 62 TFlops. 10240 processeurs. 6 Thunderbird. Dell. US. 53 TFlops. 9024 processeurs. 7 Tera-10. Bull SA. CEA France. 52 TFlops. 9952 processeurs. [email protected] Parallélisme et bioinformatique L’ère des Géants : les machines [email protected] Parallélisme et bioinformatique Les hybrides Depuis le milieu des années 2000. Constat : le parallélisme a été bien maîtrisé, passons à l’intégration à grande échelle Idée : intégré le parallélisme au sein des unités de calcul (processeurs multicores) et graphiques (GPU et GPGPU) Extension : construisons des environnements parallèles qui utilisent ces technologies [email protected] Parallélisme et bioinformatique Les machines [email protected] Parallélisme et bioinformatique Puissance 2007 1 BlueGene/L. IBM. US. 280 TFlops. 131072 processeurs. 2 Red Storm. Cray Inc. US. 101 TFlops. 26544 processeurs. 3 Blue Gene. IBM. US. 91 TFlops. 40960 processeurs. 4 ASC Purple. IBM. US. 91 TFlops. 75 TFlops. 12208 processeurs. 5 BladeCenter. IBM. Espagne. 62 TFlops. 10240 processeurs. 6 Thunderbird. Dell. US. 53 TFlops. 9024 processeurs. 7 Tera-10. Bull SA. CEA France. 52 TFlops. 9952 processeurs. [email protected] Parallélisme et bioinformatique Puissance 2008 1 Roadrunner IBM. Los Alamos DOE US. 1105 TFlops. 129600 processeurs. Nucléaire, armement, sécurité. 2 Jaguar Cray Inc. DOE US. 1059 TFlops. 150152 processeurs. 3 Pléïades SGI. NASA US. 487 TFlops. 51200 processeurs. 4 BlueGene/L. IBM. US. 478 TFlops. 212992 processeurs. 5 (9) Red Storm. Cray Inc. US. 204 TFlops. 38208 processeurs. 6 (14) Jade SGI CINES FRANCE 128 TFlops. 12288 processeurs. 7 (54) Tera-10. Bull SA. CEA France. 52 TFlops. 9952 processeurs. [email protected] Parallélisme et bioinformatique Puissance 2012 1 K Computer Fujitsu (Japon). 10.5 PFlops. Sparc64. 705024 cores. Linux 2 Tianhe 1A NUDT (Chine). 2.5 PFlops. Xeon+NVidia. 186368 cores. Linux 3 Jaguar CRAY XT5 (USA). 1.75 PFlops. AMD Opteron. 224161 cores. Linux 4 Nebulae Dawning TC3600 (Chine). 1.27 PFlops. Xeon+NVidia. 120640 cores. Linux 5 Tsubame (NEC/HP). 1.2 PFlops. Xeon+NVidia. 73278 cores. Linux [email protected] Parallélisme et bioinformatique Les systèmes Système Linux Unix Mixed BSD Based Mac OS Windows % (2007) 75 15 6.40 3 0.60 0 [email protected] % (2011) 91.4 6 2.2 0.2 0 0.2 Parallélisme et bioinformatique Bilan ? Toujours plus l’augmentation de puissance ne connait pas de répit machines parallèles → processeurs et GPU → machines parallèles nombre de coeurs explose mobilité augmente : le terminal devient une interface mais... consommation électrique de plus en plus importante confidentialité/données personnelles : enjeu critique [email protected] Parallélisme et bioinformatique Pour qui ? Pour quoi ? [email protected] Parallélisme et bioinformatique informatique : outils de traitement de l’information + science des modèles “computables” [email protected] Parallélisme et bioinformatique Qui utilise le parallélisme ? milieux de la recherche académique et industrielle milieux économiques et industriels, industrie pharmaceutique, automobile, bâtiment et habitat, transport et logistique, banque et marchés financiers, assurance, aéronautique, secteur agroalimentaire, secteur médical, cinéma, etc. société civile, services publics → vous ! [email protected] Parallélisme et bioinformatique Milieux de la recherche et du développement Infrastructure à plusieurs niveaux : internationale : Globus, BOINC (Berkeley Open Infrastructure for Network Computing), etc. nationale : centre de calcul CINES, IDRIS, CEA, etc. régionale : CALMIP, CICG, CRIHAN, etc. locale : laboratoires, réseaux de stations, grappes de PCs (clusters) Applications : physique nucléaire, mécanique céleste, biologie moléculaire, chimie de synthèse, mathématiques, informatique, télécommunications, histoire, géographie, sociologie... [email protected] Parallélisme et bioinformatique Physique des particules Large Hadron Collider principe : générer des collisions entre particules (événements) → enregistrer puis traiter ces informations, volumes extraordinaires : ∼ 15 Petaoctets par an, utilisation de 10000 machines réparties dans la monde entier [email protected] Parallélisme et bioinformatique Industrie aéronautique et spatiale vérification des procédures de fonctionnement (Ariane), étude des turbulences, calculs de profils d’ailes, modélisation du bruit, etc. Onera : image des interactions entre les tourbillons en bout d’aile et les turbulences résultant de la propulsion. NEC SX5 et SX6. LLNL (Lawrence Livermore) : modélisation du bruit généré par les moteurs d’un avion à réaction. 1 000 000 de coeurs. [email protected] Parallélisme et bioinformatique Industrie aéronautique et spatiale Airbus (POD 300 TFlops) [email protected] NASA Earth Exchange (Global Earth Science) données satellite LandSat Parallélisme et bioinformatique Industrie automobile crash-tests virtuels chez un constructeur automobile : [email protected] Parallélisme et bioinformatique Industrie automobile Principe : → définition des caractéristiques mécaniques du véhicule → modélisation en 3D (maillage) → modélisation mathématique/mécanique des processus de déformation → simulation de la dynamique de déformation des éléments [email protected] Parallélisme et bioinformatique Industrie automobile [email protected] Parallélisme et bioinformatique Industrie pétrolière conception d’outils de forage pour l’industrie pétrolière et minière : → l’outil (trépan carottier) doit répondre au mieux aux exigences des compagnies pétrolières. code de simulation hydraulique parallèle réduit la durée de simulation de 20 à 7 jours et augmente la vitesse d’avancement des outils étudiés (d’environ 40 %). [email protected] Parallélisme et bioinformatique Industrie pétrolière Identification des réserves souterraines de pétrole et de gaz. Modèles analytiques et numériques permettant la visualisation 3D de formations géologiques souterraines. Résolution visuelle augmentée d’un facteur 10 par rapport à l’existant. 110 592 coeurs (Intel Xeon E5-2670), Pangea affiche 2.3 PFlops −→ vidéo [email protected] Parallélisme et bioinformatique Secteur du bâtiment, de l’habitat vente par internet : conception/aménagement en ligne et visualisation de décors 3D principe : le calcul est déporté sur un environnement parallèle et le résultat sous forme d’image est renvoyé au client [email protected] Parallélisme et bioinformatique Industrie du jeu et secteur des loisirs Production d’images de synthèse pour films et jeux vidéos. 1993 : premières images de synthèse intégrées dans des vues réelles (Jurassic Park) 1995 : Toy Story premier film entièrement en images de synthèse. [email protected] Parallélisme et bioinformatique Industrie du jeu et secteur des loisirs District 9 Imagine Engine Design Inc. de Vancouver, Canada, a géré les effets spéciaux de District 9, qui intègre une course d’extraterrestres dans un documentaire naturaliste qui se déroule à Johannesbourg, en Afrique du Sud. La société a déployé près de 100 cartes graphiques professionnelles NVIDIA Quadro dans ses stations Linux pour produire chaque plan d’extraterrestre du film. [www.nvidia.com] [email protected] Parallélisme et bioinformatique Services publics : énergies gestion et production d’énergie : EDF : gestion du réseau, fonctionnement de certains éléments des centrales nucléaires... prévisions météorologiques : [email protected] Parallélisme et bioinformatique Services publics : Météo France Modèle opérationnel Arpège (1998), nombre de variables à traiter est Nv = 2,3.107 quatre variables à trois dimensions x 31 niveaux x 600 x 300 points sur l’horizontale et une variable à deux dimensions x 600 x 300 points sur l’horizontale, le nombre de calculs à effectuer pour une variable est Nc = 7.103 le nombre de pas de temps pour réaliser une prévision à 24 heures d’échéance est Nt = 96 (pas de temps de 15 minutes). [email protected] Parallélisme et bioinformatique Météo France Les calculs étant effectués sur l’ordinateur Fujitsu VPP700 crédité d’une vitesse de calcul R atteignant 20 gigaflops (20 milliards d’opérations flottantes par seconde) ⇒ le temps T nécessaire pour obtenir une prévision à 24 heures d’échéance est un peu inférieur à un quart d’heure. [email protected] Parallélisme et bioinformatique Météo France Météo-France a acheté en 2008 un NEC SX-8R qui délivre une puissance crête de 35.2 Tflops. [email protected] Parallélisme et bioinformatique Météo France Calculer plus vite : en théorie, le même calcul : ∼ 1 seconde Calculer plus gros : nouveau modèle Arome passage d’une maille de 10km à une maille de 2.5 km Calculer différemment : possibilité de calculer des événements plus localisés et ponctuels : pluies torrentielles, orages violents, brouillard, etc. [http ://www.generation-nt.com/supercalculateur-meteo-france-actualite-41587.html] [email protected] Parallélisme et bioinformatique Météo/Climat Modéliser l’intersection climat/météo (6= échelles de temps) Intégrer les phénomènes El Niño, MJO. Katrina [email protected] Humidité atmosphérique Parallélisme et bioinformatique Météo/Climat NCAR NOAA/ORNL NOAA NOAA/ORNL UKMO UKMO KMA KMA Yellowstone Gaea C2 Zeus Gaea C1 Power 775 Power 775 Haeon Haedam IBM iDataPlex Cray XE6 SGI Altix Cray XE6 IBM IBM Cray XE6 Cray XE6 72288 77824 27600 41984 18432 15360 45120 45120 NCAR : National Center for Atmospheric Research NOAA : National Oceanic and Atmospheric Administration UKMO : United Kingdom Meteorological Office KMA : Korea Meteorological Administration [email protected] Parallélisme et bioinformatique Société civile : aménagement du territoire simulation pour réaménagement d’un centre ville, construction d’une ligne de tramway [email protected] Parallélisme et bioinformatique Vous ? Au coeur de vos ordinateurs : → pour le calcul : utilisation de processeurs dits multi-coeurs : multicore (x10) → pour la visuation : en plus du CPU, les ordinateurs sont équipés de GPU Graphics Processing Unit : manycores (x100), de véritables machines parallèles sur un circuit [email protected] Parallélisme et bioinformatique à suivre... −→ le parallélisme au service de la biologie −→ méthode de parallélisation d’applications −→ métriques et mesures de performances [email protected] Parallélisme et bioinformatique
Documents pareils
Parallélisme et bioinformatique
Ces années-là
Langage pascal (Wirth - 1972)
Ray-Tomlinson : premier email (1972)
10000 composants sur 1 cm2 (1975).
premier réseau local : Datapoint système ARC (1976).
fibre optique (1977).
Suppor...