Schemas de communications globales dans les reseaux de processeurs : application a la grille torique

Documents pareils
Système de diffusion d information pour encourager les PME-PMI à améliorer leurs performances environnementales

La voix en images : comment l évaluation objectivée par logiciel permet d optimiser la prise en charge vocale

FPSTAT 2 í La dçecision statistique. 1. Introduction ça l'infçerence. 1

Quelques bases de donnçees d'çetoiles doubles et. Abstract. The increasing proportion of double stars makes necessary

Jean-Luc Archimbaud. Sensibilisation à la sécurité informatique.

AGROBASE : un système de gestion de données expérimentales

Chapitre 1 : Introduction aux bases de données

Dessin assisté par ordinateur en lycée professionnel

Exécution des instructions machine

Notes de lecture : Dan SPERBER & Deirdre WILSON, La pertinence

statique J. Bertrand To cite this version: HAL Id: jpa

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Initiation au HPC - Généralités

Compte-rendu de Hamma B., La préposition en français

Présentation du modèle OSI(Open Systems Interconnection)

La voix sur IP n'est pas un gadget, et présente de réels bénéfices pour l'entreprise.

distribution quelconque Signe 1 échantillon non Wilcoxon gaussienne distribution symétrique Student gaussienne position

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

NOTIONS DE RESEAUX INFORMATIQUES

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Alchin Couderc Flambard TBSEID 2

Parallélisme et Répartition

Ebauche Rapport finale


Métriques de performance pour les algorithmes et programmes parallèles

Conception des systèmes répartis

Réseaux grande distance

Sur le grossissement des divers appareils pour la mesure des angles par la réflexion d un faisceau lumineux sur un miroir mobile

modélisation solide et dessin technique

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Program Analysis and Transformation: From the Polytope Model to Formal Languages

Contributions à l expérimentation sur les systèmes distribués de grande taille

Le chiffre est le signe, le nombre est la valeur.

Les Champs Magnétiques

Systèmes et traitement parallèles

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Guide de connexion à. RENAULT SA et PSA PEUGEOT CITROËN. via ENX

Structure et fonctionnement d'un ordinateur : hardware

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

L indice de SEN, outil de mesure de l équité des systèmes éducatifs. Une comparaison à l échelle européenne

Cours des réseaux Informatiques ( )

Microsoft Windows NT Server

La Solution Crypto et les accès distants

Par combien de zéros se termine N!?

Éléments d'architecture des ordinateurs

Se préparer au DELF B2

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

Peut-on perdre sa dignité?

Tout savoir sur le matériel informatique

IV- Comment fonctionne un ordinateur?

Bibliographie. Gestion des risques

Les déterminants du volume d aide professionnelle pour. reste-à-charge

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Rapport d activité. Mathieu Souchaud Juin 2007

Budget Constrained Resource Allocation for Non-Deterministic Workflows on a IaaS Cloud

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

LE PROBLEME DU PLUS COURT CHEMIN

Calculons avec Albert!

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

DSCG : UE5 - Management des Systèmes d'information CARTE HEURISTIQUE...1 ARCHITECTURE PHYSIQUE...2

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Étude des formes de pratiques de la gymnastique sportive enseignées en EPS à l école primaire

Comptabilité à base d activités (ABC) et activités informatiques : une contribution à l amélioration des processus informatiques d une banque

1.Introduction - Modèle en couches - OSI TCP/IP

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

La polarisation des transistors

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

La continuité de service

Transmission d informations sur le réseau électrique

Cours n 12. Technologies WAN 2nd partie

Convertisseurs statiques d'énergie électrique

Un SIG collaboratif pour la recherche historique Partie. Partie 1 : Naissance et conception d un système d information géo-historique collaboratif.

ELP 304 : Électronique Numérique. Cours 1 Introduction

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

ORACLE TUNING PACK 11G

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

Conception de réseaux de télécommunications : optimisation et expérimentations

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Matériel & Logiciels (Hardware & Software)

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 %

TP a Notions de base sur le découpage en sous-réseaux

Démontage d'un ordinateur

Programmation Objet - Cours II

Routage Statique. Protocoles de Routage et Concepts. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Algorithmique avec Algobox

Big Data et Graphes : Quelques pistes de recherche

la virtualisation pour quoi faire?

Evolution de l infrastructure transport

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

LES RESEAUX VIRTUELS VLAN

Création de Sous-Formulaires

Les réseaux cellulaires

Transcription:

Schemas de communications globales dans les reseaux de processeurs : application a la grille torique Philippe Michallon To cite this version: Philippe Michallon. Schemas de communications globales dans les reseaux de processeurs : application a la grille torique. Réseaux et télécommunications [cs.ni]. Institut National Polytechnique de Grenoble - INPG, 1994. Français. <tel-00005105> HAL Id: tel-00005105 https://tel.archives-ouvertes.fr/tel-00005105 Submitted on 5 Feb 004 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

THESE prçesentçee par Philippe MICHALLON pour obtenir le titre de DOCTEUR de l'institut NATIONAL POLYTECHNIQUE DE GRENOBLE èarr^etçe ministçeriel du 30 Mars 199è Spçecialitçe:Mathçematiques Appliquçees =========================================== SCHEMAS DE COMMUNICATIONS GLOBALES DANS LES RESEAUX DE PROCESSEURS : APPLICATION A LA GRILLE TORIQUE =========================================== Date de soutenance : 5 frçevrier 1994 Composition du jury : Prçesident Guy MAZARE Rapporteurs Jean-Claude BERMOND Michel COSNARD Yousef SAAD Examinateurs Denis TRYSTRAM Gilles VILLARD Thçese prçeparçee au sein du Laboratoire de Modçelisation et de Calcul

THESE prçesentçee par Philippe MICHALLON pour obtenir le titre de DOCTEUR de l'institut NATIONAL POLYTECHNIQUE DE GRENOBLE èarr^etçe ministçeriel du 30 Mars 199è Spçecialitçe:Mathçematiques Appliquçees =========================================== SCHEMAS DE COMMUNICATIONS GLOBALES DANS LES RESEAUX DE PROCESSEURS : APPLICATION A LA GRILLE TORIQUE =========================================== Date de soutenance : 5 frçevrier 1994 Composition du jury : Prçesident Guy MAZARE Rapporteurs Jean-Claude BERMOND Michel COSNARD Yousef SAAD Examinateurs Denis TRYSTRAM Gilles VILLARD Thçese prçeparçee au sein du Laboratoire de Modçelisation et de Calcul

A mes parents, A ma sçur, Et ça tous ceux que j'aime..

