• Aucun résultat trouvé

3.3 Analyse du modèle architectural de mppSoC

3.3.2 Aspect paramétrique et flexible

La flexibilité est définie comme la facilité ou la possibilité d’adaptation du système aux besoins applicatifs. Elle est obtenue grâce à l’utilisation de modèles génériques et paramé-triques et grâce à la modularité et la méthode de conception suivie. Il n’est pas toujours pos-sible de prévoir toutes les configurations qu’un système devra avoir pour prendre en charge diverses applications. Néanmoins, on pourra satisfaire une large variété d’applications en assurant un minimum de flexibilité.

3.3.2.1 Paramétrisation de mppSoC

MppSoC est paramétrique en termes de nombre de PEs intégrés et la taille des mémoires. Une application peut par exemple nécessiter un grand nombre de PE avec une petite taille mémoire ou bien un petit nombre de PE avec une grande taille mémoire. Les PEs peuvent être agencés en réseau linéaire ou en grille 2D. Si on considère le traitement d’images, il est clair que les données dans ces algorithmes s’expriment bien sous forme d’une matrice. Par conséquent, une grille 2D de PEs semble être la mieux adaptée à la structure d’une image. Par contre, si on se place dans le cas d’un traitement de signal radar, un arrangement li-néaire serait plus efficace puisqu’on manipule un tableau de données. Le fait de pouvoir incrémenter le nombre de PEs ainsi que la taille des mémoires fait que le système mppSoC est extensible. Ceci permet d’adapter le modèle mppSoC à des applications de différentes tailles et complexités. La principale restriction d’extensibilité de mppSoC est la disponibilité des ressources au sein d’un circuit FPGA puisqu’on cible une implémentation sur une seule puce.

Le besoin de la paramétrisation de la taille des mémoires vient aussi du fait que la taille de données à traiter dans une application de TSS est variable d’une application à une autre. Les données peuvent être des données binaires, de type caractère, des entiers signés ou non signés, des couleurs codées sur 24 bits, etc. La variété de ces données demande à pouvoir gérer la taille des mémoires afin d’assurer l’efficacité du système.

PE1 PE2 PE3 PE4 PE1 PE2 PE3 PE4 PE1 PE2 PE3 PE4

Maille Tore Xnet

PE4

PE1 PE2 PE3 PE1 PE2 PE3 PE4

Linéaire Anneau

FIGURE3.4 – Topologies du réseau de voisinage 3.3.2.2 Flexibilité de mppSoC

On entend par flexibilité la possibilité de supporter une variété d’applications avec des performances intéressantes. La flexibilité de mppSoC est assurée par sa paramétrisation ainsi que sa facilité de configuration. Elle reste néanmoins limitée par les paramètres définis et les possibilités d’intégration fournies.

MppSoC se caractérise par une flexibilité de communication qui peut varier selon les besoins. En effet, ses réseaux de communication peuvent être de différents types étant donné que :

– le réseau de voisinage : peut avoir une topologie configurée selon les besoins. Dif-férentes topologies, présentées dans la figure 3.4 peuvent être choisies à savoir une topologie anneau ou linéaire dans le cas d’un réseau linéaire de PEs ou bien maille, tore ou Xnet (grille régulière offrant à chaque PE des communications directes avec ses voisins situés sur les diagonales) dans le cas d’une grille 2D de PEs.

– le réseau mpNoC : se base sur un réseau d’interconnexion afin d’assurer les communi-cations irrégulières. Ce réseau peut varier aussi selon les contraintes et besoins et peut aller d’un simple bus hiérarchique jusu’au réseau multi-étages.

Rendre le réseau de voisinage configurable selon les besoins a de grands avantages. En effet, la topologie du réseau d’interconnexion qui relie les PEs entre eux est un critère impor-tant. Le réseau de voisinage est un composant particulièrement critique dans la réalisation d’une machine parallèle. Étudier la parallélisation d’un algorithme donné ainsi que les com-munications nécessaires entre ses différentes parties permet de choisir le réseau le plus adé-quat. Dans ce contexte, différentes topologies pour les architectures parallèles se présentent : maille, tore, anneau, réseau linéaire, pyramide, hypercube, etc. La connexion d’une commu-nication locale occupe un pourcentage très significatif de la surface de silicium. Cela limite le nombre de processeurs. Cette raison fait qu’une topologie simple et régulière est en général retenue. Le tableau 3.1 résume les différences entre les topologies régulières extensibles les plus utilisées. Nous nous sommes intéressés aux topologies faisables pour un arrangement de PEs en grille 2D ou en ligne. Dans le tableau 3.1, les Nkcorrespondent au nombre de pro-cesseurs dans la dimension k. La fonction E() est la fonction partie entière. Pour l’arbre, n

