Les technologies clés

* Technologies de l'information et de la communication

Architectures massivement parallèles

Fiche Technologie-clé n : 38

VERSION 3

( téléchargement en format PDF)


Présentation de la technologie

[100tc]Définition

Les ordinateurs parallèles sont des machines qui comportent une architecture parallèle, constituée de plusieurs processeurs identiques concourant tous au traitement d'une seule application.

Le terme de massivement parallèle est couramment utilisé lorsque le système à architecture parallèle comporte de quelques dizaines de processeurs à plusieurs dizaines de milliers de processeurs, ou plus encore.

Ce systèmes sont souvent scalables, c'est-à-dire que leur puissance est extensible, dans une certaine plage, à peu près proportionnellement au nombre de leurs processeurs.

[100tc]Techniques mises en oeuvre

Plusieurs architectures types caractérisent ce domaine :

  1. les architectures M.I.M.D. ou encore à mémoire distribuée. Elles concernent les calculateurs où chaque processeur dispose d'une mémoire de données et de programme indépendante (Multiple Instructions Multiple Data), les échanges interprocesseurs s'effectuant par passage de message. Ce principe autorise une réutilisation maximale des technologies de processeurs et de mémoire existante et constitue la principale catégorie actuellement de calculateurs massivement parallèles. Comparée aux autres solutions sa "scalabilité" est optimale, mais elle nécessite de segmenter l'application ou les données pour exploiter le calculateur. Le nombre de processeurs varie généralement entre quelques dizaines à plusieurs centaines.

  2. les architectures SIMD (Single Instruction Multiple Data). Elles proposent une mémoire de programmation centralisée pour tous les processeurs qui exécutent donc de manière synchrone le même programme sur des données différentes. Elles se caractérisent par des processeurs généralement spécifiques de granularité plus fine et par un plus grand nombre de processeurs que les solutions M.I.M.D., couramment plusieurs milliers à dizaines de milliers. Ce type de calculateur a eu un essor important à l'époque de la CONNEXION Machine 1 et 2 (de la société américaine Thinking Machine). La spécificité des processeurs de ces architectures et leur moindre souplesse de programmation tend à confiner ce type de solution pour des traitements spécifiques.

  3. les architectures SVM (Shared Virtual Memory). Elles offrent sur des processeurs traditionnels ou spécifiques un système de mémoire de données et de programme commune. Ces architectures utilisent des systèmes de cohérence de cache de données assez sophistiqués dépendantes de l'architecture utilisée. La scalabilité de cette solution est généralement limitée à environ une vingtaine de processeurs, au delà de cette valeur les performances peuvent diminuer très significativement. Ces solutions constituent souvent le haut de gamme de l'offre des stations de travail et des serveurs des constructeurs classiques.

Les solutions 1 et 3 représentent les deux solutions actuellement les plus représentatives du marché du calculateur massivement parallèle.

Les éléments constitutifs d'un système massivement parallèle sont : les processeurs, le réseau qui relie ces processeurs, la mémoire plus ou moins répartie et la partie logiciel (langages et compilateurs pour la réalisation d'algorithmes de traitements en parallèle des tâches, systèmes d'exploitation...). Ces systèmes font intervenir des techniques de communication entre les différents éléments du système, de cohérence mémoire, de parallélisation et d'allocation des tâches, et de systèmes d'exploitation répartis.

Objectifs de la technologie

[100tc]Contexte concurrentiel et économique

On peut distinguer deux aspects principaux en ce qui concerne l'apport des machines à architecture massivement parallèle :

Si les dernières décennies ont vu l'augmentation exponentielle des performances des processeurs élémentaires, la demande en puissance de traitement, en capacité de mémorisation et de communication d'un nombre croissant d'applications (génome, météorologie, aéronautique, océanographie, etc.) augmente encore plus vite que ce qui résulte des progrès technologiques. Jusqu'à une période récente, le calcul numérique intensif était l'apanage des machines vectorielles, et réservé aux machines Cray ou aux super-ordinateurs vectoriels japonais. Les machines massivement parallèles commencent à leur faire de l'ombre, en particulier car elles présentent un meilleur rapport performance/prix. Pour des caractéristiques finales très proches, souvent supérieures, le coût d'un système utilisant des microprocesseurs standards du commerce revient moins cher qu'un système bâti autour de quelques processeurs spécifiques puissants.

Les architectures massivement parallèles bénéficient mieux des progrès technologiques concernant les mémoires et les processeurs car elles réutilisent directement ces technologies. Elles collent ainsi aux performances des processeurs et de mémoires en suivant leurs évolutions et en additionnant leurs performances grâce à un réseau d'interconnexions.

Le domaine d'utilisation essentiellement exploité initialement par des applications scientifiques s'élargit considérablement depuis quelques années au domaine industriel dans de nombreux secteurs, notamment celui des applications de production et dans le domaine du temps réel, pour répondre à des exigences d'amélioration des performances ou de coûts de production, selon des architectures variées et souvent spécifiques à l'application.

[100tc]Fonctions remplies :

Les calculateurs massivement parallèles permettent de disposer de puissances importantes de calcul et de traitement afin de gérer une quantité importante de données (multimédia) et effectuer des traitements nécessitant de grandes capacités de calcul... Les volumes de données traitées peuvent provenir de différentes sources :