Remerciements Cette thçese n'aurait pas vu le jour sans un certain nombre depersonnes que je tiens ça remercier ici. Guy Masare pour m'avoir fait l'honneur de prçesider le jury. Jean-Claude Bermond et Michel Cosnard pour avoir acceptçe de juger ce travail malgrçe des emplois du temps trçes chargçes. Je tiens ça les remercier tous les deux, pour leurs remarques qui m'on permis de corriger ou de reprendre de nombreux points de cette thçese. Je remercie tout particuliçerement Youcef Saad pour avoir acceptçe d'eæectuer un rapport malgrçe les contraintes temporelles. Gilles Villard pour ses nombreux conseils au cours de ces trois annçees, et son esprit de synthçese qui m'on permis de ne pas m'çegarer en cours de chemin. Et surtout celui qui est ça l'origine de ce travail, mon directeur de thçese, Denis Trystram, sans qui je n'aurais jamais dçecouvert le parallçelisme. Je le remercie pour avoir su guider mes recherches durant ces annçees. Malheureusement pour lui, il a çechouçe dans ses tentatives de conversion au yoga et ça son fameux rçegime de ëpçepins de pomme". Chunty! Chunty! tu rçeussiras avec d'autres thçesards!! Je tiens çegalement ça remercier toutes les personnes de RUMEUR avec qui j'ai participçe ça la rçedaction du LIVRE èvu le temps consacrçe, il faut au moins des majuscules!è et ça l'çecole d'çetçe: Anne, Dominique, Marie-Claude, Andrçe, Emmanuel, Jean-Claude, Denis, Michel, Pierre. Pour la prochaine çecole je propose les Bahamas, qu'en pensez-vous? Je tiens tout particuliçerement ça remercier Jean-Claude avec qui j'ai travaillçe, pour m'avoir appris la rigueur, tout en travaillant dans la bonne humeur de la crçeche d'i3s. Michel avec qui j'ai partagçe la rçedaction et la gestion du LIVRE et surtout la saturation du rçeseau national èmode d'emploi: envoyer par mail un æchier de plusieurs mçegas ça plusieurs destinataires dispersçes aux quatre coins de la France. Le faire de prçefçerence la veille d'un long week-endè et de pas mal de dçelire autour d'une Guiness. Je remercie çegalement les autres membres du groupe RUMEUR pour leurs discussions et leur bonne humeur. Mention spçeciale ça Dominique l'çnologue du groupe. Je tiens ça remercier tous les membres des çequipes du laboratoire : Brigitte, Françcoise, les Jacques, Jean-Marc, Jean-Louis, Abdel, et j'en oublie... pour leur accueil, leurs conseils et tout ce qui fait la remarquable ambiance de ce groupe. Je remercie trçes vivement Nathalie et Christophe pour leurs nombreuses relectures et corrections. Sans eux je n'aurais jamais pu ænir avant le dçepart de mes rapporteurs pour le Chili. Au cours de cette thçese, j'ai croisçe plusieurs gçençerations de thçesards.

Honneur aux plus anciens, Isabelle, Denis èdit DDè, Didier èdit la Marmotteè, Jean-Yves ècapable de vendre un parapluie ça un Touhareg au milieu de Saharaè, Yvan èdit Nounouilleè, Françcois èdit Ptigasè. Ensembles nous avons passçe de nombreuses heures de rigolade autour de boites de Coca-Cola et devant les rayons de la FNAC. C'çetait la grande çepoque des Mickeys. Puis il y eut ma gçençeration de thçesard. Commençcons galanterie oblige par les demoiselles et plus spçecialement par ma voisine de bureau. Bravo Nathalie, tu as rçeussi ça me supporter prçes de quatre ans dans le m^eme bureau!! Merci aussi pour tes dçelicieuses mousses au chocolat et tes recettes de g^ateau. Cçecile avec qui j'ai beaucoup discutçe, qui me remontait le moral quand celui-ci çetait au plus bas et qui chemin faisant ça rencontrer Yves le bidouilleur fou du labo. Sans oublier Laurent èle dr^omoisè le plus cool du labo, Jao Paulo, Paulo, Ricardo èle trio brçesilien du laboè pour les nombreuses discussions tant scientiæques que sportives èfootball et formule 1è. Il y a aussi Frçedçeric èdit Fred ou le cha..e! non je ne l'ai pas ditè, Thierry èdit Titouè, les deux sportifs du labo. Si vous tenez ça rester entier çeviter de les suivre en ski, escalade, etc. m^eme en randonnçee pçedestre ils sont dangereux. Leur seul but : trouver la ligne de plus grande pente et la suivre. Christophe èdit Xtofè, le plus calme de tous et le plus discret, qui est toujours pr^et ça rendre service, et Yannick èdit Nounoursè ; mçeæez-vous qu'en m^eme de l'eau qui dort!! Frçederic et Christophe font parti comme Pascal èsurnommçe Hypolite par Evelineè, Laurent èdit Loloè des thçesards de Denis. Alors mçeæez-vous du Chef, ne vous laissez pas convertir ça son rçegime. Pour Pascal et Laurent je ne me fais pas de souci, mais Fred et Xtof tenaient bon, plus qu'un an!! Au cours de ces annçees c'est formçe un trio infernal constituçe par Pascal, Laurent et moim^eme. Avant de conna^çtre Pascal je dçetestais la biçere, mais il m'a fait dçecouvrir les biçeres de chez lui, et ce fut le dçeclic. De plus, il m'a fait dçecouvrir son fameux steak sauce au poivre accompagnçe de frites et de compote de pommes. Laurent me æt dçecouvrir la cuisine auvergnate et la passion des jeux de r^oles. De plus nous partageons la m^eme passion pour les verts de St Etienne. En parlant de vers, c'est quand qu'on va lap^eche? Ensemble nous avons montçe des expçeditions ça Pragues, aux Pays-Bas ça Namur, en Corse, ça Romes qui ont toutes laissçe des traces indçelçebiles dans nos mçemoires. A quand la prochaine virçee les copains? Et la derniçere gçençeration de thçesard : Evelyne, Ines, Alain, Eric, Gabriel, Michel que je remercie pour son aide et son dçevouement èje te dois toujours deux biçeres!è, et Alex qui ma fait piquer des crises de nerfs en installant de nouvelles versions en cours de rçedaction mais qui çetait toujours lça pour dçebloquer la situation. Enæn comment ne pas dire merci ici ça un compagnon de route : Michel le lyonnais que je connais depuis le DEUG èje te supporte depuis si longtemps??è. Merci pour les doses de cafçe ça la Kafet du LIP et pour tes cotisations ça la Kafet du labo. Merci aussi aux copains de toujours : Marie-Christine et Zeph pour leur soutien.

