• Aucun résultat trouvé

Placement et conditions de placement des modules dynamiques

4.3 Réseaux sur puce reconfigurables

4.3.2 Architecture CuNoC

4.3.2.5 Placement et conditions de placement des modules dynamiques

CuNoC à topologie maillée (mesh)

Le réseau CuNoC est adapté pour le placement dynamique de modules, grâce au calcul de chemin entre un nœud source et un nœud destinataire au cours du fonctionnement du réseau (run-time) et grâce à son algorithme de routage. Les conditions de transmission des paquets de données au sein d’un réseau évoluent au cours du temps puisque d’une part, placement dy-namique de modules peut avoir lieu à chaque instant, d’autre part selon le trafic des routeurs qui sont soit en mode « libre » ou en mode « occupée ». Chaque paquet doit donc « se dé-brouiller » pour atteindre sa destination finale à travers les algorithme de routage et technique d’aiguillage. Néanmoins, en plaçant un module dynamiquement au centre d’un réseau CuNoC, les transferts de paquets entre des modules ayant un échange de communication important avant ce placement dynamique, ne doivent pas être interrompus ou « détériorés ». Pour cela, les pa-quets doivent considérer le module placé dynamiquement comme un obstacle et alors chercher à le contourner en trouvant d’autres chemins menant vers destinations finales. C’est pourquoi, dans le but d’assurer une communication viable et des transfert de paquets efficace entre tous les modules statiques ou dynamiques placés au sein d’un réseau CuNoC, un certain nombre de

règles de placement doit être respecté [JTWB07b] :

Règle No

1 : Chaque module (élément de calcul - PE) doit avoir au moins un accès au

réseau via un des ports parmi ses routeurs avoisinants ou l’entourant.

RègleNo

2: Tous les modules PE communiquent à travers les routeurs CU. Règle No

3 : Les routeurs Unités de communication sont connectées, soit à d’autres

rou-teurs, soit à des PE. Chaque CU est connecté au moins à un routeur de type différent à lui même

(CU classique à un CU « qui-cède-le-passage » et vice versa, voir la figure4.18).

Règle No

4: Chaque module PE est entouré au maximum dans ses quatre directions part

trois modules PE.

Règle No

5 : Tous les modules, placés dynamiquement ou statiquement, étant entourés

dans leurs quatre directions uniquement par les routeurs CU sont toujours joignables (règle

DyNoC [BAM+05]).

RègleNo

6: Entre tous les modules PE, il doit exister au moins un chemin leur permettant

des échanges de paquets de données.

La figure 4.22 illustre deux exemples de placement de modules dans un réseau CuNoC

[JTWB07b]. La figure4.22a présente un placement invalide des modules au sein de ce réseau.

En effet, la plupart des règles de placement ne sont pas respectées, en particulier la règleNo6.

Le module A placé au milieu du réseau n’est pas joignable par certains modules (les modules B et C), car il est « entouré » pour chacune de ses directions par d’autres modules. Par consé-quent, ce placement ne permet pas une communication entre le module A et les modules B et

4.3. Réseaux sur puce reconfigurables

FIG. 4.22 – Placement de modules dans le réseau CuNoC : a) invalide b) valide.

dans un réseau CuNoC. Cet exemple de placement valide présente qu’une de nombreuses si-tuations possibles de placement de modules au sein d’un réseau CuNoC respectant les règles de placement prédéfinies. Ces règles de placement reposent sur une adaptation pour un réseau

CuNoC des règles de placement au sein d’un réseau DyNoC. Par ailleurs, toutes les contraintes

de placement de modules présentées dans le réseau DyNoC sont applicables à un réseau

Cu-NoC [BAM+05,BA05]. Cependant, les contraintes de placement de modules du réseau CuNoC sont moins contraignantes que celles établies pour un réseau DyNoC. Par exemple, dans un

ré-seau CuNoC, il doit avoir au moins un chemin entre tous les modules (la règleNo6). Par contre,

contrairement à un réseau DyNoC, tous les modules placés dans un réseau CuNoC ne doivent pas être obligatoirement entourés dans toutes leurs directions par des routeurs (soit des CU dans le cas d’un réseau CuNoC).

Un routeur CU possède 4 ports d’entrées / sorties et ne dispose pas de connexion spécifique locale pour être connecté avec un élément de calcul PE. Cette structure permet de combiner ou d’associer directement des routeurs CU avec des modules PE au sein d’un réseau CuNoC.

Les figures4.23 et4.24illustrent quelques exemples de ces structures hétérogènes [JTWB07b,

JTBW09].

La figure4.23 présente une façon de connecter un nombre maximum de modules pouvant

FIG. 4.23 – Illustration de placement d’un nombre maximum de modules pour un réseau CuNoC

m×n.

déterminé en supposant que la taille maximum de chaque module ne dépasse pas la taille d’un

CU. On considère un réseau homogène CuNoC, composé uniquement de routeurs CU. Ensuite,

on place des modules de calcul PE autour de ce réseau par des connexions avec les routeurs périphériques du réseau à travers leurs ports d’entrée / sortie. Puis, on remplace les CU dans le réseau avec les modules de calcul tout en respectant les règles de placement prédéfinies. On

obtient alors une structure de réseau comme présenté par la figure4.23. On en déduit alors, le

nombre maximum de modules de taille minimale (taille d’un CU), qui peuvent être connectés

à un réseau CuNoC d’une taille initiale de m×n, par les expressions suivantes :

Nmodmax = 3m+ 4n−8 +trunc

(n−4)(m−3) 2 (4.1a) NCU =m∗n−Nmodmax (4.1b)

NCU représente le nombre d’unités de communication CU qui reste dans un réseau d’une

taille initiale m×n. L’expressiontrunch(n4)(2m3)iest égale à 0 pour les valeurs denetm≤3.

La structure de connexion des modules telle que présentée dans la figure4.23est réalisable,

mais pas souhaitable car dans ce type de structure de connexion un très grand nombre de mo-dules communiquent à travers un nombre restreint de routeurs CU aboutissant à une structure de réseau de performances médiocres dans des situations de transfert de paquets élevé (besoins en communication importants).

Une structure de réseau préférable de connexion des modules et de routeurs est présentée

dans la figure4.24. Chaque module est connecté à au moins un CU lui-même connectée à travers

d’autres ports d’entrées / sorties uniquement à d’autres routeurs CU. Dans ce cas de figure, le nombre maximum de modules pouvant être connectés à un réseau CuNoC d’une taille initiale

4.3. Réseaux sur puce reconfigurables

FIG. 4.24 – Placement préférable de modules dans le réseau CuNoC.

Nmodmax = 2(m+n−2) +trunc

(m−2)(n−2) 2 (4.2a) NCU =m∗n−Nmodmax (4.2b)

où l’expressiontrunch(m2)(2n2)iest égale à 0 pournetm≤2.