Les calculateurs massivement parallèles répondent au besoin d'exécuter des algorithmes et des modèles mathématiques toujours plus précis, et d'améliorer les performances de nombreuses applications scientifiques ou industrielles. Ils fournissent ainsi un moyen d'améliorer la productivité ou la compétitivité de produits ou de services, en repoussant les limites de l'informatique "classique". Ils permettent aussi de concevoir de nouvelles applications ou services (en liaison avec le développement des inforoutes, par exemple).

Environnement technologique

[100tc]Technologies concurrentes :

Les ordinateurs vectoriels : ils sont spécialisés pour le traitement rapide des boucles. Plus que les limites en puissance de calcul (bien qu'elles soient réelles, puisque les technologies utilisées sont proches des limites technologiques), c'est de l'extrême difficulté à étendre le nombre de processeurs en gardant un accès mémoire uniforme et du coût prohibitif de leur mémoire dont souffrent ces machines

Les superserveurs : ils se limitent à un nombre de processeurs relativement restreint, inférieur à la vingtaine. Ces systèmes, en général MIMD (Multiple Instructions Multiple Data, traitent simultanément plusieurs instructions sur plusieurs données), utilisent le plus souvent des processeurs élémentaires vectoriels, essayant ainsi de combiner avec le meilleur compromis possible, le scalaire, le vectoriel et le parallèle. Des compilateurs peuvent vectoriser et paralléliser "automatiquement" sur un nombre limité de processeurs (FORTRAN de divers constructeurs comme Cray, IBM...) offrant ainsi la possibilité de développer des algorithmes utilisant le parallélisme restreint. Ce type de système met en oeuvre les technologies les plus rapides existant industriellement. C'est pourquoi les industries faisant appel au calcul intensif les utilisent de plus en plus largement. Avec les superserveurs, le parallélisme est passé de l'expérimentation à l'exploitation industrielle. C'est la raison pour laquelle certains parlent de systèmes à parallélisme industriel.

Les calculateurs spécialisés : constitués de composants ou de processeurs développés spécialement pour le domaine d'application visé, ils compensent par leur optimisation et leur performance souvent élevée les coûts et délais de développement qui leurs sont associés.

[100tc]Evolutions technologiques :

Les ordinateurs massivement parallèles constituent une alternative économique aux supercalculateurs toujours plus puissants, mais de coût toujours aussi élevé. Les espoirs placés dans ces architectures sont grands. Le passage du vectoriel au massivement parallèle est un mouvement irréversible. Actuellement, les systèmes à parallélisme industriel mettent en oeuvre les technologies les plus rapides existant industriellement. A moyen terme, l'évolution va naturellement vers l'augmentation du nombre de processeurs connectés entre eux et l'on s'oriente vers les systèmes à parallélisme "massif" (50 processeurs et plus pour l'instant).

L'évolution technologique conduit à l'utilisation pour les machines massivement parallèles de l'approche MIMD (Multiple Instruction Multiple Data) avec des mémoires physiquement distribuées pour pouvoir utiliser un grand nombre de processeurs et de grosses quantités de mémoire de coût raisonnable (RAM dynamique).

L'utilisation efficace des machines parallèles est rendue difficile par la grande diversité entre les grandes classes d'architectures, en dépit de la stabilisation vers un nombre réduit de types de machines : MIMD à mémoire logiquement distribuée (Paragon, SP1, etc.), MIMD à mémoire logiquement partagée (KSR, T3-D). En outre, les développements logiciels sur une machine ne sont pas portables sur une autre machine. Pour une machine donnée, les connaissances architecturales fines, notamment au niveau des communications, sont importantes pour s'approcher des performances maximales. L'accent doit être mis sur la construction d'outils rendant plus aisée l'utilisation des machines parallèles. Plusieurs voies peuvent et doivent être explorées :

Mais un courant majeur consiste maintenant à adapter le matériel au logiciel, contrairement aux démarches initiales qui consistaient à "empiler du hard" en comptant sur les développements logiciels pour faire fonctionner le tout. En outre, les clusters (ou grappes de stations de travail connectées entre elles) font une percée importante car il permettent l'accès à des puissances importantes pour des coûts intéressants.

[100tc]Programmes de recherche :

Europe : dans le contexte du quatrième programme cadre 1994-1998, l'Europe a fournit un soutien plus cohérent à ces technologies dans le cadre des projets HPCN (High Performance Computing and Networking), pour un montant d'environ 60 Millions d'Ecus par an. La stratégie actuelle consiste à favoriser la pénétration des technologies européennes dans les secteurs industriels.

USA : de nombreux programmes de développement de calculateurs et de technologies associées sont soutenues par la DARPA, pour l'aide au développement et à l'exportation de ces technologies. Ces programmes ont permis l'émergence de nombreux acteurs américains du domaine, notamment CRAY et INTEL, dans le cadre du projet TOUCHTONE. Un nouveau contrat a été signé avec INTEL et la DARPA en 1992, pour un montant de 21 millions de dollars sur 5 ans, afin d'accélérer le développement de machines atteignant le TERAFLOPS. Dans le domaine des technologies parallèles pour les temps réel, on peut citer également l'existence d'autres projets ARPA tel que RASSP pour le développement d'outils de parallélisation et de prototypage rapide, d'applications de traitement du signal et d'applications embarquées.

De façon générale, les axes stratégiques de recherche pour le développement du massivement parallèles sont les suivants :

retour

nous écrire