Table des matiçeres 1 Des circuits VLSI aux machines parallçeles 5 1.1 Introduction :::::::::::::::::::::::::::::::::::::: 5 1. Limites technologiques des VLSI :::::::::::::::::::::::::: 6 1..1 Circuits intçegrçes ::::::::::::::::::::::::::::::: 6 1.. Contraintes sur le nombre de liens ::::::::::::::::::::: 7 1..3 Densitçe durçeseau et bande passante globale :::::::::::::::: 9 1.3 Nçecessitçe d'une mçemoire distribuçee ::::::::::::::::::::::::: 9 1.3.1 Les machines parallçeles ça mçemoire distribuçee ::::::::::::::: 10 1.3. Modçelisation d'un nçud ::::::::::::::::::::::::::: 10 1.3.3 Les diæçerents types de rçeseaux ::::::::::::::::::::::: 1 1.4 Architectures des processeurs :::::::::::::::::::::::::::: 1 1.5 Performances des machines ::::::::::::::::::::::::::::: 14 1.6 Classiæcation des diæçerents types de machines ::::::::::::::::::: 18 1.7 Historique des machines parallçeles ::::::::::::::::::::::::: 1 1.8 Description des composants ::::::::::::::::::::::::::::: 3 1.8.1 Les processeurs :::::::::::::::::::::::::::::::: 3 1.8. Les processeurs avec facilitçes de communication :::::::::::::: 5 1.9 Les machines parallçeles actuelles :::::::::::::::::::::::::: 8 1.9.1 La derniçere gçençeration de machines MIMD :::::::::::::::: 8 1.9. La derniçere gçençeration de machines SIMD ::::::::::::::::: 38 1.9.3 Les grandes lignes actuelles ::::::::::::::::::::::::: 4 1.10 Perspectives :::::::::::::::::::::::::::::::::::::: 43 Modçeles de communications et topologies 49.1 Introduction :::::::::::::::::::::::::::::::::::::: 49. Communications dans un nçud ::::::::::::::::::::::::::: 50..1 Gestion des messages ::::::::::::::::::::::::::::: 50.. Les contraintes de communication ::::::::::::::::::::: 50.3 Diæçerents modes de commutation :::::::::::::::::::::::::: 5.3.1 Commutation de circuit ècircuit-switchedè ::::::::::::::::: 5.3. Commutation de messages èstore-and-forwardè :::::::::::::: 53.3.3 Commutation de paquets èpacket-switchedè :::::::::::::::: 54.3.4 Routage wormhole :::::::::::::::::::::::::::::: 55.3.5 Virtual-cut-through :::::::::::::::::::::::::::::: 56.3.6 Le mode transparence :::::::::::::::::::::::::::: 57.4 Modçelisation du temps de communication ::::::::::::::::::::: 57.4.1 Modçele temps constant ::::::::::::::::::::::::::: 57.4. Modçele temps linçeaire :::::::::::::::::::::::::::: 58.4.3 Les autres modçeles :::::::::::::::::::::::::::::: 59.5 Comparaison des principaux modes de routage :::::::::::::::::: 60.5.1 La technique du pipeline ::::::::::::::::::::::::::: 61 v

.5. La technique des chemins disjoints ::::::::::::::::::::: 6.6 Description des principales topologies ::::::::::::::::::::::: 6.6.1 Les hypercubes :::::::::::::::::::::::::::::::: 63.6. Les grilles ::::::::::::::::::::::::::::::::::: 64.6.3 Les grilles toriques :::::::::::::::::::::::::::::: 64.6.4 Les de Bruijn ::::::::::::::::::::::::::::::::: 65.7 Conclusion :::::::::::::::::::::::::::::::::::::: 66 3 Communications globales 69 3.1 Introduction :::::::::::::::::::::::::::::::::::::: 69 3. Les Bibliothçeques de calculs et de communications :::::::::::::::: 70 3..1 Les bibliothçeques d'algçebre linçeaire ::::::::::::::::::::: 70 3.. Les bibliothçeques de communications :::::::::::::::::::: 71 3.3 Les schçemas de communications globales :::::::::::::::::::::: 7 3.4 Utilisation des schçemas de communications globales ::::::::::::::: 7 3.4.1 L'çelimination de Gauss :::::::::::::::::::::::::::: 73 3.4. Le gradient conjuguçe ::::::::::::::::::::::::::::: 74 3.5 Conclusion :::::::::::::::::::::::::::::::::::::: 78 4 Diæusion dans les grilles toriques 81 4.1 Notations et modçele de communication ::::::::::::::::::::::: 8 4. Les outils de la diæusion ::::::::::::::::::::::::::::::: 8 4.3 Une premiçere solution :::::::::::::::::::::::::::::::: 84 4.4 Des arbres de recouvrement de profondeur minimale ::::::::::::::: 85 4.4.1 Le principe de base :::::::::::::::::::::::::::::: 86 4.4. Cas 1 :4k+1 :::::::::::::::::::::::::::::::::: 88 4.4.3 Cas :4k+3 :::::::::::::::::::::::::::::::::: 93 4.4.4 Cas 3 :4k ::::::::::::::::::::::::::::::::::: 95 4.4.5 Cas 4 :4k+ :::::::::::::::::::::::::::::::::: 96 4.4.6 Etude thçeorique des arbres ::::::::::::::::::::::::: 98 4.4.7 Algorithme de diæusion ::::::::::::::::::::::::::: 103 4.5 Gçençeralisation ::::::::::::::::::::::::::::::::::::: 104 4.5.1 Les solutions existantes ::::::::::::::::::::::::::: 106 4.5. Quelques amçeliorations ::::::::::::::::::::::::::: 108 4.5.3 Construction d'arbres de profondeur minimale :::::::::::::: 109 4.6 Conclusion :::::::::::::::::::::::::::::::::::::: 113 5 Communications globales dans les grilles toriques 115 5.1 L'çechange total :::::::::::::::::::::::::::::::::::: 115 5.1.1 Dçecomposition de la grille torique ::::::::::::::::::::: 116 5.1. Les chemins hamiltoniens :::::::::::::::::::::::::: 10 5.1.3 Stratçegie gloutonne :::::::::::::::::::::::::::::: 11 5. La distribution :::::::::::::::::::::::::::::::::::: 14 5..1 Application aux grilles toriques ::::::::::::::::::::::: 16 5.3 Le regroupement ::::::::::::::::::::::::::::::::::: 17 5.4 La multidistribution ::::::::::::::::::::::::::::::::: 131 5.4.1 Application aux grilles toriques ::::::::::::::::::::::: 13 5.5 Synthçese des rçesultats :::::::::::::::::::::::::::::::: 133 5.6 Conclusion :::::::::::::::::::::::::::::::::::::: 134

6 Expçerimentations sur machine ça base de Transputers 137 6.1 Introduction :::::::::::::::::::::::::::::::::::::: 137 6. Prçesentation du MçegaNode ::::::::::::::::::::::::::::: 138 6..1 Les machines SuperNode :::::::::::::::::::::::::: 138 6.. Le MçegaNode ::::::::::::::::::::::::::::::::: 138 6..3 L'environnement logiciel ::::::::::::::::::::::::::: 139 6.3 Modçelisation des communications :::::::::::::::::::::::::: 140 6.4 Description des algorithmes de diæusion :::::::::::::::::::::: 145 6.5 Expçerimentations ::::::::::::::::::::::::::::::::::: 148 6.6 Conclusion :::::::::::::::::::::::::::::::::::::: 151 7 Recouvrements calculsècommunications 153 7.1 Introduction :::::::::::::::::::::::::::::::::::::: 153 7. Pourquoi faire du recouvrement? :::::::::::::::::::::::::: 153 7.3 Problçeme du choix de la taille des paquets ::::::::::::::::::::: 156 7.3.1 Analyse du produit matrice-vecteur :::::::::::::::::::: 157 7.3. Description des algorithmes ::::::::::::::::::::::::: 159 7.3.3 Calcul du temps d'exçecution :::::::::::::::::::::::: 166 7.3.4 Adaptation au lien full-duplex :::::::::::::::::::::::: 166 7.3.5 Simulations :::::::::::::::::::::::::::::::::: 169 7.4 Conclusion :::::::::::::::::::::::::::::::::::::: 171 8 Communications globales en commutation de circuit 173 8.1 Rçesultat prçeliminaire ::::::::::::::::::::::::::::::::: 173 8. La diæusion :::::::::::::::::::::::::::::::::::::: 175 8..1 Diæusion dans l'anneau ::::::::::::::::::::::::::: 175 8.. Diæusion dans la grille torique ::::::::::::::::::::::: 177 8.3 L'çechange total :::::::::::::::::::::::::::::::::::: 179 8.3.1 Co^ut minimal suivant chaque paramçetre :::::::::::::::::: 179 8.3. Diæçerents algorithmes :::::::::::::::::::::::::::: 179 8.4 Comparaison des diæçerents algorithmes ::::::::::::::::::::::: 18 8.5 Conclusion :::::::::::::::::::::::::::::::::::::: 185 9 Conclusion 187 A A 189

