Les technologies clés |
Architectures massivement parallèles |
Fiche Technologie-clé n : 38
VERSION 3
( téléchargement en format PDF)
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.
Plusieurs architectures types caractérisent ce domaine :
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.
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.
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).
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.
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.
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 :