Contact


Article dossier jeunes | La physique | La simulation numérique

Des outils en quête de puissance (2/5)

Mis à jour le août 2007

« Pour permettre l’expansion de la simulation numérique,
les ordinateurs ont nécessité d’importants progrès. »
Processeurs
Unités de base qui, déroulant un programme, effectuent les calculs.
L'essor de la simulation numérique dépend directement des progrès de l’informatique, un outil en perpétuelle évolution.

 

L’essor de la simulation numérique est lié à l’ère de l’informatique. Certes, dans le passé, de grands scientifiques, tels Pythagore ou Blaise Pascal, ont simulé par la pensée et des calculs manuels certains phénomènes physiques. Mais ces simulations avaient une limite naturelle, celle de leur cerveau, et une limite temporelle : les calculs prenaient du temps. Ainsi, les premiers ordinateurs ont permis de multiplier les calculs tout en limitant leur durée. De fil en aiguille, les modèles physiques et numériques se sont précisés, permettant d’aller plus loin dans l’étude d’un phénomène ou d’un « objet ». Pour permettre cette expansion, les ordinateurs ont nécessité d’importants progrès tant en équipement informatique que logiciel.

DU PROCESSEUR…

Le premier progrès concerne les processeurs. Ceux-ci sont de deux sortes : scalaires et vectoriels.
Les processeurs scalaires exécutent des opérations élémentaires, comme l’addi­tion de deux nombres. Les processeurs vectoriels effectuent des opérations d’ensembles de nombres, pour exemple l’addition deux à deux des nombres composants deux ensembles de 500 éléments. D’où leur intérêt pour la simulation numérique, car lors de l’exécution d’une telle opération un processeur vectoriel peut fonctionner à une vitesse proche de sa performance maximale (appelée « crête »).
Ces deux types de processeurs sont complémentaires, car ils permettent de combiner des calculs de base et d’autres, plus complexes.

Avec deux cœurs, le processeur Montecito d’Intel héberge jusqu’à 1,7 milliard de transistors et contient une mémoire cache de 24 Mo. © Intel Avec deux cœurs, le processeur Montecito d’Intel héberge jusqu’à 1,7 milliard de transistors et contient une mémoire cache de 24 Mo. © Intel
Avec deux cœurs, le processeur Montecito d’Intel héberge jusqu’à 1,7 milliard de transistors
et contient une mémoire cache de 24 Mo. © Intel

ARCHITECTURES PARALLÈLES