3.3 Analyse du modèle architectural de mppSoC 47

TABLE3.1 – Caractéristiques des topologies régulières extensibles

Topologie Processeurs Liens Routages Connexions

par processeur maximum ou degré ou diamètre Linéaire N 1 à 2 N-1 N-1 Anneau N 2 N2 N Maille ∏2 k=1Nk 2 à 4 ∑2 k=1Nk−2 2.∏2 k=1Nk−∑2 k=1Nk Tore ∏2 k=1Nk 4 ∑2 k=1E(Nk 2 ) 2.∏2 k=1Nk Xnet ∏2 k=1Nk 3 à 8 Nk-1 2.∏2 k=1Nk−∑2 k=1Nk+2 si Nk =2 2.∏2 k=1Nk−∑2 k=1Nk +2.∑2 k=1(Nk−1) si Nk >2 hypercube nD 2n n n n.2n1 octagon 8 3 2 12 arbre(n,p) ∑kp=0k.n+1 1 ou n p ∑kp=0kn

représente le nombre de branches et p représente la profondeur de l’arbre. L’arbre est sup-posé homogène et équilibré. Nous remarquons directement que la topologie octagon n’est pas appropriée dans notre cas. La topologie arbre a l’inconvénient de présenter une forme tri-angulaire qui croît en N log N. La congestion est aussi un obstacle à l’utilisation de ce réseau. Structure simple et proche de beaucoup d’applications (traitement d’images par exemple), la grille (maille/tore) a été très usitée dans la conception des machines massivement paral-lèles. Son succès s’explique parce qu’elle est caractérisée par un diamètre raisonnable et une parfaite extensibilité. La topologie hypercube est également populaire. Par contre, l’exten-sibilité des machines construites à partir d’un hypercube est moins aisée qu’avec les struc-tures précédentes. D’une part, dans un hypercube le nombre de processeurs est toujours une puissance de 2, et il faut donc au moins doubler le nombre de processeurs pour augmenter la taille du réseau. D’autre part, le degré n’est pas fixe et est égal à la dimension de l’hypercube, ce qui en fait une topologie plus difficilement extensible. La topologie Xnet a été choisie vue sa popularité et efficacité dans la machine MasPar.

Rout-eur IN Rout-eur OUT Commutateur Arbitre S o u rc e s D e st in a ta ir e s Liens d’interconnexions S o u rc e s D e st in a ta ir e s S o u rc e s D e st in a ta ir e s

Bus Crossbar Multi-étages

Étages de commutateurs D e st in a ta ir e s D e st in a ta ir e s

FIGURE3.5 – Types de réseaux d’interconnexion du mpNoC

Les topologies engendrées par un réseau matriciel (maille, tore, Xnet) forment un choix très apprécié aussi bien pour leur simplicité et leur faible coût que par la possibilité de mettre en œuvre diverses applications. Les réseaux linéaires (linéaire et anneau) sont un cas particulier des réseaux bidimensionnels. Ces cinq topologies ont été retenues pour configurer automatiquement le réseau de voisinage de mppSoC.

Concernant le mpNoC, un parmi trois types de réseaux d’interconnexion dynamiques peut être choisi directement pour implémenter une configuration mppSoC. Les réseaux dy-namiques sont en effet des réseaux dont on peut changer la topologie de communication en cours d’exécution des programmes ou entre deux exécutions de programmes. Contraire-ment aux réseaux statiques qui présentent une topologie fixe, les réseaux dynamiques sont beaucoup plus souples à manier. Les réseaux possibles de mpNoC sont au nombre de trois classés par ordre croissant de coût et de performance comme suit :

– un bus hiérarchique ;

– un réseau multi-étages de type Delta (multistage) ; – un réseau matriciel (crossbar).

Ces différents réseaux se diffèrent par un certain nombre de paramètres à savoir : le débit et la latence, la surface, la flexibilité, la fiabilité et la topologie. Selon les contraintes de coût et de performance, le concepteur peut choisir le réseau le plus adapté à ses besoins (voir figure 3.5). Le tableau 3.2 récapitule les principales propriétés des trois réseaux. En effet, lorsque la complexité du traitement à réaliser est limitée avec un nombre de PE faible et que le taux d’utilisation du bus par les PEs n’est pas trop élevé et ne nécessite pas des transferts pa-rallèles de données, un réseau en bus ne pose pas de problèmes particuliers. Il est de plus simple et relativement peu coûteux. Par contre, lorsque les contraintes sont plus exigeantes et donc que le nombre de PEs augmente ainsi que leur taux d’utilisation du bus, il se pro-duit un problème de goulot (bottleneck). Celui-ci résulte du fait que seulement deux éléments

3.3 Analyse du modèle architectural de mppSoC 49

