FR 2675923 A1 19921030 FR 9105100 A 19910425 ARCHITECTURE DE SYSTEME INFORMATIQUE MASSIVEMENT PARALLELE. Introduction La présente description concerne l'architecture d'un système informatique basée sur la mise en parallèle de processeurs classiques. Il existe actuellement cinq grandes tendances concernant la mise en commun de la puissance de traitement des processeurs (figure 1), leur but étant essentiellement d'obtenir, dans la mesure du possible, l'addition (ou l'accumulation) des puissances de traitement réparties sur chaque unité. Ces architectures vont de l'interconnexion des grands systèmes (figure 1.I) jusqu'à la réalisation des machines massivement parallèles à grains très fins (figure 1.V). Dans les modèles intermédiaires, on trouve des systèmes informatiques basés sur l'assemblage des cartes électroniques (figure 1.il), des réseaux de microordinateurs (figure 1.III) et des systèmes basés sur la mise en commun des micro processeurs classiques (figure 1.IV). L'architecture de système parallèle, objet de cet exposé, fait partie du quatrième groupe. Pour chacune des cinq tendances d'architectures, on considère que l'un des problèmes fondamentaux réside dans la définition d'un modèle d'interconnexion des éléments répartis. Le dispositif, selon l'architecture exposée, permet, par un agencement particulier des ses éléments, une nette amélioration des communications qui existent au sein d'un système parallèle. Ainsi, il devient possible de constituer un système parallèle de taille importante, ensuite d'exploiter pleinement la puissance totale d'un tel ensemble. Description générale d'un système parallèle Dans le domaine des systèmes informatiques parallèles, une définition complète passe par la mise en évidence des trois entités suivantes (i)- La description globale du système (ses limites physiques ou spatiales, énumération de son étendue). (ii)- La description des composantes du système (définition du concept de la taille du grain). (iii)- La modélisation de l'interconnexion de ses éléments (autrement dit, la topologie de l'ensemble). Dans la suite de l'exposé, cette division a été retenue. Figure 1 : Représentation de la classification générale et des tendances actuelles des systèmes informatiques parallèles. Figure 2 : Présentation de la notion de tronçon et la connexion de cellules à un CAD (BUS) parallèle. Figure 3 : Présentation d'un bloc élémentaire de 64 cellules (matrice de 8 X 8). Figure 4 : Illustration détaillée d'un bloc élémentaire de 8 X 8 cellules (dessin allégé). Figure 5 : Un système parallèle composé de 256 processeurs par l'assemblage de 4 blocs de 64 processeurs. Figure 6 : Représentation d'une cellule, avec son processeur principal, le routeur et le contrôleur de CAD. Figure 7 : Illustration des cycles au sein d'un bloc de 64 cellules. Figure 8 : Dessin permettant de voir la succession des événements qui se déroulent pendant une phase de communication. La description globale du système parallèle Le système parallèle est un ensemble informatique homogène composé de cellules autonomes et interconnectées. Le premier niveau de groupage des cellules constitue les blocs élémentaires. 1-1 Définition du terme "cellules autonomes" : c'est une structure informatique proche d'une station de travail ou d'un micro-ordinateur personnel avec des fonctionnalités réduites. 1-2 Définition du mot "interconnectées" : qui consiste en une description de la topologie de l'interconnexion et la nature de l'acheminement des données (qui constitue l'essentiel de cet expose). 1-3 Le système parallèle est composé de plusieurs cellules dont le nombre Cn est, d'une façon très générale, donné par l'expression suivante Cn = rt X (2P avec r et n où, Cn = le nombre total de cellules du système r = nombre de cellules dans une matrice ou un bloc avec 8( r 416 (à titre d'exemple, on posera r = 8) n = un nombre entier quelconque compris entre Ofn #5 1-4 Dans la pratique, la taille du système parallèle est une des lignes du tableau suivant. Dans ce tableau, on pose r = 8. modèle nombre de i nombre de le système est processeurs blocs de 64 une matrice de processeurs B1 - 64 1 n=O i 8 x 8 B4 256 4 n=1 16 X 16 B16 1024 16 n=2 32 X 32 B64 4096 64 n=3 64 X 64 B256 16384 256 n=4 128 X 128 B1024 65536 1024 n=5 256 X 256 /processeurs /blocs /processeurs 1-5 Le système parallèle est un assemblage de 1 à 1024 blocs élémentaires, chaque bloc étant constitué de r X r processeurs (64 minimum). Le paramètre r est un élément clé; en effet, il désigne le nombre de processeurs montés en parallèle sur un même CAD (=BUS) physique (figure 2). Dans la suite, ce groupage est appelé un "tronçon". Dans un système parallèle, il en existe deux types identiques: les tronçons verticaux et les tronçons horizontaux. 1-6 Sur le dessin de la figure 2, on constate deux ouvertures Oa et Ob partant des cellules situées aux bords du bloc. Ces tronçons sont du même type (et de même constitution) que les tronçons centraux. 1-7 En d'autres termes et pour lever toute ambiguïté, un tronçon est constitué de l'attachement en parallèle de r cellules sur un même CAD parallèle dont la description détaillée est donnée dans la suite. 1-8 Le plus petit élément du système parallèle est constitué d'un bloc en une grille bi-dimensionnelle de rXr cellules. La figure 3 illustre un bloc de 64 cellules. 1-9 La synthèse des définitions des paragraphes 1-5, 1-6, 1-7 et 1-8 nous donne un ensemble minimum de 64 processeurs montés en grille bi-dimensionnelle à travers une interconnexion (ou chemin d'acheminement des données) parallèle (figure 4). Cette figure est allégée et réduite à un ensemble de 9 processeurs alors qu'elle représente un bloc de 64 processeurs. 1-10 Les modèles de système parallèle proposés au paragraphe 1-4 sont constitués d'un multiple des blocs de 64 processeurs. La figure 5 illustre un exemple de système de 256 processeurs par l'adjonction de 4 blocs élémentaires de 64 processeurs chacun. 1-11 D'après le dessin de la figure 4, on constate qu'il existe 3 types de cellules différentes. (i) Cellules qui gèrent 4 CAD (situées aux 4 coins d'un bloc). (Figure 4, élément noté 1). (ii) Cellules qui gèrent 3 CAD (situées sur les bords d'un bloc, sauf aux coins). (Figure 4, élément 2). (iii) Cellules qui ne gèrent que 2 CAD (toutes celles qui ne rentrent ni dans la définition (i), ni dans la définition (ii) ). (Figure 4, élément 3). Dans les trois cas de figure que l'on vient de décrire, il s'agit d'une structure de CAD identique. 2 Les composantes du système parallèle 2- Immédiatement en-dessous de la description du système parallèle, on trouve la définition des cellules à proprement dit. 2-1 Une cellule est le plus petit élément inseccable, autonome et communiquant d'un système parallèle. Un bloc de taille rXr est compose, dans l'exemple donné, de 64 cellules (figure 3). 2-2 Une cellule dispose de 2 fonctionnalités fondamentales (i) La puissance de traitement (au sens informatique du terme, exemple à base de micro processeurs de 8, 16 ou 32 bits). (ii) La gestion des fonctions de routage des informations pour acheminer des données entre les cellules. 2-3 La puissance de traitement est assurée par une unité centrale, un FPU (unite de calcul en virgule flottante), une mémoire vive et une mémoire morte. 2-4 La partie "routeur" est constituée d'un gestionnaire de CAD (gérant 4 CAD au maximum). Le routeur (figure 6, élément 1), d'un point de vue fonctionnel, est situé entre le processeur principal (figure 6, élément 2) de la cellule et le réseau de 4 ou 3 ou 2 CAD, selon le cas (figure 6, élément 3). Les fonctionnalités du routeur peuvent être assurées par un ou plusieurs boîtiers selon la disponibilité et le degré d'intégration envisageables. 2-5 Un routeur assure la gestion des accès au CAD du processeur de la cellule ainsi que l'acheminement des données qui transitent éventuellement par son intermédiaire au sein du système parallèle (figure 6). 3 La description de l'interconnexion Dans cette partie et conformément à la partie "introduction", on expose une description de la connexion parallèle (CAD). 3-1 Le CAD parallèle est composé de deux groupes de signaux. 3-1-1 Signaux véhiculant les données (au nombre de 16 lignes). -DB0 à -DB15 Signaux de données et de commandes. 3-1-2 Signaux de contrôle des activités du CAD, au total 10 lignes. (Signaux actifs à l'état bas, d'où la présence d'un signe de soustraction devant chaque abréviation). -RST Signal de remise à zéro. -INT Signal généré par un routeur pour attirer l'attention des autres routeurs d'un même tronçon. -REQ Signal d'encadrement de transmission des données généré par le routeur destinataire. -ACK Signal d'encadrement de transmission des données généré par le routeur initiateur. -so -S1 Avec le signal S1 ils définissent la nature des signaux présents sur le CAD de données. -BSY Signal d'occupation du CAD. -A Ligne réservée pour les extensions futures. -B Ligne réservée. -C Ligne réservée. Tous ces signaux sont bidirectionnels ( ils peuvent être générés soit par le routeur initiateur, soit par le routeur destinataire). 3-2 Lorsqu'un routeur accède au CAD, il peut soit émettre un message unitaire, de longueur variable, destiné à un autre routeur (message individuel), soit émettre un message pour une diffusion générale (message destiné à l'ensemble des routeurs d'un tronçon). 3-2-1 Les activités relatives à la communication sont indépendantes des activités des processeurs principaux qui constituent le noyau des cellules. 3-3 Description du protocole des échanges sur le CAD (le fonctionnement du CAD). 3-3-1 Le protocole qui gère les échanges est du type déterministe, c'est-à-dire qu'il n'existe pas de collision aléatoire sur le CAD. 3-3-2 A partir de la mise sous tension, le routeur de la cellule 0,0 (cellule placée en haut à gauche de chaque bloc de rXr comme décrit au paragraphe 1-8, voir également les figures 3 et 4) initie un cycle qui est décrit de la façon suivante (i) Un cycle est une suite de séquences d'activités d'accès au CAD (les phases) par les routeurs montés en parallèle sur le-dit CAD. (ii) Chaque routeur accède à son tour au CAD même en l'absence de message à transmettre et passe explicitement le contrôle au routeur suivant. (iii) A la fin de l'accès du dernier routeur d'un tronçon, le contrôle revient vers la cellule (0,0) du bloc. (iv) La cellule (0,0) est chargée d'initier deux cycles indépendants -Un cycle pour le tronçon horizontal. -Un cycle pour le tronçon vertical. (v) Au bout d'un certain temps de fonctionnement, du fait de la taille variable des blocs de données, il n'existe plus de synchronisation possible entre les cycles des divers tronçons (figure 7). Le dessin de la figure 7 illustre un bloc de 8x8 cellules sur lequel il existe 16 cycles indépendants. 3-4 Etude d'une phase Une phase est constituée d'un certain nombre de signaux générés par un routeur pour gagner le contrôle du CAD, transférer des données et en finir en relâchant ledit CAD. Donc une phase est entourée de 2 états du type "CAD libre", situés au début et à la fin de la phase. Schématiquement, la succession des événements est donnée dans le dessin de la figure 8. Les trois colonnes représentent, de la gauche vers la droite, l'activité d'un routeur initiateur, les réactions d'un routeur destinataire et enfin les réactions des autres routeurs présents au même moment sur le CAD. REVENDICATIONS 1- Il s'agit d'un bloc élémentaire d'architecture de système informatique caractérisé, -en ce qu'il se compose d'un certain nombre de processeurs classiques (produits standards couramment disponibles de 8, 16 ou 32 bits) dont le nombre se situe dans une fourchette de 64 à 256 éléments, -en ce que l'agencement de ces processeurs (ou leur positionnement dans l'espace des uns par rapport aux autres) est réalisé sous forme d'une grille bidimensionnelle (c'est-à-dire une matrice), -en ce que les communications entre les-dits processeurs s'effectuent à travers un CAD (=BUS) parallèle. 2- Une architecture de système informatique caractérisée -en ce qu'elle se compose d'un certain nombre de blocs élémentaires conformément à la revendication 1, dont le nombre est compris entre 1 et 1024, -en ce que l'agencement de ces blocs élémentaires constitue une grille bi-dimensionnelle, -en ce que les communications entre ces blocs s'effectuent à travers un CAD parallèle.