Prçesentation de la thçese 1 Prçesentation de la thçese Le parallçelisme est nçe d'une idçee trçes simple : si diverses parties d'un algorithme sont indçependantes et si on dispose de plusieurs unitçes de traitement, alors ces parties peuvent ^etre exçecutçees simultançement sur les diverses unitçes. Dçes le dçebut de l'informatique, les concepteurs d'ordinateurs ont eu cette idçee, mais les contraintes matçerielles de l'çepoque ne leur permettaient pas de l'exploiter. Dans les annçees 80, le dçeveloppement de nouvelles technologies ont permis de construire les premiçeres machines multiprocesseurs vraiment utilisables. Deux types de machines sont apparus, que l'on distingue suivant l'organisation de la mçemoire : partagçee ou distribuçee. L'alternative mçemoire distribuçee est sans aucun doute le meilleur compromis performanceèprix et permet d'envisager de trçes grands nombres de processeurs. Sur ce type d'architecture, chaque processeur dispose de son propre code et de ses propres donnçees. Les çechanges de donnçees entre les processeurs se font par envoi de messages sur le rçeseau d'interconnexion qui relie les processeurs. Les algorithmes parallçeles peuvent^etre alors dçecomposçes en une succession de phases de calcul et de phases de communication. Mais les phases de communication sont gçençeralement trçes co^uteuses, et emp^echent les utilisateurs d'obtenir les puissances de cr^ete des machines. Aæn de rçeduire les temps d'exçecutions, il est donc important de disposer de procçedures de communications eæcaces. Toutefois, la rçealisation de telles bibliothçeques est trçes liçee ça l'architecture du rçeseau d'interconnexion et aux modes de communication utilisçes pour rçealiser ces çechanges. Dans le m^eme temps, de nombreuses bibliothçeques de calcul se sont dçeveloppçees augmentant encore les performances des phases de calculs. Aæn de ne pas rçeduire ça nçeant les performances obtenues par les noyaux de calcul, en gardant des temps d'attente de donnçees trop prohibitifs, une bonne solution est d'anticiper les mouvements de donnçees aæn de recouvrir les communications par du calcul. Le but de cette thçese est donc d'abord d'çetudier les schçemas de communication les plus utilisçes, et plus particuliçerement la diæusion, pour en proposer des implçementations eæcaces sur des machines parallçeles dont le rçeseau d'interconnexion est une grille torique. Nous nous intçeressons ensuite au problçeme du recouvrement calculècommunication sur l'exemple du produit matrice-vecteur.

Prçesentation de la thçese Enæn nous abordons l'extension ça d'autres modçeles de communication correspondant aux machines actuelles. Les deux premiers chapitres sont des synthçeses sur les machines parallçeles actuelles, et sur les protocoles de communication utilisçes dans ces machines. Ils sont largement inspirçes des textes çecrits en collaboration avec Michel Syska, pour l'çecole d'çetçe RUMEUR è199è et complçetçe pour le livre ë3ë. Plus prçecisçement, le premier chapitre a pour but de prçesenter les orientations prises en matiçere d'architecture parallçele, et de les justiæer. Les limites technologiques des circuits VLSI, les contraintes de fabrication et de co^ut ont obligçe les constructeurs de machines parallçeles ça faire des choix entre mçemoire partagçee et mçemoire distribuçee, ou encore dans leurs rçeseaux d'interconnexion. Nous faisons ressortir ces choix dans la prçesentation des processeurs et des machines parallçeles qui sont commercialisçes ça ce jour. Il en ressort que les machines ça mçemoire distribuçee de type MIMD semblent ^etre la solution oærant le meilleur compromis co^utèpuissance et que les rçeseaux d'interconnexion multi-çetages semblent ^etre une solution d'avenir. Dçesormais les grands constructeurs ont pour objectif de construire des machines capables d'eæectuer mille milliards d'opçerations par seconde èle TeraFlopsè. Dans le deuxiçeme chapitre, nous prçesentons les diæçerents protocoles de communication utilisçes dans les machines parallçeles ainsi que leur modçelisation. Si il y a encore deux ans la commutation de message store and forward çetait utilisçee dans la majoritçe des machines, de nos jours ce sont la commutation de circuit et le routage wormhole qui se retrouvent le plus frçequemment. En wormhole les messages traversent les processeurs intermçediaires sans y ^etre stockçes comme en commutation de message, d'oçu la nçecessitçe de modçeliser diæçeremment le temps d'une communication. Lorsqu'on rçealise des communications entre deux ou plusieurs processeurs il faut aussi tenir compte de la topologie du rçeseau d'interconnexion. En eæet, chaque rçeseau possçede ses propres paramçetres comme le degrçe, le diamçetre etc. Dans le chapitre trois nous prçesentons les principaux schçemas de communications globales et nous montrons sur deux exemples la nçecessitçe de tels schçemas. En eæet, pour parallçeliser une application numçerique, une bonne dçemarche consiste ça rçepartir ses donnçees initiales, identiæer les procçedures de calculs locaux et eæectuer les rencontres entre les donnçees en utilisant des schçemas de communication. Le chapitre quatre est consacrçeçal'çetude de la diæusion dans les grilles toriques dans le mode commutation de message. Pour cela on utilise une modçelisation temps linçeaire du co^ut des communications. La premiçere partie de ce chapitre traite le cas de la diæusion sous l'hypothçese de liens full-duplex. Ce problçeme est rçesolu en construisant des arbres de recouvrement ça arcs disjoints. Pour les