TABLE3.2 – Comparaison entre les réseaux : bus, crossbar et MIN

Réseau Propriétés Nature Nombre Nombre

de commutateurs de liaisons

Bus extensible en terme bloquant 0 o(n)

de coût, pas en termes de performances

Crossbar extensible en termes non bloquant o(n2) o(2n) de performances, pas

en terme de coût

MIN solution intermédiaire bloquant o(n log n) o(n log n)

peuvent communiquer entre eux à chaque instant. Le bus a aussi une bande passante limi-tée. Si la conception d’une machine parallèle à base de bus est plus aisée, elle ne permet cependant pas d’atteindre un degré élevé de parallélisme. Le partage du bus exige en effet un arbitrage et devient rapidement un goulot d’étranglement.

Vu les limites du bus, nous avons pensé à intégrer un réseau de commutation non blo-quant tel que le crossbar au sein du mpNoC. C’est un réseau à un étage qui permet de relier simultanément n’importe quelle paire de nœuds inoccupés après un délai de commutation fixe et indépendant du nombre de nœuds dans le réseau. Ce réseau est performant puis-qu’il n’a pas le problème de congestion tel est le cas du bus. Cependant, son inconvénient est le coût très élevé de sa programmation matérielle sur la puce. Il est donc difficilement extensible car ce coût croît avec le nombre de nœuds (n) nécessaires soit en O(n2). Dans un système bâti autour d’un réseau crossbar, dit fortement couplé, le degré de parallélisme reste faible : le nombre maximal de processeurs est de l’ordre de la centaine.

Dans le contexte d’un système massivement parallèle, les réseaux multi-étages, dénotés MIN, présentent une solution intermédiaire entre les réseaux en bus et les réseaux crossbar. Ils sont proposés afin de connecter un grand nombre de processeurs. Les réseaux multi-étages sont des réseaux crossbar non complètement connectés. Ils essayent donc de s’appro-cher autant que possible des performances du réseau crossbar tout en nécessitant beaucoup moins de commutateurs mais plus de liaisons et plus de temps de traversée. Dans un tel réseau, le nombre de commutateurs est d’ordre (N log2N), comparé à N2 pour le crossbar. Ces réseaux emploient des crossbars de tailles restreintes et les arrangent pour obtenir l’in-terconnexion d’un grand nombre d’éléments. Ils peuvent également fournir d’autres pro-priétés comme la limitation du nombre de transistors pour réduire le coût de fabrication. Notre travail s’est concentré par un type bien connu de ces réseaux multi-étages, nommé réseaux Delta [83]. La figure 3.6 montre une classification des réseaux MINs. Les réseaux Delta appartiennent à la classe des réseaux Banyan. Ces interconnexions sont utilisées de-puis longtemps dans les super-calculateurs parallèles haut de gamme [98]. Nous distinguons trois types de réseaux Delta : omega, baseline et butterfly. Tous ces réseaux sont équivalents du point de vue topologique. Il suffit de réordonner les positions des commutateurs sans rompre les connexions pour passer d’un réseau à un autre. Dans un réseau multi-étages, les commutateurs sont assemblés sous forme d’un tableau rectangulaire dont les lignes corres-pondent au nombre de PEs et les colonnes correscorres-pondent au diamètre D du réseau qui sert de base (voir figure 3.7). Il est à remarquer que le temps de traversée d’un réseau dynamique est fixe (il est égal à D*Ts où Tsest le temps de traversée d’un commutateur). Il ne dépend

Réseaux multi-étages

Réseaux bloquants Réseaux non bloquants

Réseaux Banyan Réseaux non Banyan

Réseaux Delta Réseaux non Delta

Omega Butterfly Baseline

FIGURE3.6 – Classification des réseaux MINs

FIGURE3.7 – Structure de commutateurs formant un réseau MIN-oméga

donc pas de la distance entre la source et la destination contrairement à ce qui se passe géné-ralement sur un réseau statique non complètement connecté. Ceci est un avantage en mode SIMD vu qu’il y a une préservation de la synchronisation.

Il serait intéressant d’adapter le choix du réseau d’interconnexion (parmi les trois cités précédemment) en fonction des besoins de l’application, de la taille de la grille de PEs uti-lisée ainsi que de l’espace disponible sur la puce. Il est à noter que le modèle mppSoC ne se limite pas aux différents types de réseaux proposés (voisinage et mpNoC). Le concepteur peut intégrer le réseau de voisinage de son choix (avec une autre topologie) ainsi qu’un autre réseau d’interconnexion avec le mpNoC (ne figurant pas dans les réseaux listés précédem-ment). Pour ce fait, il doit respecter l’interface requise par mppSoC pour une intégration directe avec le reste de l’architecture. Cette liberté favorise encore la flexibilité du modèle mppSoC.