Un Environnement Portable
de Programmation
et
de Coopération sur Réseau Hétérogène
pour le Calcul Scientifique,
l'Analyse Visuelle des Résultats
et
les Tests de Sensibilité à la Précision des Calculs






Jean-François COLONNA
www.lactamme.polytechnique.fr
jean-francois.colonna@polytechnique.edu
CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641, Ecole Polytechnique, CNRS, 91128 Palaiseau Cedex, France
france telecom, France Telecom R&D

[Site Map, Help and Search [Plan du Site, Aide et Recherche]]
[The Y2K bug [Le bug de l'an 2000]]
[Croyez-vous que les Nombres Réels existent dans un ordinateur et que les calculs flottants sont sûrs ?]
[N'oubliez pas de visiter Une Machine Virtuelle à Explorer l'Espace-Temps où vous trouverez plusieurs milliers d'images et d'animations à la frontière de l'Art et de la Science]
(Site WWW CMAP28 : cette page a été créée le 29/05/1995 et mise à jour le 05/10/2018 15:45:58 -CEST-)



(publié dans UNIX'93 Proceedings, Paris, 03/1993)


Introduction: l'étude qui sera ici présentée a été conçue et réalisée par l'auteur à l'Ecole Polytechnique. Sur le site de cette dernière se trouve implanté un réseau FDDI fédérant de nombreux réseaux Ethernet, en général locaux à chacun des laboratoires de recherche. Ces voies de communication rapides supportent le dialogue de plusieurs centaines de machines de tout type et permettent la pratique intensive du calcul numérique. Ce contexte exceptionnel nous a donc rapidement amené à nous poser cinq questions :

Ce sont les solutions concrètes, pragmatiques et opérationnelles à quatre de ces cinq problèmes qui seront données dans les lignes qui suivent. En ce qui concerne le quatrième problème, sa solution est maintenant bien connue ; elle ne sera donc que brièvement évoquée par le biais de quelques images présentées au cours des différents chapîtres. Le plan adopté pour présenter cette réalisation sera le suivant :









3-ORGANISATION DE LA COOPERATION DANS UN ENVIRONNEMENT HETEROGENE :

C'est donc le langage K qui est utilisé pour le développement de l'ensemble des logiciels. Voyons maintenant comment il permet d'obtenir la meilleure utilisation de tous les moyens disponibles en inventoriant les différents types de parallélisme et de coopération possibles qu'il supporte (ou est prêt à supporter) :






4-LA SENSIBILITE A LA PRECISION DES CALCULS :

L'environnement de programmation proposé permet de limiter les erreurs de programmation et de modélisation. Il est malheureusement d'autres sources d'anomalies potentielles. Pour attirer l'attention sur celles-ci, un certain nombre de résultats "dramatiques" vont être présentées en utilisant deux systèmes dynamiques classiques :


Sans vouloir offenser les numériciens, les sources d'erreurs qui seront ici visualisées sont souvent ignorées (faute de pouvoir les éviter ?). C'est ainsi que l'auteur d'un certain ouvrage d'analyse numérique affirme "on supposera que les erreurs d'arrondi sont négligeables", or cela est faux dans certains cas (de très nombreux cas ?). Il est donc essentiel de sensibiliser les chercheurs à ce problème, tout en ne cachant pas cette difficulté aux étudiants. Nous allons montrer que les erreurs d'arrondis peuvent se manifester de plusieurs façons non exclusives l'une de l'autre, et en particulier :








5-UN EXEMPLE D'UTILISATION DES CONCEPTS :

L'ensemble des librairies de gestion de l'environnement, de calcul, de visualisation,... a été programmé en langage K. Il en est de même de tous les programmes nécessaires à la réalisation de tout ce qui est présenté sur ce site. Fin 2017, cela représentait plus de 2.600.000 lignes de codes. Présentons maintenant un exemple concret...

Lors de la présentation du langage K (au paragraphe 2.1.8), un film sur la structure en quarks des nucléons (protons et neutrons) a été évoqué. Longtemps considérés comme élémentaires, les nucléons (le proton et le neutron), sont aujourd'hui décrits en tant qu'objets composés. Le modèle, dit "standard", des particules et de leurs interactions repose sur les bosons (les "vecteurs des forces") et les fermions (la "matière") ; dans cette dernière catégorie se trouvent les leptons et les quarks. Cette image nous montre une vue d'un nucléon tel qu'il est défini dans ce modèle : il est constitué de trois quarks dits "réels" (ou de valence) localisés approximativement aux sommets d'un triangle équilatéral assez apparent sur cette image ; ils sont respectivement porteurs d'une charge de couleur rouge, verte et bleue (cette charge est naturellement représentée à l'aide des couleurs plus familières et de même nom). Une "mer" de particules virtuelles (quarks et anti-quarks -objets sphériques-, gluons -objets allongés-) nées des fluctuations quantiques du vide et des interactions, remplit le "volume" du nucléon.

Nous allons maintenant décrire brièvement l'architecture du logiciel permettant de réaliser la simulation des processus correspondants. Il est constitué de trois modules :



que nous allons détailler, en notant au préalable que, bien entendu, G et E sont complètement indépendants de S, et sont donc utilisés pour la production générale de nos films.






6-CONCLUSION :

Tous les concepts précédents (d'une nature fondamentalement pragmatique, rappelons-le) fonctionnent aujourd'hui parfaitement sur tous les ordinateurs UNIX de l'Ecole Polytechnique. Ainsi des systèmes hétérogènes perçus, programmés et commandés strictement de la même façon peuvent coopérer de façon efficace, en se répartissant au mieux le travail à effectuer, tout en conservant la possibilité de profiter des spécificités locales. Enfin, la méthodologie de programmation présentée permet de développer rapidement des logiciels plus fiables, facilement maintenables, aisément portables, et dont la sensibilité à la précision des calculs peut être testée.


Copyright (c) Jean-François Colonna, 1995-2018.
Copyright (c) France Telecom R&D and CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 1995-2018.

)