Ressources informatiques et calcul haute performance

Dans le document Contributions algorithmiques à la conception de sondes pour biopuces à ADN en environnements parallèles (Page 53-57)

Chapitre I : Contexte et problématique biologique

5. Ressources informatiques et calcul haute performance

5.1. Intérêt pour la biologie moléculaire

La biologie moléculaire in silico est rapidement devenue un domaine de recherche très important ces dernières années. En raison de la quantité et de la complexité du monde vivant, il est inconcevable de se passer des ordinateurs pour analyser leurs génomes. L‘un des volets très actifs de la bioinformatique est la comparaison des séquences biologiques qui a pour objectif de déterminer les niveaux de similarité. Cette comparaison est importante car elle permet notamment d‘évaluer la parenté des séquences (Zomaya, 2006). Dans le cadre de la conception de sondes pour les biopuces à ADN, une utilisation intensive des programmes de comparaison de séquences est nécessaire pour évaluer les niveaux de spécificité des sondes. L‘accumulation des données de génomique nécessite de disposer de puissances de calcul supplémentaires pour la réalisation de ces tâches.

5.2. Le calcul intensif

5.2.1. Le calcul intensif (ou haute-performance)

Le calcul intensif (ou High performance computing (HPC)) est un terme qui désigne l‘utilisation de supercalculateurs, de fermes de calcul ou de grilles de calcul pour résoudre des problèmes complexes. Durant les 20 dernières années, la perception du HPC a changé considérablement pour inclure également la communication entre machines et la capacité de stockage et ainsi devenir un système qui intègre puissance de calcul, transfert de données haut-débit et capacité d‘agréger la puissance de machines distribuées (Hawick, 1997). De plus, l‘augmentation du nombre d‘applications qui nécessitent du calcul à haute-performance a contribué à l‘évolution du HPC, d‘un système basé sur les multiprocesseurs vers un système basé sur des « multi-ordinateurs ».

Pour obtenir un HPC, il faut généralement réunir:

 Une grande puissance de calcul, obtenue par l'assemblage de centaines, voire de milliers de processeurs performants,

Mohieddine MISSAOUI Page 53

 Un système d'interconnexion extrêmement performant permettant de distribuer travail et données sur chaque processeur,

 Une gestion efficace des entrées-sorties.

Le TOP5001 est la liste des 500 systèmes les plus performants installés dans le monde. Cette liste est mise à jour tous les 6 mois. Les calculateurs du TOP500 atteignent des puissances situées entre 1 et plus de 100 teraflops2. Il y a 4 ans, il n'y avait pas de système à base de processeurs Intel dans ce classement, aujourd'hui il y en a 2/3 (50% Xeon, 50% Itanium). Notons aussi que dans ce classement, IBM est particulièrement présent avec 57 références classées parmi les 100 premières (6 sur les 10 premières). Aujourd'hui, à l'heure de la guerre économique, la puissance informatique est un outil de la compétition mondiale à tous les niveaux. Les champs d'action sont variés :

 Militaire: avec la simulation du fonctionnement de l'arme atomique,

 Scientifique: avec les grands challenges actuels (climat, génome, physique corpusculaire...)

 Economique: les industriels figurent désormais parmi les principaux utilisateurs de puissance de calcul.

Le HPC (High Performance Computing) n'est pas destiné à simplement établir des records à un instant donné. Le classement TOP500 des supercalculateurs n'est pas l'équivalent du Livre des Records. C'est un baromètre des capacités technologiques, économiques et politiques des différents acteurs.

5.2.2. Des supercalculateurs aux fermes de calcul

Plusieurs architectures ont été développées depuis les années 60, date de l‘apparition des tous premiers supercalculateurs avec IBM 7030, le CDC 6600 ou encore le CDC 7600 de la société Control Data Corporation. Ces machines ont rapidement passé la barre des 100 Mflops (Flop = unité de mesure de la puissance de calcul des machine et correspond à une instruction). L‘apparition d‘architectures vectorielles (vecteurs de nombres réels dits en virgule flottante) à la place des machines scalaires (simples nombres réels dits en virgule flottante) pendant les années 70 a permis de réaliser des traitements sur plusieurs données simultanément. Au début des années 80, le premier supercalculateur à multiprocesseur vectoriel a vu le jour (Cray X-MP/4) délivrant

