Précédent : Résultats
nouveaux Remonter : Projet
CAPS, Compilation, Architectures Parallèles
Suivant : Actions régionales,
nationales et internationales
Participants : Thierry Lafage , André Seznec
Aujourd'hui, les microprocesseurs sont utilisés dans un grand nombre de systèmes matériels : stations de travail, multiprocesseurs, systèmes temps réel, etc... L'évolution est extrêmement rapide dans ce domaine au niveau de l'intégration sur le composant (plus de 15 millions de transistors sur le DEC 21264), au niveau de la fréquence (617 MHz pour le DEC 21164), au niveau architecture (émergence des processeurs Risc, puis des processeurs superscalaires ou des processeurs superpipelines) et au niveau du logiciel (compilateurs optimiseurs, exploitation de la localité des données).
Depuis début 1991, une activité de veille technologique et de diffusion d'informations sur les microprocesseurs a été lancée. Sept rapports détaillés comparant les architectures de processeurs ont été diffusés à ce jour.
Les études de veille technologique sur les microprocesseurs sont soutenues par la Dret(mise à disposition d'un scientifique du contingent et convention n° 196C6280031308011).
Participant : André Seznec
Le projet OMI SPEAR
2 réunissant T-Square, Ace, Forth et le projet Caps a été accepté
avec un financement réduit (début du projet en décembre 1997). Ce
projet vise à la définition et l'implémentation d'un
microcontrôleur Sparc. Le projet Caps fournira une expertise en
architecture des antémémoires et architectures
superscalaires.
Participants : François Bodin , Marc Pic .
La convention Leti/Inria concernant la conception et le développement du langage CT++ s'est terminée cette année. L'environnement CT++ est fondé sur la notion de tableaux distribués appelés tenseurs. Aucune extension à C++ n'est utilisée et l'environnement proposé est portable sur machines séquentielles mais aussi, pour les versions futures, sur architectures MIMD à mémoire distribuée. La génération de code optimisé est fondée sur un pré-processeur du code source. La mise en oeuvre du prototype utilise le système Sage++ [1].
Participants : François Bodin , Erven Rohou , André Seznec
, Zbigniew Chamski
La plupart des transformations de haut niveau affectent sensiblement les possibilités d'ordonnancement de code et d'allocation de registres, sans que cela puisse être pris en compte au niveau du code source. Dans le cadre du projet LTR Oceans (en collaboration avec les Universités de Leiden (contractant principal), Manchester et Versailles ainsi que la société Philips) nous explorons les schémas de compilation autorisant des rétroactions au niveau des transformations du code source afin de prendre en compte les contraintes d'ordonnancement et de registres. Le prototype que nous développons utilise le système Salto. Il est connecté aux systèmes Pilo et Lora (respectivement un ordonnanceur et un allocateur de registre pour le pipeline logiciel) développé par C. Eisenbeis (avant-projet A3 de l'Inria) pour mettre en oeuvre l'ordonnancement de boucle pour architectures VLIW. Les études sont centrées sur le processeur multimédia TriMedia-1 de la société Philips. La thèse de Erven Rohou porte sur ce sujet.
Participants : François Bodin , Yann Mével
L'évolution des performances de crête des processeurs a accru la différence entre le temps de calcul et le temps d'accès à la mémoire. Les architectures actuelles comportent des hiérarchies mémoires qu'il est primordial de prendre en compte lors de l'analyse des performances des programmes. Détecter des problèmes de performance de la hiérarchie mémoire n'est pas chose aisée. Les techniques les plus fréquentes sont les suivantes :
Les deux méthodes précédentes donnent des résultats difficiles à interpréter. Dans le premier cas, la cause ainsi que la séquence de code responsable d'un grand nombre de défauts de cache ne sont pas toujours faciles à déterminer. Avec la deuxième méthode, les accès aux données ne sont pas pris en compte et par conséquent la différence entre le temps idéal et le temps réellement obtenu ne s'explique pas facilement. L'enjeu ici n'est pas seulement de connaître le comportement de la hiérarchie mémoire mais de savoir si le nombre de défauts de cache correspond à celui attendu. On recherche essentiellement les anomalies de fonctionnement liées aux interférences ou à une mauvaise exploitation de la localité des données temporelle/spatiale.
Dans le cadre de cette convention nous avons conçu et mis en oeuvre un outil permettant une recherche rapide des sections de code utiles à optimiser du point de vue des performances. Cet outil prend en compte la hiérarchie mémoire et il est indépendant de la plate-forme cible. Il est orienté vers les codes scientifiques écrits en Fortran 77 et les architectures mono et multi processeurs à mémoire partagée. La mise en oeuvre est fondée sur une extension du système Foresys appelée TSF.
L'approche choisie pour l'analyse est fondée sur un modèle analytique simple de performance prenant en compte la localité des accès à la mémoire. L'analyse de la localité est fondée sur le concept de fenêtre de référence [2]. Les données dynamiques nécessaires sont recueillies par instrumentation du code. L'idée principale est de comparer le temps d'exécution du code avec le temps d'exécution théorique correspondant. Une différence importante indique alors un problème d'exploitation de la machine cible.
Participant : François Bodin , Yann Mével .
Le projet Esprit R & D FITS est mené en collaboration avec Simulog (contractant principal), VCPC (Vienne) et les sociétés Batelle, QSW et Alenia Spazio. Il a pour objectif d'intégrer des outils d'analyse de code Fortran pour le portage de code sur architectures hautes performances. Il s'agit, entre autres, de coupler le système Foresys avec la bibliothèque de traçage pour MPI, Vampire de Pallas, ainsi que les outils de visualisation de graphe d'appel de fonctions Ida et Analyst du VCPC. Dans le cadre de ce projet nous effectuons un transfert de technologie, concernant les transformations de programme pour l'amélioration de performances. Ceci consiste, en pratique, à l'ajout de transformations de code dans le système Foresys pour l'amélioration de la localité.
Participants : Pierrick Beaugendre , Thierry Priol .
Le projet Esprit R & D Pacha, en collaboration avec Spacebel (Contractant principal), Dolphin Interconnect Solutions, Aerospatiale, Novartis, Intecs, Telmat et l'université de Bale et FHG a pour objectif la construction d'une plateforme de haute performance exploitant le concept client/serveur. Cette plateforme utilise la technologie d'interconnexion SCI développée par Dolphin Interconnect Solutions. Au sein de ce projet, un ORB (Object Request Broker) CORBA est en cours de développement. Il exploite les capacités du réseau SCI pour améliorer de façon sensible les performances de l' ORB. Cette implémentation haute performance de CORBA est utilisée par les autres partenaires du projet au sein d'applications et d'environnements de programmation pour le calcul haute performance. Le projet Caps est responsable du développement d'un exécutif (Cobra) pour l'exécution de composants logiciels parallèles. Le projet Caps développe un générateur de code Fortran, inspiré des travaux autour de Fortran- S. Les développements sont assurés par P. Beaugendre (ingénieur expert au sein du projet Caps). T. Priol est responsable, à l'Irisa, du projet HPCN Pacha (convention n° 96C318003130801).
Participants : Thierry Priol
Le projet Esprit TTN Pro HPC est un noeud de transfert technologique dans le domaine du calcul et des réseaux de haute performance ( HPCN). Il vise à animer des activités de transfert technologique à destination principalement des petites et moyennes entreprises. Il s'agit de montrer en quoi l'apport de la technologie HPCN permet de résoudre des problèmes que l'informatique classique ne peut pas traiter dans des délais raisonnables. Les partenaires de ce noeud de transfert technologique sont l' ENS-Lyon/Lip (contractant principal), Matra et Simulog. Le rôle de l'Inria est, comme les autres partenaires, de rechercher des activités de transfert technologique. Des activités dans le domaine des télécommunications sont en cours de montage. Il assure également les activités de disséminations (serveur Web, campagne de presse, plaquette, posters,...). Le TTN Pro HPC gère actuellement dix activités de transfert technologique dans des domaines très variés. L'Inria est associé directement à deux de ces activités (domaine de la finance/assurance et simulation de tête de forage). H. Leroy, de l'Atelier, participe activement à l'animation de Pro HPC. T. Priol est le directeur-adjoint de ce noeud de transfert technologique.
Participants : Thierry Priol
Le projet Esprit PST PHPC-Drill est une action de transfert techologique en collaboration avec plusieurs partenaires: Crystal-Profor (Coordinateur), Simulog, Armine et l'IFP. La société Crystal Profor fabrique des outils de forage. L'utilisation de logiciels de simulation couvrant à la fois les phénomènes de coupe de roches et de nettoyage hydraulique est une nécessité. La société a développé en collaboration avec l'Ecole des Mines un logiciel de simulation de coupe des roches. La partie hydraulique se fait en collaboration avec l'Institut Français du Pétrole en utilisant une version dédiée du code N3S. L'objectif du projet est l'étude des possibilités de parallélisation du code de coupe de roche et l'étude de l'extension de la version parallèle HPCN3S à la simulation de l'hydraulique des têtes de forage.
Participants : Michel Allemand , François Bodin , André
Seznec
L'étude (travaux effectués en collaboration avec les projets Inria EP-ATR, Api et Meije) menée en partenariat avec Motorola (Austin) ayant pour but l'exploration du modèle synchrone pour le prototypage rapide et sûr de composants matériels s'est terminée cette année. Lors de cette étude nous avons défini une méthodologie pour la conception de matériel centrée sur le langage SIGNAL qui exploite le formalisme de flots de données synchrones [22].
Participants : Yvon Jégou , Thierry Priol .
T. Priol est responsable d'un contrat de recherche d'une durée de deux ans (septembre 1996/septembre 1998) avec la société NEC impliquant plusieurs projets de l'Inria : projets Caps et Pampa à Rennes et projet Gamma à Rocquencourt. La société NEC a mis une machine parallèle Cenju-3 dotée de seize processeurs à disposition des chercheurs de l'Inria. Le rôle du projet Caps est d'expérimenter les différents mécanismes matériels de cette machine pour concevoir une mémoire virtuelle partagée permettant de cacher la distribution physique des mémoires. Une mémoire virtuelle partagée a été portée et adaptée à la Cenju-3 par Y. Jégou. Cette mémoire virtuelle partagée exploite une couche de communication de très bas niveau conçue par Y. Jégou pour les tâches migrantes. Le portage du générateur de code Fortran- S et de l'analyseur de performance SVMview est en cours. Ceci permettra de comparer l'approche mémoire virtuelle partagée avec celle offerte par HPF développé par les chercheurs de la société NEC.
Participants : Pierre Michaud , André Seznec .
Le projet d'architecture parallèle Phénix de l' ETCA s'intéresse au problème récurrent de
l'augmentation de l'espace mémoire nécessaire aux applications en
traitement d'image. La convention INRIA/ETCA No 20488/96
ETCA/CREA/SP a pour objectif la définition d'une gestion
originale de la mémoire cache externe du processeur de
Phénix.