Prçesentation de la thçese 3 grilles toriques carrçees, nous prçesentons une nouvelle famille de quatre arbres de recouvrement ça arcs disjoints dont la profondeur est minimale. Ce rçesultat a fait l'objet d'un article ë6ë. Ces arbres çetant arcs disjoints, ils permettent d'obtenir une diæusion pipeline en temps optimal. Nous gçençeralisons ensuite ce rçesultat au cas des grilles toriques rectangulaires. Dans la deuxiçeme partie de ce chapitre nous çetendons notre çetude au cas des grilles torique possçedant des liens half-duplex. Nous montrons que pour ce type de grilles il existe deux arbres de recouvrement disjoints de profondeur minimale qui pourront ^etre utilisçes pour eæectuer des diæusions. Ceci fait l'objet de l'article ë1ë. Dans le chapitre cinq, nous prçesentons l'ensemble des schçemas de communication globales dans la grille torique. Cette çetude permet de prçesenter les meilleurs algorithmes connus pour chaque schçema. Les communications çetant trçes co^uteuses par rapport aux calculs, il est nçecessaire de disposer de schçemas de communications eæcaces. Pour chaque schçema nous prçesentons l'algorithme avant d'en calculer le temps d'exçecution. Ces rçesultats de synthçese ont çetçe prçesentçes au cours des ç Rencontres sur le Parallçelisme ç. ë5ë Lors des çetudes thçeoriques nous supposons que les processeurs peuvent communiquer simultançement avec plusieurs voisins, ce qui est vrai sur la plupart des machines parallçeles. Mais la thçeorie ne tient pas compte du fait que le co^ut des communications dçepend du nombre de communications rçealisçees simultançement. Dans le chapitre six nous mettons en çevidence ce phçenomçene et nous proposons une nouvelle modçelisation des communications ça partir d'une machine MegaNode. Nous appliquons ce nouveau modçele ça la diæusion sur la grille torique et nous montrons que les rçesultats expçerimentaux conærment les rçesultats thçeoriques. De plus comme cette machine est conægurable, nous comparons les diæusions sur diæçerentes topologies et nous en dçeduisons la meilleure topologie en fonction de la taille du message. Ces rçesultats font l'objet d'un article ë4ë. Le chapitre sept est consacrçe ça l'çetude du recouvrement des communications par du calcul. En eæet on constate les processeurs restent souvent inoccupçes ça attendre des donnçees, d'oçu l'idçee lorsque cela est possible, d'anticiper les communications, en pipelinant l'envoi de petits messages. Toutefois la taille des messages ça envoyer n'est pas facile ça calculer. Elle dçepend de la taille du problçeme, du nombre de processeurs dans le rçeseau, du co^ut d'une opçeration arithmçetique et du co^ut d'une communication. Ceci est illustrçe par l'çetude du produit matricevecteur sur un anneau de processeurs. L'article correspondant ça ce rçesultat est soumis ça publication ëë. Avant de conclure et de dçegager les perspectives de ce travail, nous proposons, dans le chapitre huit, une çetude du schçema d'çechange total sur la grille torique en mode commutation de circuit. L'algorithme est inspirçe du dçecoupage rçecursif de la grille torique. Il permet d'obtenir un nombre d'çetapes plus faible que les algorithmes traditionnels en store and forward, ce qui est intçeressant lorsque

4 Bibliographie le start-up est prçepondçerant dans l'envoi d'un message. De plus cet algorithme fournit de bon rçesultat avec des messages de petites tailles. Bibliographie ë1ë J. C. Bermond, P. Michallon, and D. Trystram. Broadcasting in wraparound meshes with parallel monodirectionnal links. Parallel Computing, 18:639í648, 199. ëë L. Colombet, P. Michallon, and D. Trystram. Parallel matrix-vector product on a ring with a minimum of communications. soumis ça Parallel Computing. ë3ë Jean de Rumeur. Communications dans les rçeseaux de processeurs. collection ERI. Masson, 1994. ë4ë P. Michallon and D. Trystram. Practical experiments of broadcasting algorithms on a conægurable parallel computer. ça para^çtre dans Discrete Applied Mathematics, issue spçeciale sur le broadcasting et le gossiping. ë5ë P. Michallon and D. Trystram. Rçesolution de schçemas de communications globales sur rçeseau de processeurs en grille torique. In 5çeme rencontres sur le parallçelisme èbrestè, 1993. ë6ë P. Michallon, D. Trystram, and G. Villard. Optimal broadcasting algorithms on torus. soumis ça Journal of Distributed and Parallel Computing.

Chapitre 1 Des circuits VLSI aux machines parallçeles 1.1 Introduction Le but de ce chapitre est de prçesenter de maniçere systçematique la technologie et les techniques mises en çuvre dans les machines parallçeles. Mais aussi de montrer combien il est nçecessaire d'çetudier les çechanges de donnçees et fournir des algorithmes de communication et de routage eæcaces, vue la complexitçe de ces machines et le co^ut çelevçe de celles-ci par rapport au co^ut des calculs. En eæet, l'augmentation constante de la demande de puissance de calcul a donnçe lieu lors de la derniçere dçecennie au dçeveloppement des ordinateurs parallçeles. Dans ces machines parallçeles, les constructeurs utilisent des processeurs qui sont de plus en plus puissants èc'est-ça-dire qui calculent de plus en plus rapidementè et en plus grand nombre. Or la puissance de ces processeurs a augmentçe plus vite que le dçebit des liens de communication, ce qui nçecessite des algorithmes de communication eæcaces aæn de rçeduire les temps d'attente des processeurs. Ce chapitre est extrait du l'ouvrage collectif communications dans les rçeseaux de processeurs ë4ë. Aprçes un rappel sur les limites technologiques de la conception de circuits intçegrçes, ainsi qu'une description des paramçetres permettant de comparer et de classiæer les machines parallçeles, nous prçesenterons les principaux processeurs du moment, ainsi que les principales machines existantes et leurs diæçerents rçeseaux d'interconnexion. Malgrçe la diæcultçe de prçedire ça long terme les rçeseaux et les technologies qui seront utilisçes dans les futures machines parallçeles, nous conclurons ce chapitre par les grandes lignes qui se dessinent pour les prochaines annçees. 5

6 Chapitre 1. Des circuits VLSI aux machines parallçeles 1. Limites technologiques des VLSI Les machines parallçeles sont construites dans l'espace ça trois dimensions, ce qui implique, pour les rçeseaux multidimensionnels comme les hypercubes, d'^etre plongçes dans ces trois dimensions physiques. On distingue çegalement plusieurs niveaux d'intçegration des composants, ou pour certains niveaux, comme les circuits intçegrçes, seulement deux dimensions sont possibles èavec çeventuellement plusieurs couches pour rel^acher cette contrainteè. Ainsi, la meilleure façcon d'interconnecter entre eux des processeurs, dçepend non seulement de lois mathçematiques, mais aussi de contraintes dues aux procçedçes de fabrication disponibles. 1..1 Circuits intçegrçes Les nçuds d'un rçeseau èprocesseurs ou organes de routageè sont rçealisçes en technologie VLSI èvery Large Scale Integration : technologie de construction de circuits intçegrçes ë36, 61, 7ëè, et doivent respecter les contraintes de l'intçegration en deux dimensions èplanaireè. Un circuit intçegrçe est en fait un graphe de connexions entre des composants çelçementaires ètransistors, ampliæcateurs opçerationnels, diodes, rçesistances, etc.è gravçes dans une plaquette de silicium. Certains types de circuit ècircuits logiquesè permettent de rçealiser des fonctions boolçeennes. Un circuit intçegrçe est appelçe communçement puce. Ces puces sont plus ou moins complexes suivant l'usage qu'il en est fait, ainsi on les retrouve aussi bien dans les cartes tçelçephoniques qu'au cçur m^eme des ordinateurs. Pour fonctionner, une puce a besoin d'^etre alimentçee en courant et en donnçees. De plus, s'il s'agit d'un processeur, il faut le connecter ça une mçemoire, ce qui nçecessite beaucoup de liens depuis la puce. Or, celle-ci mesure de l'ordre d'un centimçetre carrçe, d'oçu une impossibilitçe technique de la connecter sur une carte ècircuit imprimçe sur lequel on met des circuits intçegrçesè qui mesure de l'ordre de la centaine de centimçetres carrçes. Pour rçealiser la connexion entre ces deux çelçements d'çechelles diæçerentes, on æxe la puce sur un module èbo^çtierè en cçeramique disposant de pattes qui relient le module en cçeramique ça la carte. La ægure 1.1 montre les trois niveaux ç d'encapsulage ç : la puce, le module et la carte ë6ë. Puce Module en cçeramique Pattes Carte