————————— 1www.top500.org

2Un teraflop est égal à mille milliards d‘opérations ―flottantes‖. 2Un Mflop est égal à un million de flops.

Mohieddine MISSAOUI Page 54 près de 1 Gflops. Au début des années 90, ce sont les machines parallèles à mémoire partagée SMP (Symmetric Multi-Processing) qui ont vu le jour avec une disparition progressive des anciennes architectures. En même temps, une nouvelle architecture fondée sur le principe de mémoire distribuée avec échange de messages a rapidement progressé permettant d‘éviter a priori les problèmes de contention d‘accès à une mémoire partagée par un grand nombre de processeurs (≥ 128). Cette architecture comprenant généralement un grand nombre d‘unités arithmétiques indépendantes est désignée par le terme MPP (Massively Parallel Processing). En 1994, après l‘apparition des architecture de type constellation (ensemble de systèmes homogènes reliés par un réseau local) ou SIMD (Single Instruction Multiple Data) qui consiste en plusieurs unités de calcul fonctionnant en parallèle, c‘est l‘émergence des architectures « Cluster HPC » qui se basent sur les travaux de recherche de Thomas Sterling et Don Becker du centre d‘excellence de la NASA qui jettent les bases des fermes de calcul Beowulf (www.beowulf.org). La Figure 5 montre l‘évolution des architectures du calcul intensif avec l‘apparition en aval de l‘architecture Cluster (ferme de calcul) qui, avec l‘apparition des librairies de communication pour architectures parallèles, ouvre une nouvelle ère du calcul haute performance.

Figure 5: Pourcentage des différentes architectures sur le marché.

(Source : Le calcul intensif. High Performance Computing (HPC). Synthèse et prospective. http://www.microsoft.com/hpc/en/us/default.aspx).

Le principe ici est d‘utiliser des ordinateurs classiques, fabriqués en grande série (architecture PC mono ou multiprocesseurs Intel ou AMD) donc peu onéreux sur lesquels seront répartis les traitements à effectuer. La synchronisation de ces traitements entre les différents nœuds de calcul se faisant par échange de messages via des réseaux dédiés haute performance et faible latence. Les programmes exécutés de façon parallélisée peuvent utiliser des bibliothèques de fonctions maintenant disponibles pour gérer les communications nécessaires entre les nœuds

Mohieddine MISSAOUI Page 55 d‘une ferme de calcul telles que PVM (Parallel Virtual Machine) ou le standard de facto MPI14 (Message Passing Interface).

5.2.3. Des fermes de calculs aux grilles de calcul

La notion de parallélisme désigne le fait de pouvoir effectuer des calculs simultanément sur une architecture donnée. Cette notion s‘est généralisée aux architectures parallèles de type cluster grâce au développement continu de middlewares (intergiciels) qui offre une performance croissante pour la résolution de problèmes de plus en plus complexes (Kacsuk et al, 2007). Les clusters représentent ainsi la première expérience consistant à réaliser un calcul simultanément sur différentes machines homogènes appartenant à un même réseau. Des architectures plus évoluées ont vu le jour très rapidement: il s‘agit d‘architectures distribuées qui comprennent plusieurs machines hétérogènes réparties dans l‘espace et non forcément dédiées au calcul. On parle de « metacomputer ». Ce type de système s‘est rapidement concrétisé sous forme de projets nationaux et internationaux ayant pour objectifs de profiter de la puissance de calcul qui existe dans chaque ordinateur dans le monde pour participer à la résolution de problèmes d‘envergure. C‘est à l‘origine de telles avancées technologiques en informatique d‘une part, et le besoin croissant exprimé par les scientifiques d‘accéder à une puissance massive de calcul d‘autre part, qu‘est apparue la notion de grilles de calcul introduite pour la première fois en 1999 par Ian Foster et Carl Kesselman (Foster et Kesselman, 2004). Aujourd‘hui, plusieurs dizaines de projets nationaux et internationaux sont recensés autour de la technologie des grilles au service de la recherche scientifique.

Mohieddine MISSAOUI Page 56

Dans le document Contributions algorithmiques à la conception de sondes pour biopuces à ADN en environnements parallèles (Page 53-57)