• Aucun résultat trouvé

Réseaux en graphes (*)

Dans le document Architecture, Système, Réseau 1 Protopoly (Page 63-67)

En supposant réglée la question de transmettre des données sur un canal, on veut à présent relier entre euxncircuits (ou ordinateurs) par des canaux. Pour simplifier, disons que tous ces

canaux sont bidirectionnels et identiques (même débit etc). Le réseau a alors une structure de graphe, les canaux étant le arêtes et les circuits étant les nœuds.

7.4.1 Les topologies et leurs métriques

Considérons deux topologies possibles de réseaux pour reliernordinateurs : l’anneau, repré-senté figure 7.3, et le tore bidimensionnel, reprérepré-senté figure 7.5 qui est une extension de la grille bidimensionnelle (représentée figure 7.4) dans laquelle tous les nœuds ont le même nombre de canaux.

FIGURE7.3 – Graphe anneau

FIGURE7.4 – Graphe grille 2D

FIGURE7.5 – Graphe tore 2D On peut définir sur ces deux exemples les notions suivantes :

7.4. RÉSEAUX EN GRAPHES (*) 65 Degré Le degré d’un nœud est le nombre d’arêtes reliées à ce nœud. Par extension, le degré d’un graphe est le degré maximum des nœuds du graphe. Par exemple le degré est de 2 pour l’anneau, et de 4 pour la grille et le tore. A priori, plus le degré sera élevé, plus le nœud sera cher. Plus le degré est petit mieux c’est.

Diamètre Le diamètre d’un graphe est le maximum de la longueur du plus court chemin entre deux nœuds. Dans nos réseaux à n = 16 nœuds, le diamètre de l’anneau est 8 , le diamètre de la grille est6, le diamètre du tore est 4. Le diamètre mesure la distance maximum à parcourir pour une information dans le réseau. Plus il est petit mieux c’est.

Bissection La bissection est une mesure de la quantité d’information qui peut passer à tra-vers le réseau à un instant donné : Plus elle est élevée, mieux c’est. Techniquement, on appelle bissection-arêtes (resp. bissection-sommets) le nombre minimum de liens (resp.

de sommets) dont la destruction entraîne la déconnexion en deux moitiés de même ordre (à un près).

Tore et anneau ont tous deux des degrés constants, mais le tore a une bissection et un diamètre en√

n, ce qui semble mieux que l’anneau (bissection de 2 et diamètre enn/2. On peut définir un tore tridimensionnel et plus (et au fait l’anneau est un tore unidimensionnel). Mais d’autres topologies offrent des compromis encore plus intéressants :

L’hypercube de degréda2dnœuds, un diamètre ded, un bissection de2d−1. Son seul défaut est un degré qui peut devenir relativement élevé.

C’est pourquoi on a inventé le Cube Connectant des Cercles ou CCC, représenté figure 7.7 en dimension 3. On place des anneaux de tailledà chaque sommet d’un hypercube de degréd, et chaque nœud d’un anneau possède en plus un canal selon une des dimensions de l’hypercube. Le degré est 3 quelle que soit la dimension, et le diamètre est passé dedà d2: c’est toujours logarithmique en le nombre de nœuds.

FIGURE7.6 – Graphes hypercubes

7.4.2 Routage

Le routage c’est le choix du chemin que va suivre l’information dans le graphe.

FIGURE7.7 – Graphecube-connected cycles

Dans un circuit intégré le routage est surtout statique : on a tiré des fils d’un bloc logique A à un autre bloc logique B, et une transmission d’info de A à B passera par ces fils1.

Dans un grand réseau (téléphonique ou internet), par mesure d’économie, on n’a pas un fil par communication possible. On a tout de même plusieurs chemins possibles. Le routage d’une transmission d’information est calculé lorsqu’on en a besoin. On parle de routage dynamique.

Bref, un routage dynamique, c’est trouver un chemin dans un graphe. Alors que les algos qui calculent le routage d’un circuit intégré peuvent se permettre de tourner des heures, pour un routage dynamique il faut un algo assez rapide.

C’est assez facile dès qu’on a un seul émetteur et un seul destinataire, on trouve alors toujours un algorithme glouton (exo : donnez le sur la grille, sur l’hypercube, sur le CCC).

Quand on a plein de paires (émetteur, destinataire) en même temps, le problème du routage devient difficile. Pourquoi ? Pourquoi c’est dur ?

— Il faut éviter que deux données se battent pour le même fil en même temps.

— Idéalement, chaque info va suivre le plus court chemin. Mais déjà, trouver le plus court chemin de A à B dans un graphe est coûteux.

— Quand le plus court chemin est impraticable (un lien est déjà occupé), il faut faire un détour. A force de détours on n’a plus un plus court chemin. Il faut alors montrer que l’on reste dans un facteur raisonnable du plus court chemin (ou du diamètre du graphe), sinon non seulement la communication est plus lente, mais en plus elle consomme encore plus de fils, ce qui aggrave le problème pour les suivants.

Dans ces domaines il est facile de bricoler des heuristiques qui ont l’air de marcher bien, mais il est très dur de montrer qu’elles offrent certaines garanties.

Les métriques du graphe deviennent importantes.

Il y a deux grandes familles de techniques de routage : la commutation de ligne (pensez au téléphone de l’URSS) et lacommutation de paquetqui est ce qui se fait sur internet.

— Pour la commutation de ligne, il faut a priori un central qui supervise le réseau et réserve la ligne.

— Dans la commutation de paquet, un message est coupé en paquets de taille plus ou moins fixe, et ces derniers sont lancés dans le graphes et doivent y trouver de proche en proche leur chemin. Le gros avantage est que les algorithmes de routage deviennent décentralisés.

Remarque : on peut faire de la commutation de ligne virtuelle par dessus de la communication de paquets. Par exemple, on veut pouvoir réserver un canal virtuel de A à B, avec un certain débit garanti pour y faire passer de la video en temps réel.

Deux techniques de commutation de paquets : store and forward, et wormhole qui est un genre de réservation de ligne. Les anneaux du corps du vers s’appellent des flit. Vous avez intérêt

1. C’est vrai pour les petits circuits : un multiplieur, un processeur. De nos jours on est capable de concevoir des circuits intégrants des dizaines de processeurs, de mémoires et d’unités de calcul. Si l’on relie tous ces blocs par du routage statique, on constate que la plupart de ces fils sont inactifs la plupart du temps, c’est du gâchis de surface. Il y a donc beaucoup de recherche actuellement sur lesNetworks on Chip, ou NoC, dans lesquels les fils seront partagés et le routage dynamique.

7.5. EXEMPLES DE TOPOLOGIES DE RÉSEAU (*) 67

Dans le document Architecture, Système, Réseau 1 Protopoly (Page 63-67)