1.. Limites technologiques des VLSI 7 Fig. 1.1 : Diæçerents niveaux d'encapsulage en VLSI Un nçud peut ^etre constituçe de plusieurs modules assemblçes sur une m^eme carte. On doit noter qu'il peut y avoir èrarementè plusieurs nçuds par puce ; on parle alors de Multi-Chip Module. Certaines technologies, comme la Wafer Scale Integration, rentrent aussi dans ce concept èsur une m^eme tranche de silicium, on imprime un grand nombre de circuits identiques, qui peuvent communiquer avec leurs voisins. Ce nombre est limitçe par l'çepaisseur des substrats rçealisablesè. Le rçeseau des nçuds doit lui aussi ^etre conçcu sur une surface ça deux dimensions au niveau des cartes sur lesquelles sont posçes les modules. De nombreux articles ont çetçe publiçes sur le problçeme de la conception des circuits intçegrçes ègraphe des connexions entre les cellules çelçementaires ë67ëè sur une surface ça deux dimensions la plus petite possible. Plus le dessin du circuit est compact, plus le dçelai çecoulçe entre l'entrçee et la sortie des donnçees ètemps de calcul du circuitè est court. Ainsi, un graphe trçes complexe, qui nçecessite une surface plus grande, peut s'avçerer moins eæcace qu'un graphe de calcul plus simple que l'on sait concevoir sur une surface plus petite. Un circuit de taille rçeduite consomme moins de puissance çelectrique, accepte une frçequence d'horloge plus çelevçee, est plus æable, occupe moins de volume et pçese moins lourd. De plus, le co^ut de fabrication diminue avec la taille! Ces considçerations s'appliquent aux rçeseaux de processeurs des machines que nous prçesentons dans ce chapitre. On peut consulter les articles de Valiant ë78ë, Karchmer ë5ë, Lengauer ë57ë pour une introduction ça ces problçemes et pour des rçefçerences complçetes sur la thçeorie des VLSI. 1.. Contraintes sur le nombre de liens Il se pose çegalement le problçeme de la connexion de ces puces entre elles. En eæet, pour construire une machine parallçele on ne peut pas relier les processeurs comme on veut. Des contraintes physiques et matçerielles nous emp^echent de relier autant de processeurs que l'on veut ça un seul, comme nous allons le voir maintenant. Les puces comportent aujourd'hui environ trois millions de transistors disposçes sur un peu plus d'un centimçetre carrçe, alors que le nombre de pattes issues du module est beaucoup plus faible èpar exemple, çegal ça 08 sur le T9000 d'inmosè. La plupart des processeurs sont destinçes ça çequiper des stations de travail et les ordinateurs personnels, et n'oærent pas de gestion interne èon chipè des communications, le co^ut çetant prohibitif. C'est le nombre de liens ède pattesè que l'on peut tirer d'un module et non les terminaisons èliensè de la puce qui limite l'interconnexion des VLSI, ça cause de la diæçerence d'çechelle entre ces deux niveaux ë75, p. 141ë. Comme la surface des circuits doit ^etre minimisçee pour les raisons çevoquçees ci-dessus, la portion rçeservçee aux communications externes ne

8 Chapitre 1. Des circuits VLSI aux machines parallçeles peut ^etre augmentçee sans entra^çner des pertes de performances globales du circuit. Un transistor de technologie MOS èmetal Oxyde Semiconductorè peut changer d'çetat en 0; 10 ns, mais si l'on ajoute quelques centaines de microns sur sa ligne de connexion, ce dçelai est augmentçe de plusieurs nanosecondes ë69ë! De plus, la diæçerence d'çechelle entre puce et carte impose aussi l'ampliæcation des signaux qui doivent sortir de la puce : le dçelai d^u ça cette ampliæcation est du m^eme ordre qu'une pçeriode de l'horloge interne du circuit ë76ë. Parmi ces pattes en nombre limitçe, une grande partie est rçeservçee ça la connexion avec la mçemoire externe du processeur et une autre partie ça la transmission des signaux utiles au systçeme et ça la synchronisation des processeurs entre eux. Il reste donc un nombre trçes limitçe de pattes pour rçealiser les liens de communication entre processeurs ë19ë. Ceci explique en partie la prçefçerence pour les liens ç sçerie ç, oçu l'on transmet une suite de bits sur une patte, aux liens parallçeles oçu l'on transmet des mots, mais sur un nombre de pattes çegal ça la taille du mot èsans compter les signaux de contr^ole de la transmission : paritçe, accusçe de rçeception,...è. Il faut aussi trouver un çequilibre entre le nombre de liens par nçud et la largeur èbande passante unitaireè de ces liens. La bande passante d'un lien correspond au nombre maximum d'octets transitant sur ce lien par unitçe de temps, ou par cycle d'horloge. De façcon plus concrçete, vaut-il mieux construire une machine avec un rçeseau en hypercube et des liens d'un bit de large ou bien une machine avec un rçeseau en grille, et donc un diamçetre èdistance maximale entre deux nçuds quelconques du rçeseauè plus grand, mais avec des liens de 16 bits de large? Des çetudes mençees par Dally ëë montrent que sous certaines hypothçeses, les rçeseaux en grille de faibles dimensions sont plus performants que les hypercubes pour un m^eme nombre de processeurs. Pour cette comparaison, Dally normalise la taille des canaux de communication par rapport ça la bissection ènombre minimum de liens qu'il faut couper pour partager le rçeseau en deux parties ayant le m^eme nombre de nçudsè du rçeseau considçerçe. Il montre que, pour 56 processeurs, la grille ça deux dimensions est optimale. Cependant, cette çetude porte sur les grilles multidimensionnelles èk-ary-n-cubesè et ne prend pas en compte des rçeseaux moins courants comme les rçeseaux de De Bruijn ou les rçeseaux cubeconnected-cycles, qui oærent pourtant un faible diamçetre pour un degrçe ènombre de liensè constant. Si l'on augmente considçerablement le nombre de processeurs, le diamçetre rçesultant va augmenter de façcon dçefavorable dans le cas des grilles. Par exemple, pour un peu plus d'un million de processeurs è 0 èetunnombre de liens par processeur çegal ça 4, il faut traverser au plus 0 nçuds dans un De Bruijn Bè; 0è, et 048 dans une grille carrçee 104 æ 104 pour joindre deux nçuds quelconques! Certains travaux rçecents èë15, 14, 73ëè ont montrçe que la rçealisation d'un rçeseau de processeurs avec une topologie de De Bruijn çetait possible. Un dçecodeur de codes de Viterbi açetçe rçealisçe dans le cadre de la mission Galileo pour la NASA.

