ACCUEIL > Sciences Ouest > Année 2005 > 225 > Gros plans > Comment ça marche? Le calcul parallèle et les grilles de calcul
Actualité: Les logiciels libres
Entreprise : Tic à Rennes, des entreprises s'organisent en fondation
Comment ça marche? Le calcul parallèle et les grilles de calcul

 

 

Comment ça marche?

Le calcul parallèle et les grilles de calcul

 

Copyright : Christelle Garreau
Des calculateurs empilés les uns sur les autres formant une grappe de PC.

Génomique, météorologie, dynamique des fluides, simulations d'accidents, ou conception de médicaments : ces domaines nécessitent des temps et des puissances de calcul extrêmement importants. D’où le développement, non pas d’un monde, mais du calcul parallèle.
 
Avec un ordinateur traditionnel - à processeur* unique, une tâche donnée est divisée en de multiples opérations qui sont effectuées l'une après l'autre : c'est le traitement séquentiel. Une architecture parallèle (ordinateur parallèle, machine parallèle, supercalculateur) permet en revanche d’effectuer plusieurs opérations en même temps. On parle de calcul parallèle. Comment ? Grâce à la présence de plusieurs processeurs dans la même machine. On accède ainsi à une puissance de calcul et un gain de vitesse d'exécution considérables par rapport au traitement séquentiel.
Cependant, le gain de temps apporté n'est pas toujours proportionnel au nombre de processeurs. La loi d'Amdahl indique qu'il dépend aussi de la proportion d'activités parallélisables. Le challenge pour les informaticiens et mathématiciens est donc de paralléliser la plus grande part possible des traitements. D'où le développement de nouveaux algorithmes*, de nouvelles formes de codage* parallèle… Plus la tâche est partitionnée en tâches indépendantes et plus elle peut être simultanément répartie entre les différents processeurs.
 

Supercalculateurs virtuels

 

 

Une grille de calcul est constituée de nombreuses ressources informatiques hétérogènes (ordinateurs séquentiels, grappes de calcul*, supercalculateurs…), géographiquement éloignées, mises en réseau[1]. Ce "système distribué" exploite les puissances de calcul de toutes ces ressources et les combine, créant en quelque sorte un supercalculateur virtuel extrêmement puissant ; il met aussi en commun les applications, les données (banques de données par exemple) et la capacité de stockage des équipements reliés.
La technologie des grilles de calcul impose également le développement de nouvelles recherches, notamment dans le domaine des réseaux haut débit et hétérogènes (réseaux locaux, régionaux, internationaux). En effet, les outils de l'architecture parallèle (algorithmes et codage) ne peuvent être utilisés tels quels puisqu'il s'agit, avec les grilles de calcul, de plusieurs ordinateurs hétérogènes, dont les systèmes d'exploitation peuvent être différents.
Comment allouer des données aux différents ordinateurs de la grille ainsi que les tâches élémentaires composant une application ? Comment contrôler l'exécution correcte des tâches, récupérer et réorganiser les résultats, éviter, en assurant leur stockage, des transferts multiples de données ? C'est le rôle du middleware ("élément du milieu" en français), ensemble des couches réseaux et services logiciels qui permettent le dialogue entre les différents modules d'une application répartie sur différentes machines. .La complexité des échanges inter-applications est totalement masquée : c'est ce qu'on appelle la transparence. Elle est assurée par l'indépendance entre les différents niveaux de traitement : l'application connectée à la grille ne sait pas toujours d'où vient l'information ni quel ordinateur la traite.
Enfin, l'accès à la grille, qui s'effectue via un navigateur (Explorer, Netscape, Mozilla…) ou un moteur de recherche, ainsi que tous les transferts doivent être totalement sécurisés. Pour se connecter à la grille, un utilisateur doit posséder des certificats d'authentification, sortes de cartes d'identité électroniques non falsifiables.
Au final, grâce à l’utilisation de ces systèmes distribués, des calculs aux temps d'exécution très longs deviennent possibles en un temps "raisonnable" !
A.F.
 
*Glossaire :
Algorithme : méthode de résolution de problème énoncée sous la forme d'une série d'opérations à effectuer. Ces opérations sont écrites dans un langage de programmation et constituent la brique de base d'un programme informatique.
Codage : écriture en langage informatique.
Grappe de calcul (ou cluster) : mise en réseau d'ordinateurs homogènes et localisés (par exemple grappe de PC au sein d'un laboratoire pour disposer d'une plus grande puissance de calcul)
Processeur : composant essentiel d'un ordinateur destiné à interpréter et exécuter des instructions (les programmes). Il contrôle également l'action de l'ensemble des autres composants de l'ordinateur. Le processeur est parfois appelé "CPU" (de l'anglais Central Processing Unit), pour unité centrale de traitement.


[1] L’Irisa, à Rennes, fait partie de la grille de calcul française Grid’5 000. Voir l’article pages 14 et 15.
 


Contact : Sylvie Furois, CNRS et Centre de Vulgarisation de la Connaissance, Université Paris-Sud 11, http://www.cvc.u-psud.fr