• Aucun résultat trouvé

Vue détaillée de l’algorithme de décision des chemins 65

4.4 Routage spatio-temporel

4.4.1 L’allocation des chemins dans l’espace et le temps

4.4.1.4 Vue détaillée de l’algorithme de décision des chemins 65

L’extraction des chemins candidats : Nous avons adapté l’algorithme de

Dijks-tra pour déterminer les chemins minimums dans notre graphe spatio-temporel. Pour chaque communication non encore placée et pour chaque slot de départ possible dans la table TDMA, le graphe spatio-temporel est exploré par une version modifiée de l’algorithme de Dijkstra. Les arcs ont un poids de 1. Un arc est disponible s’il n’est pas encore réservé ou s’il n’est réservé que par des communications appartenant toutes à des cliques de mutuelle exclusion dont fait également partie la communication consi-dérée. De plus, le nombre de slots libres suivants doit être suffisant sur un lien pour permettre à toute la taille du paquet de passer sans être scindé. Enfin, il ne retient pas un chemin minimal, mais tous les chemins minimaux entre une source et une destination.

Pour chacun des slots de temps évalués comme instant de départ à la source, les distances les plus courtes de la source à la destination qui ont été trouvées peuvent être différentes. Pour la communication considérée, si la plus courte distance trouvée de sa source à sa destination respecte sa contrainte de latence, alors les plus courts chemins minimaux sont extraits de ce graphe afin d’être ajoutés à la liste des chemins candidats de cette communication. Notons que nous éliminons les chemins qui sortent d’un routeur par le même port par lequel ils sont rentrés car nous avons fait le choix de ne pas traiter ce cas rare pour simplifier l’architecture des routeurs.

La phase de pré-réservation : Cette étape a pour objectif de quantifier la

pro-babilité d’utilisation de chacun des slots des arcs (c’est à dire de chacun des slots temporels de chacun des liens unidirectionnels du NoC) par les communications non encore placées. Le poids d’une pré-réservation est de (1 / nombre de chemins candi-dats). Une pré-reservation est faite par une communication pour chacun des slots de temps que son paquet peut occuper sur chacun des arcs de chacun de ses chemins candidats. Sur la figure 4.6, nous observons les poids des pré-réservations faites pour un paquet d’une communication qui nécessite deux slots. Ce paquet peut s’accommo-der de trois positions différentes. Nous voyons que les slots libres au centre se voient affectés un poids de préservation plus important que ceux situés sur les extrémités.

66 mise en œuvre de la qualité de service En effet, ceux du centre offrent plus de mobilité au paquet de deux slots que l’on dé-sire placer. Si une autre communication venait à se réserver les deux slots du centre, elle priverait cette communication de toute possibilité d’utiliser ce lien. Il est donc tout a fait judicieux de faire cette pondération des pré-réservations. Elle signalera aux autres communications qui seront placées avant celle-ci d’utiliser les slots les moins pré-réservés dans la mesure du possible.

Fig. 4.6 – Répartition des Pré-réservations des slots

Pour chaque communication non allouée, une pré-réservation est faite pour tous les arcs, de tous ses chemins candidats, en accord avec la taille du paquet. Les pré-réservations s’additionnent lorsqu’elles sont effectuées sur un même arc.

La sélection de la communication Ci à satisfaire : Parmi toutes les

com-munications pour lesquelles aucun chemin n’a encore été réservé, il nous faut décider laquelle il est le plus judicieux de satisfaire en première. Ce choix doit être fait de façon judicieuse. En effet, la réservation des arcs appartenant à son chemin spatio-temporel réduira la liberté d’exploration pour l’affectation des chemins des communications qui restent à placer.

Pour cette politique de sélection de la communication à placer en priorité, nous avions étudié un facteur que nous qualifions de « gène » ou de contention. Nous avions initialement imaginé deux stratégies très opposées qui sont les suivantes :

– Satisfaire en premier les communications qui ont un chemin candidat qui ren-contre le moins de pré-réservations des autres communications (gène le moins les autres)