1.3. Nçecessitçe d'une mçemoire distribuçee 9 Le rçeseau utilisçe est un graphe de De Bruijn Bè; 13è dont chaque nçud est un circuit arithmçetique çelçementaire du dçecodeur. Dans une rçealisation plus gçençerale, un nçud pourrait ^etre un vrai processeur de calcul. D'ailleurs, on a aæaire ici plus ça une vçeritable machine MIMD qu'ça un simple dçecodeur, car chaque circuit possçede sa propre horloge et sa propre mçemoire. La construction est modulaire, et est composçee de 16 cartes. Chaque carte comporte 16 puces, une puce implantant 3 ç papillons ç èopçerations çelçementairesè. Il suærait de dupliquer les cartes pour obtenir un rçeseau plus grand. Pour ce qui est des connexions, 56 è sont internes èentre ç papillons ç de la m^eme puceè, 17 è sont sur une m^eme carte èentre des puces reposant sur la m^eme carteè et 7 è sont entre des cartes diæçerentes. Si le rçeseau çetait une grille, on aurait de façcon çequivalente des valeurs de 8 è, 14 è et 4 è, qui sont meilleures dans l'absolu, mais pour dçecoder des donnçees sur une grille, il y aurait beaucoup plus d'çechanges de donnçees. Dans les deux cas, on a le m^eme degrçe pour les nçuds ènombre de liensè. Quoi qu'il en soit, les rçeseaux de faible degrçe semblent^etre les meilleurs candidats pour interconnecter un trçes grand nombre de processeurs dans une machine parallçele. 1..3 Densitçe du rçeseau et bande passante globale Pour comparer l'eæcacitçe des rçeseaux, il faut çegalement tenir compte de la longueur des liens requise par leur implantation physique. Cette longueur intervient dans le dçelai de transmission d'un message entre deux nçuds voisins du rçeseau. Pour des liens ç trçes courts ç on considçere que le dçelai est constant ; si le lien est simplement ç court ç, le dçelai est une fonction logarithmique de la longueur ; s'il estç long ç, le dçelai devient une fonction linçeaire de cette longueur. Les notions de ç trçes court ç, ç court ç et ç long ç dçependent delatechnologie ë1ë. Les co^uts de communication dçependent aussi de la densitçe des liens du rçeseau. Une mesure de cette densitçe des liens est donnçee par une analyse ça bissection constante ë75, p. 143ë. 1.3 Nçecessitçe d'une mçemoire distribuçee Plus la mçemoire est grande, plus le dçelai moyen d'accçes aux donnçees est important. La technique employçee pour diminuer ce temps d'accçes est basçee sur l'utilisation de caches èun cache est une mçemoire intermçediaire ça accçes trçes rapide et de faible taille, qui est placçee entre le processeur et la mçemoire. On parle aussi d'antçemçemoireè encapsulçes avec le CPU èunitçe de traitement ou Central Processing Unitè dans la m^eme puce. Cela est rendu possible par l'intçegration d'un plus grand nombre de transistors dans les puces. Parfois, on utilise plusieurs niveaux de caches entre le processeur et la mçemoire ë44ë. Cependant, la

10 Chapitre 1. Des circuits VLSI aux machines parallçeles taille adressable directement par un processeur reste faible si l'on veut garder un temps de cycle rçeduit. Cela implique l'utilisation d'une mçemoire distribuçee. 1.3.1 Les machines parallçeles ça mçemoire distribuçee L'utilisation ou non de ce concept dans les machines parallçeles a coupçe les machines parallçeles en deux familles : les machines ça mçemoire distribuçee et les machines ça mçemoire partagçee. Sur les machines ça mçemoire partagçee, les processeurs accçedent tous ça une mçemoire commune, par l'intermçediaire du rçeseau d'interconnexion qui gçere les accçes concurrents ça la mçemoire. Au contraire, sur les machines ça mçemoire distribuçee, chaque processeur possçede sa propre mçemoire, les çechanges de donnçees entre processeurs s'eæectuant par çechange de messages sur le rçeseau d'interconnexion. Aujourd'hui, en raison des co^uts trop çelevçes et de la complexitçe de rçealisation des mçemoires partagçees, èil est trçes diæcile de gçerer une mçemoire partagçee ça laquelle pourraient accçeder plusieurs dizaines de processeursè, de nombreux constructeurs ont optçe pour le ç distribuçe ç. Notons que ce choix pourrait ^etre remis en cause en raison d'çevolutions technologiques, mais semble le plus ça m^eme, pour l'heure, de rçepondre au dçeæ que reprçesente une vitesse de calcul du TeraFlop. 1.3. Modçelisation d'un nçud Les ordinateurs parallçeles sont composçes de plusieurs unitçes de calcul dupliquçees pouvant participer ça plusieurs applications diæçerentes. De fait, les unitçes de calcul ne sont pas les seules ça ^etre dupliquçees, toutes les autres unitçes nçecessaires au fonctionnement d'un processeur peuvent l'^etre çegalement. Nous appellerons nçud, tout ensemble d'unitçes èprocesseurs, registres, horloges, mçemoire locale, etc.è qui est dupliquçe au sein de la machine. Les çechanges de donnçees entre les nçuds s'eæectuent en utilisant les liens d'un rçeseau d'interconnexion, cela nçecessite de trouver sur chacun des nçuds un ensemble d'unitçes nçecessaires aux communications. Un nçud pourra donc ^etre constituçe des çelçements suivants : í unitçe de calcul scalaire ; í unitçe de calcul æottant èparfois vectoriellesè ; í unitçe de contr^ole èsçequenceur, etc.è ; ímçemoire locale ; í horloge interne ; í liens de communication ; í unitçes de gestion des messages, etc.

1.3. Nçecessitçe d'une mçemoire distribuçee 11 il existe des nçuds encore plus complexes, intçegrant des mçemoires Aujourd'hui et un analyseur de performances. Celui-ci enregistre certains çevçenements caches se dçeroulent sur le nçud èaccçes mçemoire, communications, etc.è. Ceci permet qui visualiser sur un çecran le dçeroulement du programme en chaque nçud du de Les mçemoires caches de donnçees et d'instructions sont des organes de rçeseau. ça accçes trçes rapide, mais de faible capacitçe, dans lesquels sont stockçees mçemoire informations trçes souvent utilisçees ou que l'on va utiliser immçediatement. Ils des de tampons entre la mçemoire principale d'accçes plus lent et le processeur servent rapide. Sans ces caches il faudrait attendre plusieurs cycles pour charger les plus dans les registres du processeur. donnçees un exemple de type de nçud que l'on peut trouver sur les machines Voici ça mçemoire distribuçee. parallçeles Fig. 1. abus de langage, on assimile un nçud ça un processeur, surtout lors de Par description des algorithmes sur ces machines. Cependant un nçud peut com- la plusieurs processeurs èces processeurs communiquant via leur mçemoire porter par exemple la Concerto et le Cray T3Dè, ou encore en simuler un commune, Unitçe arithmçetique et logique et Unitçe æottante Service de routeur systçeme Mçemoire Horloge Cache de donnçees et instructions Bus ou Cross bar canal 0 canal 1.. lien 0 lien 1 canal n lien n Interface avec la Analyseur de mçemoire performances : Synopsis de nçud. grand nombre, on parle alors de processeurs virtuels.

