• Aucun résultat trouvé

Flot de conception du NoC micro-Spider II

1.3 Le NoC micro-Spider II .1Pr´esentation.1Pr´esentation

1.3.2 Flot de conception du NoC micro-Spider II

Le flot de conception est l’ensemble des ´etapes `a suivre pour la construction d’un NoC. C’est un regroupement de tous les processus pouvant intervenir dans la conception du NoC en sous ensembles renfermant des probl`emes coh´erents et ind´ependants. La r´esolution des probl`emes `a chaque ´etape conduit de la conception `a l’implantation du NoC, par exemple sur (FPGA). La d´efinition d’un flot de conception permet de maˆıtriser la complexit´e de l’espace de construction du NoC en vue de satisfaire les crit`eres de performance requise en termes de d´ebit, de latence, d’´energie consomm´ee et de surface occup´ee [54].

La g´en´eration du flot de conception du NoC µSpider II part de l’id´ee d’une archi-tecture multiprocesseur adapt´ee au type de l’application et au partitionnement de ses tˆaches sur les diff´erentes unit´es de traitement. Par cons´equent, la conception du NoC commence par une analyse de l’application et une sp´ecification du graphe de commu-nication. Les ´etapes de conception du NoC µSpider II sont la sp´ecification, la con-struction, le dimensionnement des TDMA et des m´emoires, et l’allocation des chemins

22 ´Etat de l’art

spatio-temporels [9].

Sp´ecification

L’objectif ici est de donner les moyens au concepteur de d´eterminer la fr´equence du r´eseau, le nombre d’IP connect´es au r´eseau, le partitionnement des tˆaches de l’application sur les IP, ainsi que l’ordonnancement des communications attribu´ees `a chaque tˆache. Cette d´etermination est effectu´ee `a l’aide de graphes de d´ependances (CDG). Chaque graphe caract´erise une tˆache avec des sommets repr´esentant soit un traitement sp´ecifi´e par son temps d’ex´ecution, soit une communication. Une communication est un flux typ´e d’information quantifi´ee en nombre de paquets entre deux tˆaches diff´erentes, une ´

emettrice et une r´eceptrice. Les arcs entre les diff´erents sommets repr´esentent un or-dre d’ex´ecution s´equentiel ou parall`ele de ceux-ci. La tˆache mod´elis´ee sous la forme d’un graphe de d´ependance comporte la taille des paquets ´emis et rec¸us, son temps d’ex´ecution et l’identifiant de l’IP qui l’ex´ecute. R´esumer l’application `a l’aide de ces graphes de d´ependance permet la mise en ´evidence du parall´elisme d’ex´ecution interne `

a la tˆache et de regrouper ses besoins en bande passante dans des sp´ecifications de flots de communication. Ces sp´ecifications de messages avec leur quantit´e de paquets peuvent ˆetre r´esum´ees sous forme d’un graphe orient´e pond´er´e que nous nommons Graphe de Communication de l’Application (ACG). Les sommets du graphe sont des IP, tandis que les arcs pond´er´es sont des bandes passantes requises entre IP. Ce type de graphe de communication constitue pour une part la donn´ee d’entr´ee des probl`emes d’optimisation de routage ´etudi´es dans cette th`ese. Nous verrons notamment que la construction mˆeme d’un ACG compatible avec le principe de multiplexage temporel n’est pas toujours une tˆache ais´ee et revient `a r´esoudre un probl`eme de flot maximum.

Construction

L’´etape de construction s’appuie sur la bande passante maximale et r´eelle des diff´erentes communications obtenue via les graphes CDG. A partir de ces donn´ees, le concepteur construit progressivement la topologie du r´eseau en appliquant l’un des algorithmes de conception, selon la nature de l’application et le type d’adressage des m´emoires dans l’architecture multi-processeur. Les composants devront ˆetre d’autant plus rapproch´es sur la carte que la fr´equence et le volume de leurs ´echanges est important. Le con-cepteur ajoute des routeurs et des liens de mani`ere `a ´eviter un trop grand nombre d’entr´ee/sortie sur un mˆeme routeur. Il peut ´egalement s’appuyer sur les r´esultats des algorithmes de routage (derni`ere ´etape) pour ajouter ou supprimer des routeurs et des liens physiques.

