Vous êtes ici : Accueil > Découvrir et Comprendre > Les thèmes > La simulation numérique

Dossier multimédia | Livret thématique | Physique | Simulation & modélisation

La simulation numérique

Des outils en quête de puissance


L'essor de la simulation numérique dépend directement des progrès de l’informatique, un outil en perpétuelle évolution.

Publié le 3 novembre 2014

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 composant 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.

Pour permettre l’expansion de la simulation numérique, les ordinateurs ont nécessité d’importants progrès.

Le processeur Montecito d’Intel héberge jusqu’à 1,7 milliard de transistors et contient unemémoire cache de 24 Mo
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

Les processeurs actuels permettent de hautes performances, avec une fréquence de fonctionnement élevée et l’exécution d’opérations parallèles, appelée « parallélisme ». Toutefois, l’augmentation de la fréquence est limitée par l’évolution des technologies micro-informatiques (conformément à la loi de Moore - voir le dossier multimédia La microélectronique). Bien qu’exécutées en parallèle, certaines instructions sont dépendantes du résultat d’autres en cours de traitement…, ce qui peut limiter le parallélisme. La mise en œuvre simultanée de plusieurs processeurs accompagnée d’une programmation adéquate permet de pallier cette difficulté. À la charge du programmeur, donc, de morceler le programme en différentes parties indépendantes qui seront ensuite en communication sous forme d’algorithmes. La contrainte de cette technique est d’équilibrer les charges entre processeurs et de limiter le coût et la durée des communications. Par ailleurs, l’augmentation de la puissance des ordinateurs a permis d’augmenter la finesse de discrétisation, passant ainsi de quelques dizaines de mailles dans les années 1960 à plusieurs dizaines de milliers de mailles dans les années 1980, à des millions dans les années 1990 et… à des milliards aujourd’hui.


…Au supercalculateur

Les ordinateurs de bureautique peuvent parfois suffire pour modéliser un phénomène simple ou élaborer une hypothèse.
Sa modélisation et sa simulation peuvent ensuite nécessiter une plus grande mémoire (comme dans les clusters de SMP –systèmes à mémoire partagée) pour affiner la programmation. Le recours à des supercalculateurs n’intervient qu’une fois le modèle établi et la programmation terminée. Non seulement les supercalculateurs préparent les calculs, en analysent les résultats, mais ils permettent à l’utilisateur d’accéder à des grandes puissances de calcul, à une visualisation partagée des résultats et à une capacité de stockage inégalée. L’ensemble de ces équipements est relié par des réseaux informatiques,

augmentant les informations et les débits compatibles avec les données produites de l’ordre d’un téraoctet de données pour une seule simulation. Les supercalculateurs atteignent aujourd’hui des puissances qui se chiffrent en pétaflops (un million de milliards d'opérations par seconde).


ReportageSupercalculateurs pour la défense


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 ;

  • 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.


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.

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.

couplage de grilles des composantes océanique et atmosphérique

Plus les calculs des grandeurs seront détaillés, plus la puissance de calcul nécessaire sera grande.

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



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…) ;
  • Le projet Tera
    Le projet Tera occupe quelque 2000 m2 : les alignements de processeurs au premier plan, les salles de gestion des données au second. © CEA/DAM
  • 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.