1 Chapitre 1. Des circuits VLSI aux machines parallçeles 1.3.3 Les diæçerents types de rçeseaux Pour rçealiser les communications entre les nçuds, il existe deux types de rçeseaux : í Point-ça-point:chaque nçud peut communiquer directement avec ses voisins èqui sont les nçuds avec lesquels il est physiquement reliçeè. Pour communiquer avec des nçuds ça une distance supçerieure, le message doit passer par une sçerie de nçuds intermçediaires. í Multi-çetages : ces rçeseaux sont constituçes de nçuds tels que ceux dçecrits ci-dessus, et d'unitçes dçediçees aux communications. Ces derniçeres sont gçençeralement des commutateurs èswitchesè. Elles servent soit ça acheminer les messages entre les unitçes de calculs dans les machines ça mçemoire distribuçes, soit ça acheminer les messages entre les unitçes de calculs et la mçemoire dans les machines ça mçemoire partagçee. Il existe d'autres types de rçeseaux. En particulier, les rçeseaux conægurables, oçu la topologie n'est pas ægçee et peut ^etre dçeænie en fonction de l'application par l'utilisateur. Si de plus, cette topologie est modiæable en cours d'exçecution du programme, elle est dite reconægurable. Dans les deux cas, une fois la machine conægurçee, elle se comporte comme une architecture point-ça-point. Les temps de conæguration restant encore çelevçes, ce type de machine n'a pas çetçe retenu actuellement pour la conception de machines massivement parallçeles. 1.4 Architectures des processeurs Le temps moyen d'exçecution T d'un programme sur un processeur est donnçe par : NIæ NCæTC ë37ë, oçu NI est le nombre d'instructions machine qui constituent le programme, NC le nombre de cycles d'horloge nçecessaires en moyenne pour exçecuter une instruction, et TC le temps de cycle de l'horloge du processeur. Lors de la conception d'une architecture, on vise ça minimiser cette fonction. Les types d'architectures les plus employçees dans les processeurs actuels sont: RISC, pipeline, superpipeline, superscalaire et VLIW. Nous donnons dans la suite les caractçeristiques principales de ces divers types d'architectures. í RISC : les annçees 80 ont vu l'apparition des architectures RISC èreduced Instruction Set Computerè ë37ë. L'objectif de ces architectures est de pouvoir exçecuter une instruction par cycle ènc = 1è. Dans les architectures de la gçençeration prçecçedente ècisc : Complex Instruction Set Computerè, le jeu d'instructions proposçe çetait trçes çetendu, et ceci avait au moins deux consçequences : í les compilateurs avaient des problçemes pour exploiter au mieux ce jeu d'instructions è90 è du temps çetait consacrçe ça l'utilisation d'un en-

1.4. Architectures des processeurs 13 semble d'instructions reprçesentant seulement 10 è du jeu total d'instructionsè. í la partie contr^ole du processeur çetait microprogrammçee, et utilisait une surface importante du composant è60 è dans le cas du 68000 de Motorolaè. Au contraire, le RISC a un jeu d'instructions plus rçeduit, ce qui permet un contr^ole c^ablçe plus rapide ècela consiste en un automate ça nombre æni d'çetatsè, et la surface ainsi libçerçee permet d'implanter des caches plus grands. De plus, les modes d'adressage plus simples èdu type registre ça registre au lieu de registre ça mçemoireè autorisent l'implantation de pipelines d'instructions. í Pipeline : le principe consiste ça dçecomposer les instructions en n phases de longueur çegale ça un cycle ë53ë. Ainsi, on peut exçecuter n instructions simultançement. Pendant un cycle d'horloge, la phase k de l'instruction i est exçecutçee en m^eme temps que la phase k, 1 de l'instruction i + 1,... Par exemple, dans le cas du processeur MicroSparc de Sun, ces phases sont, pour une instruction simple èen un cycleè : 1. lecture de l'instruction pointçee par le compteur de programme ;. dçecodage, lecture des opçerandes et mise ça jour du compteur de programme ; 3. exçecution de l'instruction par l'unitçe arithmçetique et logique ; 4. rangement durçesultat. Chaque circuit qui exçecute une phase d'une instruction est appelçe çetage du pipeline. Dans l'exemple dçecrit ci-dessus, le pipeline possçede quatre çetages. On parlera aussi d'un pipeline de profondeur quatre. Le bon fonctionnementdupipeline peut ^etre perturbçe par des interruptions, mais surtout par des conæits d'accçes aux donnçees, des dçependances de donnçees ou des sauts dans le programme èrçesolus en partie par anticipationè. í Superpipeline : en subdivisantça l'extr^eme les phases çelçementaires dans un pipeline, on obtientunpipeline plus profond dontchaque phase est plus æne, ce qui permet d'augmenter la vitesse d'horloge du processeur èpar exemple l'alpha de DECè. í Superscalaire :ce type d'architecture se trouve sur les processeurs possçedant plusieurs unitçes de traitement pouvant opçerer simultançement. Typiquement un processeur superscalaire possçede une unitçe entiçere et une unitçe æottante.

14 Chapitre 1. Des circuits VLSI aux machines parallçeles Une architecture superscalaire nçecessite de fournir les instructions aux unitçes de traitement avec un dçebit suæsant pour exploiter pleinement le parallçelisme. Ceci est automatique si chaque unitçe est lente, mais si les unitçes sont rapides è1 cycle par opçerationè il faut lire et dçecoder plusieurs instructions par cycle èsans compter la recherche en mçemoire et le chargement des opçerandesè. Ceci peut ^etre rçealisçe de diæçerentes façcons : í 1è VLIW : dans le VLIW èvery Long Instruction Wordè chaque mot d'instruction est divisçe en champs, chaque champ codant l'instruction d'une unitçe. Cette technique est trçes en vogue dans les processeurs destinçes au traitement du signal èpar exemple les DSPè. Ce type de technique correspond ça une programmation trçes proche du matçeriel. íèmultiplication des caches et des ports internes : en utilisant un cache d'instructions, un bus interne çelargi et des caches de donnçees ça accçes multiples, il est possible de lire et de coder plusieurs instructions avec leurs arguments dans un seul cycle d'horloge. Par exemple, le T9000 lit sur 3 bits quatre instructions de 8 bits. 1.5 Performances des machines Les performances de cr^ete d'une machine sont obtenues lors de l'utilisation optimale de celle-ci, c'est-ça-dire en utilisant au mieux les mçemoires caches, les registres, les unitçes de calculs æottants, et en n'utilisant pas ou peu de communications. Les performances de cr^ete sont impossibles ça atteindre en pratique, la compilation d'applications rçeelles ne permettant pas l'utilisation optimale des ressources. Les compilateurs de langages de haut niveau ècomme C, Fortranè donnent en gçençeral des performances bien en-dessous de celles annoncçees par les constructeurs èc'est un phçenomçene bien connu pour le i860 ou l'alphaè, et de plus, la plupart des algorithmes parallçeles nçecessitent de nombreuses communications qui limitent les performances. Mots clçes pour l'çetude des performances í MFlops èmillion of Floating point operations per secondè : million d'opçerations æottantes eæectuçees en une seconde ènotons que M est aussi l'initiale de Megaè. Actuellement, on mesure plut^ot le nombre d'opçerations en GFlops, ce qui correspond au milliard d'opçerations æottantes par seconde èg pour Gigaè. La prochaine çetape sera le TFlops qui correspondra au millier de milliards èou billionè d'opçerations æottantes par seconde èt pour Teraè. í MIPS èmillion of Instructions Per Secondè : million d'instructions rçealisçees en une seconde. De m^eme, il existe le GIPS et le TIPS.