– Placer en premier celui qui rencontre le plus de conflits avec les autres, ainsi, pour lui sa réservation est faite dès le début plutôt que d’attendre que les possibilités ne se réduisent encore.

Ces solutions n’ont pas montré de résultats significatifs.

Nous avons décidé d’ordonner les communications selon le critère de priorité sui-vant :

P riorCi = BandepassanterequiseCi

latencecouranteCi− latencerequiseCi

Ainsi, la priorité est donnée à la communication nécessitant la plus grosse bande passante et ayant la laxité la plus faible (la plus petite marge pour satisfaire sa contrainte de latence).

4.4 routage spatio-temporel 67

La sélection d’un chemin : Une fois que l’on a sélectionné la communication à

satisfaire, il reste à choisir parmi les chemins candidats retenus, le chemin Pi qui va finalement être celui qui sera alloué (réservé) à la communication Ci. Pour cela nous pouvons utiliser un facteur de coût qui pourra notamment être la gène qu’entraînerait l’utilisation d’un chemin plutôt qu’un autre pour l’allocation des communications qui restent à placer. Cette gène est ici représentée par les pré-réservations faites par ces dernières.

Différentes fonctions de coût ont été évaluées : 1. Le choix naïf :

Le choix du chemin parmi ceux candidats est réalisé par un tirage aléatoire. 2. Le plus court chemin :

La pré-réservation n’est pas utilisée, le plus court chemin est sélectionné. C’est en quelque sorte un choix égoïste, sans concertation. Le facteur de coût est la taille du chemin.

3. Le chemin ayant la plus faible « somme des pré-réservations sur ses arcs » : Le facteur de coût est la somme des pré-réservations sur chacun des arcs du chemin. Les pré-réservations faites par Ci, ainsi que les communications apparte-nant à l’une de ses cliques d’exclusion mutuelle, ne sont pas considérées car elles ne représentent pas un conflit. Notons ici que la pré-réservation d’un chemin par une communication Cj en conflit avec Ci n’est comptabilisée qu’une seule fois. En effet, que l’utilisation du chemin Pi condamne une ou plusieurs fois l’un des chemins de la communication Cj, la gène entraînée est la même.

4. Le chemin ayant la plus faible « pré-réservation maximale » :

Le facteur de coût est la pré-réservation maximale faite sur l’un des arcs du che-min. Pour chaque chemin candidat, nous faisons la somme des pré-réservations sur chacun de ses arcs, puis nous retenons la plus grande valeur. Cette valeur est la somme des pré-réservations sur l’arc le plus pré-réservé de ce chemin. Le chemin sélectionné sera celui qui a la plus faible « plus grande pré-réservation ». Beaucoup d’autres fonctions de coût peuvent être imaginées, mais nous nous limiterons à celles-ci dans le cas de cette étude, car elles se sont montrées les plus représentatives. Quand des chemins candidats ont un facteur de coût identique, des critères supplé-mentaires peuvent être utilisés pour les départager, notamment, le nombre d’arcs déjà réservés par des communications appartenant à une clique d’exclusion mutuelle avec la communication Ci. Ceci permet de favoriser la multi-réservation des arcs par les communications appartenant à une même clique et donc de laisser plus d’arcs libres aux autres communications n’appartenant pas à cette clique.

La phase de réservation : Le chemin sélectionné est alloué à la communication

sélectionnée. Les arcs (slots temporels des liens unidirectionnels du NoC) sont réservés en accord avec l’instant de départ, le chemin et la taille du paquet. Le chemin est marqué comme ayant été satisfait.

L’annulation de toutes les pré-réservations devenues obsolètes : Enfin,

toutes les pré-réservations de toutes les communications sont effacées car certaines des réservations faites par la communication précédemment placée rendent certains chemins indisponibles.

68 mise en œuvre de la qualité de service

4.4.2 Comparaisons des différents facteurs de coût de l’étape de sé-lection du chemin

Les techniques évaluées sont : 1. le choix naif ;

2. le plus court chemin ;

3. le chemin ayant la plus faible « somme des pré-réservations sur ses arcs » ; 4. le chemin ayant la plus faible « pré-réservation maximale ».

Toutes ces techniques sont des heuristiques.