Dimensionnement de la table TDMA

L’´etape de dimensionnement de la table TDMA consiste `a calculer le nombre d’intervalles de temps `a r´eserver pour chaque communication selon sa bande passante et pour

Probl`emes d’optimisation combinatoire dans le NoC 23

chaque interface r´eseau. Le rˆole principal de l’interface r´eseau est d’ordonnancer l’envoi des donn´ees vers le r´eseau afin de garantir une qualit´e de service conforme aux con-traintes de bande passante. Cet ordonnancement est mis en œuvre avec l’int´egration du m´ecanisme d’acc`es multiple `a r´epartition dans le temps (table TDMA), dont le principe est de d´ecouper le temps disponible entre les diff´erentes communications de la NI. En-suite, intervient une phase d’uniformisation de la taille des TDMA de toutes les NI. Elle est faite de telle sorte que la taille des TDMA d´efinisse un cycle d’´emission dont la longueur en nombre de slots est partag´ee par toutes les NI. Chaque NI ´emet alors des paquets aux instants sp´ecifi´es par la table TDMA et cela de mani`ere cyclique selon la taille (commune) de la TDMA.

Dimensionnement des m´emoires

L’´etape de dimensionnement des m´emoires d´etermine les tailles des m´emoires tampons des interfaces r´eseau, et les tailles des m´emoires caches qui participent `a la liaison entre l’IP et le r´eseau.

Allocation des chemins

Il s’agit de calculer les dates d’´emission relatives des messages dans chaque table TDMA et les chemins de routage associ´es selon le principe du multiplexage temporel, en s’appuyant sur la topologie du NoC, la taille de la table TDMA et les sp´ecifications de messages avec leur quantit´e. La possibilit´e de reconfiguration dynamique des ta-bles TDMA est une option suppl´ementaire offerte par le NoC µSpider II. La proposi-tion d’algorithmes heuristiques et m´etaheuristiques d’optimisation pour r´esoudre ces probl`emes fait l’objet de notre travail.

1.4 Probl`emes d’optimisation combinatoire dans le NoC

Le r´esultat recherch´e lors de la conception d’un NoC est l’obtention d’un compromis satisfaisant entre des crit`eres de performance en termes de bande passante, de latence, d’´energie consomm´ee et de surface occup´ee [54]. Il s’agit d’ajuster la taille du r´eseau et des ressources physiques n´ecessaires au bon fonctionnement du r´eseau de communica-tion. Ainsi que d´etaill´e dans [12,9], le dimensionnement du NoC consiste `a d´eterminer la taille et le nombre de ressources du r´eseau de communication permettant de satis-faire une certaine qualit´e de service en ad´equation avec les besoins de l’application. Parmi ces ressources figurent les tailles de buffers d’entr´ee/sortie, le nombre de rou-teurs et de liens physiques, la taille des tables TDMA pour du trafic garanti. Les nom-breux param`etres `a ajuster font de la probl´ematique de dimensionnement un probl`eme multi-crit`ere complexe impliquant directement ou indirectement la prise en compte du routage et du placement des IP sur le r´eseau pour aboutir `a une structure optimale du r´eseau. Les probl`emes rencontr´es sont g´en´eralement intriqu´es dans la mesure ou

24 ´Etat de l’art

des choix `a une ´etape de la conception ont une influence aux ´etapes suivantes. Des mauvais choix au niveau de la topologie auront par exemple une incidence au niveau du routage. Cependant, en pratique l’´etape de routage d´epend d’une topologie donn´ee qui peut ˆetre affin´ee de mani`ere interactive. Nous pr´esentons ci-apr`es quelques uns des probl`emes d’optimisation combinatoire consid´er´es comme les plus importants en lien avec la conception d’un NoC et qui sont en grande majorit´e des probl`emes de placement et de routage, ou encore des probl`emes de d´etection d’interblocage.