Trois architectures permettent de mettre des processeurs en parallèle :

  • les architectures vectorielles ;
  • les grappes de processeurs scalaires à mémoire partagée. Ce système utilise comme principe des mini-ordinateurs – appelés « nœuds » – comportant plusieurs micro­processeurs qui partagent une mémoire commune. Ces mini-ordinateurs sont multi­ples et reliés entre eux par un réseau d’inter­connexions hautes performances ;
  • TERA-10 EN TÊTE DE CLASSE


    Chaque année, des chercheurs de l’université de Mannheim, en Allemagne, et du Lawrence Berkeley national laboratory, aux États-Unis, établissent un palmarès mondial des supercalculateurs. Longtemps placées en fin de palmarès, l’Europe et la France faisaient office de « mauvais élèves ». La France, grâce au supercalculateur Tera-10, installé sur un centre CEA à Bruyères-le-Châtel (Essonne), occupait, en 2006, la deuxième place européenne et la septième place mondiale.Le calcul intensif est un des vecteurs de la compétitivité mondiale, ce que certains pays comme les États-Unis et le Japon ont bien perçu.

    Le projet Tera occupe quelque 2 000 m2 : les alignements de processeurs au premier plan, les salles de gestion des données au second. © CEA/DAM
    Le projet Tera occupe quelque
    2 000 m2 : les alignements de processeurs au premier plan, les salles de gestion des données au second. © CEA/DAM

     

  • les grappes de PC. Elles sont peu adaptées à des environnements où de nombreux utilisateurs font beaucoup de calculs dits « implicites » qui couplent les processeurs entre eux et demandent des flux d’information d’un processeur à un autre en permanence. En revanche, des calculs lourds peuvent être faits sur ces grappes de PC (génomique ou calculs paramétriques, par exemple).
  •  

    Dans ces trois cas, des salles entières sont remplies d’ordinateurs qui fonctionnent soit pour le traitement en parallèle d’une seule application en utilisant toutes les ressources, soit pour de multiples applications indépendantes, parallèles ou non, qui utilisent chacune une partie des ressources. Quant au stockage des données et à l’archivage, ils nécessitent une batterie de serveurs, d’armoires informatiques et de robots de stockage, qui doublent le volume des salles dédiées.

    GRID’5000 AU PROGRAMME


    Le ministère de l’Enseignement supérieur et de la Recherche a lancé au niveau national un projet nommé « Grid’5000 ». La construction d’une grille informatique pourvue de 5 000 processeurs environ s’achèvera courant 2007. Sa puissance devrait atteindre plusieurs téraflops. Son objectif est triple :

    - l’expérimentation de nouveaux algorithmes pour améliorer le calcul scientifique dans une telle architecture ;
    - la maîtrise des communications, par la conception de nouveaux protocoles réseaux autres qu’internet, mais présentant une technologie similaire ;
    - la conception de logiciels pour faciliter la programmation des grilles.

    Ce projet est soutenu par des organismes de recherche tels que le CNRS, l’Inria, plusieurs universités, Renater, des conseils généraux et régionaux.

    LES GRILLES DE CALCULS ET DE DONNÉES

    Un autre moyen pour augmenter la puissance de calcul est de relier entre eux des ordi­nateurs répartis sur plusieurs sites. Ces équipements informatiques sont hétérogènes, de puissance inégale, avec des capacités de stockage variables. Il existe deux sortes de « grilles » :

  • Les grilles de calculs, représentées par la mise en commun d’un ensemble de supercalculateurs ou un très grand nombre d’ordi­nateurs délocalisés, reliés par un réseau (internet par exemple).
    L’objectif de cette architecture est de mieux utiliser les ressources en répartissant les calculs sur un très grand nombre d’ordinateurs, pour un ensemble d’applications indépendantes. La performance est optimale lorsque l’on attribue à chaque ordinateur un programme spécifique.
  • Les grilles de données pour la mise en commun des capacités de stockage, c’est-à-dire la répartition des données sur un très grand nombre de serveurs.
  •  

    Le couplage de grilles des composantes océanique et atmosphérique permet de représenter les phénomènes tropicaux et d’étudier les différents types de surface (glaces, terre, mer). © CEA
    Le couplage de grilles des composantes océanique et atmosphérique permet de représenter les phénomènes tropicaux et d’étudier les différents types de surface (glaces, terre, mer). © CEA
    « Plus les calculs
    des grandeurs seront détaillés,
    plus la puissance
    de calcul nécessaire
    sera grande. »

    Bien entendu, les transferts de données et les calculs doivent s’effectuer dans un univers sécurisé, ce qui semble acquis grâce aux protocoles en place sur internet, mode de communication qui reste, pour l’instant, le plus performant.

     

    Les deux grilles vont donc de pair, car il faut, dans un temps rapide, pouvoir accéder aux données et également exécuter des programmes plus ou moins complexes à partir de celles-ci avant d’en effectuer l’analyse.

    LES LOGICIELS

    Afin d’optimiser les performances des supercalculateurs ou des grilles informatiques et permettre de modéliser et simuler correc­tement un phénomène, les logiciels de simulation doivent être spécifiques de l’architecture de l’ordinateur. Il faut donc dès le départ prendre en compte les paramètres suivants :

  • la définition de l’architecture informatique (spécifications, types d’ordinateur, systèmes d’exploitation, nature des connexions réseau, capacité de stockage, mémoire vive…) ;
  • la conception de l’application en fonction du modèle et des points à étudier ;
  • la programmation, qui permet de tirer parti du plus grand nombre de processeurs ;
  • les protocoles de sécurité, pour garantir les transferts de données et la communication entre ordinateurs.
  •  

    Dans un premier temps, le « modèle » est enregistré et un découpage des calculs est effectué, puis programmé en fonction des grandeurs à étudier indiquées par les chercheurs (physiciens, mathématiciens, biologistes, chimistes…). L’informaticien se charge ensuite de les traduire en valeurs informatiques exploitables par les processeurs. Plus le calcul de ces grandeurs sera détaillé, plus précis sera le résultat, mais aussi plus la puissance de calcul nécessaire sera grande. Toutefois, la tendance est de favoriser le transfert technologique et de développer des logiciels qui permettent d’étudier des phénomènes physiques proches, transposables d’une thématique à une autre moyennant l’enregistrement d’un modèle et de paramètres adaptés. Ces logiciels sont ensuite mis à la disposition des chercheurs et des industriels.