23
1 1 1 Mécanismes de Mécanismes de communication communication 2 Mécanismes de communications Mécanismes de communications Définitions Définitions Système autour d’un bus Système autour d’un bus Cross Cross-Bar Bar Réseaux Dynamiques Réseaux Dynamiques Réseaux statiques Réseaux statiques Mécanismes de routage Mécanismes de routage 3 Réseaux d'interconnexion Réseaux d'interconnexion Unité primordiale dans les machines Unité primordiale dans les machines parallèles parallèles Le réseau permet de relier les Le réseau permet de relier les processeurs à la mémoire ou les processeurs à la mémoire ou les processeurs entre eux. processeurs entre eux. 4 Dynamicité Dynamicité Les réseaux sont soit: Les réseaux sont soit: Statiques Statiques: les liaisons entre les : les liaisons entre les composants sont établies une fois pour composants sont établies une fois pour toute. toute. Dynamiques Dynamiques: Les liaisons peuvent : Les liaisons peuvent changer dans le temps. On utilise souvent changer dans le temps. On utilise souvent dans ce cas un algorithme de routage. dans ce cas un algorithme de routage. 5 Synchronisation Synchronisation Le fonctionnement de ce réseau est Le fonctionnement de ce réseau est Synchrone Synchrone: Une horloge globale rythme : Une horloge globale rythme alors les échanges d'information (SIMD). alors les échanges d'information (SIMD). Asynchrone Asynchrone: Chaque noeud possède alors : Chaque noeud possède alors son propre référentiel de temps (MIMD). son propre référentiel de temps (MIMD). 6 Accessibilité Accessibilité Le type de communication est variable: Le type de communication est variable: Complet Complet: Tous les points du réseaux : Tous les points du réseaux peuvent être reliés à chaque top d'horloge. peuvent être reliés à chaque top d'horloge. (avec une éventuelle réorganisation des (avec une éventuelle réorganisation des connexions existantes) connexions existantes) Incomplet Incomplet: Seuls certains noeuds sont : Seuls certains noeuds sont accessibles depuis chaque noeud du accessibles depuis chaque noeud du réseau. (on doit traverser le réseau réseau. (on doit traverser le réseau plusieurs fois dans certains cas) plusieurs fois dans certains cas)

Mécanismes de communication - LIFL › ~dekeyser › M1AEV › ancien support de cours...1 1 1 Mécanismes de communication 2 Mécanismes de communications Définitions Système autour

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

  • 11

    11

    Mécanismes de Mécanismes de communicationcommunication

    22

    Mécanismes de communicationsMécanismes de communications

    DéfinitionsDéfinitions Système autour d’un busSystème autour d’un bus CrossCross--BarBar Réseaux DynamiquesRéseaux Dynamiques Réseaux statiquesRéseaux statiques Mécanismes de routageMécanismes de routage

    33

    Réseaux d'interconnexionRéseaux d'interconnexion Unité primordiale dans les machines Unité primordiale dans les machines

    parallèlesparallèles Le réseau permet de relier les Le réseau permet de relier les

    processeurs à la mémoire ou les processeurs à la mémoire ou les processeurs entre eux.processeurs entre eux.

    44

    DynamicitéDynamicité Les réseaux sont soit:Les réseaux sont soit: StatiquesStatiques: les liaisons entre les : les liaisons entre les

    composants sont établies une fois pour composants sont établies une fois pour toute.toute. DynamiquesDynamiques: Les liaisons peuvent : Les liaisons peuvent

    changer dans le temps. On utilise souvent changer dans le temps. On utilise souvent dans ce cas un algorithme de routage.dans ce cas un algorithme de routage.

    55

    SynchronisationSynchronisation Le fonctionnement de ce réseau estLe fonctionnement de ce réseau est SynchroneSynchrone: Une horloge globale rythme : Une horloge globale rythme

    alors les échanges d'information (SIMD).alors les échanges d'information (SIMD). AsynchroneAsynchrone: Chaque noeud possède alors : Chaque noeud possède alors

    son propre référentiel de temps (MIMD).son propre référentiel de temps (MIMD).

    66

    AccessibilitéAccessibilité Le type de communication est variable:Le type de communication est variable: CompletComplet: Tous les points du réseaux : Tous les points du réseaux

    peuvent être reliés à chaque top d'horloge. peuvent être reliés à chaque top d'horloge. (avec une éventuelle réorganisation des (avec une éventuelle réorganisation des connexions existantes)connexions existantes) IncompletIncomplet: Seuls certains noeuds sont : Seuls certains noeuds sont

    accessibles depuis chaque noeud du accessibles depuis chaque noeud du réseau. (on doit traverser le réseau réseau. (on doit traverser le réseau plusieurs fois dans certains cas)plusieurs fois dans certains cas)

  • 22

    77

    FonctionnalitéFonctionnalité Le réseau établi une liaison entre un Le réseau établi une liaison entre un

    port d'entré et un port de sortie. port d'entré et un port de sortie. Il permet ainsi un échange Il permet ainsi un échange

    d'informations entre ces ports.d'informations entre ces ports.

    88

    Systèmes monoSystèmes mono--BusBus

    99

    Bus Interconnection SchemeBus Interconnection Scheme

    1010

    Extension naturelle du Extension naturelle du système mémoiresystème mémoire

    P1Switch

    Main memory

    Pn

    (Interleaved)

    (Interleaved)

    First-level $

    P1

    $

    Interconnection network

    $

    Pn

    Mem MemShared Cache

    Centralized MemoryDance Hall, UMA

    Scale

    1111

    Connexion par monoConnexion par mono--BUSBUS Par extension du modèle de Von Par extension du modèle de Von

    Neumann, on peut simplement Neumann, on peut simplement réaliser un multiréaliser un multi--processeur en processeur en connectant plusieurs CPU sur un connectant plusieurs CPU sur un bus.bus. Cet organe de communication est Cet organe de communication est

    alors partagé dans le temps pour alors partagé dans le temps pour réaliser les transfert réaliser les transfert

    soit mémoire => CPU soit mémoire => CPU soit CPU => CPU. soit CPU => CPU. 1212

    SMPSMP

    Domination du marché du serveurDomination du marché du serveur Des gros systèmes aux stations de travailDes gros systèmes aux stations de travail Accès uniforme via loads/storesAccès uniforme via loads/stores Mouvement des data automatique, cohérence Mouvement des data automatique, cohérence

    des cachesdes caches Bon marché Bon marché

    Mécanismes d’accès identique au monoMécanismes d’accès identique au mono--processeur processeur

    I/O devicesMem

    P1

    $ $

    Pn

    Bus

  • 33

    1313

    FonctionnementFonctionnement Le bus ne pouvant assurer qu'1 seul Le bus ne pouvant assurer qu'1 seul

    transfert à 1 instant donné, il convient de transfert à 1 instant donné, il convient de placer un arbitre sur le bus pour attribuer le placer un arbitre sur le bus pour attribuer le bus entre plusieurs demandeurs.bus entre plusieurs demandeurs. L'arbitrage des requêtes de Bus (BR:Bus L'arbitrage des requêtes de Bus (BR:Bus

    Request) sélectionne un CPU et lui donne le Request) sélectionne un CPU et lui donne le bus (BG:Bus Grant)bus (BG:Bus Grant) Le CPU qui possède le BUS est appelé le Le CPU qui possède le BUS est appelé le

    maître du BUS .maître du BUS .

    1414

    Bus TimeBus Time--sharedshared

    Bus

    Bus

    Bus Request

    Bus Grant

    Bus Masters

    ...

    1515

    EfficacitéEfficacité Il y a augmentation de la vitesse du Il y a augmentation de la vitesse du

    système si et seulement si la somme système si et seulement si la somme des transferts égale le débit du BUSdes transferts égale le débit du BUS Exemple:Exemple:

    1 CPU utilisant 50% de son temps le 1 CPU utilisant 50% de son temps le BUS =>Maxi de 2 CPU sur le même BUS =>Maxi de 2 CPU sur le même BUS BUS (Rôle des mémoires caches)(Rôle des mémoires caches)

    1616

    TimingTiming

    CoCo--ordination des événements sur le busordination des événements sur le bus SynchroneSynchrone Événements déterminé par les signaux de Événements déterminé par les signaux de

    l’horlogel’horloge Control Bus inclus des lignes de Control Bus inclus des lignes de clockclock Front montant 1Front montant 1--0 comme bus cycle0 comme bus cycle Tous les composants peuvent lire Tous les composants peuvent lire clockclock

    1717

    Synchronous Timing DiagramSynchronous Timing Diagram

    1818

    Communication AsynchroneCommunication Asynchrone 2 signaux pour le transfert de contrôle de 2 signaux pour le transfert de contrôle de

    Bus BR et BGBus BR et BG

    Les transactions sont Les transactions sont synchronessynchrones ( temps ( temps de transaction connu à l'avance) ou de transaction connu à l'avance) ou asynchronesasynchrones (temps inconnu)(temps inconnu)

    Maîtredemandeur

    Maîtrecourant

    Bus Request

    Bus Grant

  • 44

    1919

    Asynchronous Timing Asynchronous Timing –– Read Read DiagramDiagram

    2020

    Asynchronous Timing Asynchronous Timing –– Write Write DiagramDiagram

    2121

    Sur 2 signauxSur 2 signaux Mécanisme de "HandMécanisme de "Hand--shaking"shaking" 1:Demande de Bus par BR (demandeur 1:Demande de Bus par BR (demandeur

    du bus)(actif état 0)du bus)(actif état 0) 2:Libération du Bus par BG (maître du 2:Libération du Bus par BG (maître du

    bus)bus) 3:Désactivation du BR3:Désactivation du BR 4:Désactivation du BG4:Désactivation du BGBR

    BG2222

    Un 3ième signalUn 3ième signal

    On utilise souvent un 3On utilise souvent un 3èmeème Signal BB: Signal BB: BusBus--Busy => Etat du Bus. Busy => Etat du Bus.

    Maîtredemandeur

    Maîtrecourant

    Bus RequestBus GrantBus Busy

    2323

    Sur 3 signauxSur 3 signaux Le signal BG devient alors un signal de Le signal BG devient alors un signal de

    prise en compte du BR par le demandeur prise en compte du BR par le demandeur mais le bus n'est libre que lorsque BB est mais le bus n'est libre que lorsque BB est inactif.inactif.

    BR

    BG

    BB Géré par maître courantGéré par nouveau maître

    Depuis le demandeur

    Depuis le maître courant

    2424

    Requêtes multiplesRequêtes multiples Le maître reçoit plusieurs requêtes de Le maître reçoit plusieurs requêtes de

    différents CPU. Lequel choisir ??différents CPU. Lequel choisir ?? On introduit une notion de On introduit une notion de prioritépriorité --

    statique ou dynamique statique ou dynamique -- qui permet qui permet d'arbitrer entre les demandeurs.d'arbitrer entre les demandeurs.

  • 55

    2525

    ArbitrageArbitrage Méthodes d'arbitrage sontMéthodes d'arbitrage sont ParallèlesParallèles: Les BR et BG entrent et : Les BR et BG entrent et

    sortent en même temps de l'arbitresortent en même temps de l'arbitre SériesSéries: Un signal est véhiculé d'un : Un signal est véhiculé d'un

    maître à l'autre jusqu'à obtention du maître à l'autre jusqu'à obtention du maître le plus prioritaire demandeur du maître le plus prioritaire demandeur du bus (daisy chaining)bus (daisy chaining) CentraliséesCentralisées: Un système unique de : Un système unique de

    résolution.résolution. DécentraliséesDécentralisées: réparti sur les CPU: réparti sur les CPU

    2626

    Priorité parallèle CentraliséePriorité parallèle Centralisée

    BG1BG2

    BGn

    BR1 BR2 BRn

    . . . . .

    B. Busy

    ARBITRE

    2727

    Priorité Parallèle Centralisée(2)Priorité Parallèle Centralisée(2)

    Chaque CPU peut générer un BR vers Chaque CPU peut générer un BR vers l'arbitre.l'arbitre. Lorsque l'un est choisi par l'arbitre, un Lorsque l'un est choisi par l'arbitre, un

    unique BG est envoyé vers l'élu.unique BG est envoyé vers l'élu. BB permet de libérer le bus en fin de BB permet de libérer le bus en fin de

    transfert transfert Un processeur peut utiliser le bus Un processeur peut utiliser le bus

    quand il a reçu un BG et que le bus est quand il a reçu un BG et que le bus est libre. Il maintient le signal BR.libre. Il maintient le signal BR.

    2828

    Gestion de l'arbitrageGestion de l'arbitrage Une demande plus prioritaire est prise Une demande plus prioritaire est prise

    en compte par l'arbitre: par en compte par l'arbitre: par désactivation du BG courant et désactivation du BG courant et activation du nouveau BG. activation du nouveau BG. Le maître courant du bus observe la Le maître courant du bus observe la

    désactivation de son BG, il peut donc désactivation de son BG, il peut donc libérer le bus en fin de communication. libérer le bus en fin de communication. On évite ainsi l'interruption due à une On évite ainsi l'interruption due à une

    requête d'un CPU plus prioritaire.requête d'un CPU plus prioritaire.

    2929

    Un exempleUn exemple Priorité statique : (8 CPU). Priorité statique : (8 CPU).

    Ordre : 0 1 2 3 4 5 6 7Ordre : 0 1 2 3 4 5 6 7 L'arbitre devient le circuit suivant:L'arbitre devient le circuit suivant:

    3030

    REQ7

    REQ6

    REQ5

    REQ4

    REQ3

    REQ2

    REQ1

    REQ0

    Grant 7

    Grant 6

    Grant 5

    Grant 4

    Grant 3

    Grant 2

    Grant 1

    Grant 0

  • 66

    3131

    Arbitres en cascadeArbitres en cascade

    Arbitre

    Eout Arbitre

    Eout Arbitre

    Ein

    Ein

    3232

    .......

    Arbitrage à 2 niveaux

    3333

    Priorité parallèle décentraliséePriorité parallèle décentralisée

    1 arbitre dans chaque CPU1 arbitre dans chaque CPU Les requêtes BR sont envoyées à Les requêtes BR sont envoyées à

    tous les CPUtous les CPU L'arbitre local envoie 1 Grant à son L'arbitre local envoie 1 Grant à son

    CPU si celuiCPU si celui--ci est élu.ci est élu.

    3434

    Parallèle décentralisée(suite) Parallèle décentralisée(suite) Plus fiable (panne d'un arbitre panne Plus fiable (panne d'un arbitre panne

    d'un seul cpu)d'un seul cpu) Nécessite un TimeNécessite un Time--out pour libérer le out pour libérer le

    bus en cas de pannebus en cas de panne Bus moins large, pas de BGBus moins large, pas de BG Réalisation avec des portes logiquesRéalisation avec des portes logiques

    3535

    Arbitrage parallèle Arbitrage parallèle décentralisédécentralisé

    Grant Grant

    BR BR

    Bus resquest

    Bus Busy 3636

    Priorité SériePriorité Série Passage d'un signal d'un cpu vers un Passage d'un signal d'un cpu vers un

    autre séquentiellementautre séquentiellement

    " " Daisy chainDaisy chain""

  • 77

    3737

    Sur le signal GrantSur le signal Grant

    BG

    BR

    BB

    + Prioritaire - Prioritaire

    3838

    Sur le signal GrantSur le signal Grant Le plus répanduLe plus répandu 1 ligne de requête partagée1 ligne de requête partagée 1 ligne de "Grant" du premier CPU 1 ligne de "Grant" du premier CPU

    vers les suivantsvers les suivants 1 ligne Busy1 ligne Busy

    3939

    FonctionnementFonctionnement Lorsqu'au moins un BR est activé, le Lorsqu'au moins un BR est activé, le

    BG est validé par le contrôleur ou le BG est validé par le contrôleur ou le CPU le plus prioritaire. CPU le plus prioritaire. Le BG est transmis jusqu'au premier Le BG est transmis jusqu'au premier

    CPU ayant émis un BR. CPU ayant émis un BR. CeluiCelui--ci prend alors le bus après le BB ci prend alors le bus après le BB

    inactif.inactif.

    4040

    Sur le signal Request Sur le signal Request

    BR

    BG

    BB

    + Prioritaire - Prioritaire

    0

    4141

    Sur le signal Request Sur le signal Request Un CPU demande le bus par émission Un CPU demande le bus par émission

    d'un BR vers la droite. d'un BR vers la droite. Lorsqu'un CPU reçoit un BR à gauche, Lorsqu'un CPU reçoit un BR à gauche,

    il le transmet à droite s'il n'est pas il le transmet à droite s'il n'est pas maître du BUS, il libère le bus par un maître du BUS, il libère le bus par un BG sinon (car moins prioritaire que le BG sinon (car moins prioritaire que le demandeur).demandeur). Le CPU qui émet un BR et qui n'en Le CPU qui émet un BR et qui n'en

    reçoit pas à gauche devient alors reçoit pas à gauche devient alors maître du bus. (cf 8086)maître du bus. (cf 8086) 4242

    Priorité série décentraliséePriorité série décentralisée Sur signal GrantSur signal Grant Anneau de CPUAnneau de CPU Le signal Grant circule sur l'anneau Le signal Grant circule sur l'anneau

    jusqu'à la prise du bus par 1 CPUjusqu'à la prise du bus par 1 CPU Priorité circulantePriorité circulante Réseau à jetonRéseau à jeton

    Panne d'un CPU => Panne du réseauPanne d'un CPU => Panne du réseau

  • 88

    4343

    Priorité série décentraliséePriorité série décentralisée

    BR BG

    Daisy ChainGrant

    + Prioritaire - Prioritaire

    4444

    Combinaison de Combinaison de série/Parallèlesérie/Parallèle

    Arbitre parallèle

    BG

    BR

    BB

    BClear

    ---- ---- ----

    4545

    Arbitrage par scrutation:Arbitrage par scrutation: Un contrôleur recherche un CPU Un contrôleur recherche un CPU

    demandeur du Bus.demandeur du Bus. Centralisé ou décentraliséCentralisé ou décentralisé

    4646

    CentraliséCentralisé Le contrôleur scrute tous les CPUs Le contrôleur scrute tous les CPUs

    successivement (ordre = priorité)successivement (ordre = priorité) Le CPU demandeur émet un BR.Le CPU demandeur émet un BR. Le bus est alors attribué à ce cpu.Le bus est alors attribué à ce cpu. Le nombre de lignes de scrutation peut Le nombre de lignes de scrutation peut

    être limité par numérotation des cpu.être limité par numérotation des cpu. Priorité statique: un compteur dans le Priorité statique: un compteur dans le

    contrôleur, ou dynamique: pseudocontrôleur, ou dynamique: pseudo--random etc.random etc.

    4747

    Scrutation centraliséeScrutation centralisée

    N lignes descrutation

    BR

    BB

    Unité de

    scrutation

    4848

    DécentraliséDécentralisé 1 contrôleur/CPU (1 décodeur 1 contrôleur/CPU (1 décodeur

    d'adresse et 1 générateur d'adresse)d'adresse et 1 générateur d'adresse) 1 adresse est produite, elle est 1 adresse est produite, elle est

    reconnue par le décodeurreconnue par le décodeur Si le cpu correspondant est Si le cpu correspondant est

    demandeur il prend le bus demandeur il prend le bus

  • 99

    4949

    (suite)(suite) Le décodeur transmet le BR si celuiLe décodeur transmet le BR si celui--ci ci

    ne décode pas le numéro voulu.ne décode pas le numéro voulu. A la fin le générateur d'adresse produit A la fin le générateur d'adresse produit

    les numéros des cpu suivants si un BR les numéros des cpu suivants si un BR arrive.arrive.

    5050

    Décodeur

    Scrutation décentraliséeScrutation décentralisée

    Générateur

    N lignes d’adresse

    Ack

    Fin

    5151

    PerformancesPerformances 1 mémoire et plusieurs CPU1 mémoire et plusieurs CPU Chaque CPU accède la mémoire de Chaque CPU accède la mémoire de

    façon aléatoirefaçon aléatoire

    5252

    ProbabilitésProbabilités Soit Soit rr la probabilité qu'un CPU requête la probabilité qu'un CPU requête

    la mémoirela mémoire 11--rr : proba qu' 1 CPU ne demande pas : proba qu' 1 CPU ne demande pas

    la mémoirela mémoire (1(1--r)r)pp : proba que p CPU ne demandent : proba que p CPU ne demandent

    pas la mémoirepas la mémoire 1 1 -- (1(1--r)r)pp : proba qu'1 ou plusieurs CPU : proba qu'1 ou plusieurs CPU

    envoient une requêteenvoient une requête

    5353

    Performances (suite)Performances (suite) Comme il n'y a qu'un seul bus à chaque Comme il n'y a qu'un seul bus à chaque

    cycle on aura donc en moyenne cycle on aura donc en moyenne BW = 1 BW = 1 -- (1(1--r)r)pp requêtes. requêtes. On appelle On appelle bandwithbandwith cette valeur.cette valeur. Si r est grand alors le bus est vite Si r est grand alors le bus est vite

    saturé.saturé. En cas de conflit (2 requêtes au même En cas de conflit (2 requêtes au même

    cycle), les requêtes sont récycle), les requêtes sont ré--émises émises jusqu'à acceptation. On doit alors jusqu'à acceptation. On doit alors corriger la valeur de r.corriger la valeur de r. 5454

    Bandwith simple BusBandwith simple Bus

    0

    0,2

    0,4

    0,6

    0,8

    1

    1,2

    0 5 10 15 20

    r=0.8r=0.5r=0.2r=0.1

    CPU

  • 1010

    5555

    Connexion par multiConnexion par multi--busbus Extension du système avec b bus et p Extension du système avec b bus et p

    processeursprocesseurs Une communication est possible par Une communication est possible par

    connexion des deux unités au même connexion des deux unités au même bus.bus. Au même instant on peut ainsi Au même instant on peut ainsi

    satisfaire b requêtes sans conflitsatisfaire b requêtes sans conflit

    5656

    ArbitrageArbitrage L'arbitrage demande 2 phases:L'arbitrage demande 2 phases: Les processeurs envoient un BR Les processeurs envoient un BR

    pour un module mémoire donné. pour un module mémoire donné. Le premier niveau d'arbitre Le premier niveau d'arbitre sélectionne ainsi au plus une sélectionne ainsi au plus une requête par module mémoire, soit requête par module mémoire, soit m requêtes.m requêtes.

    5757

    (suite)(suite) Un arbitre sélectionne ensuite au Un arbitre sélectionne ensuite au

    plus b requêtes parmi les m déjà plus b requêtes parmi les m déjà sélectionnées. Ces requêtes seront sélectionnées. Ces requêtes seront réalisées en même temps sur chacun réalisées en même temps sur chacun des bus.des bus.

    5858

    Multiple busMultiple busProcesseurs Mémoires

    B Bus

    5959

    Arbitrage multi busArbitrage multi busRequêtes

    1 arbitreparmodule

    Arbitre de bus

    BR 6060

    CrossBarCrossBar

  • 1111

    6161

    FonctionnementFonctionnement Tableau de connecteursTableau de connecteurs Toutes les permutations sont possibles Toutes les permutations sont possibles

    à un instant donnéà un instant donné Un seul processeur avec un seul Un seul processeur avec un seul

    module mémoiremodule mémoire Nombre de connecteurs = p*mNombre de connecteurs = p*m

    6262

    CrossBarCrossBarSwitchà0

    Switchà1

    p

    m

    6363

    Commutateur de baseCommutateur de base Construction à partir d'une cellule de base Construction à partir d'une cellule de base

    C22C22 2 entrées/2 sorties2 entrées/2 sorties

    6464

    Fonctionnement du CrossBarFonctionnement du CrossBar2 types de fonctionnement :2 types de fonctionnement :Architecture Architecture maître/esclavemaître/esclaveArchitecture Architecture décentraliséedécentralisée

    6565

    Maître/esclavesMaître/esclaves 1 processeur maître contrôle les 1 processeur maître contrôle les

    connecteursconnecteurs Requêtes envoyées vers le maîtreRequêtes envoyées vers le maître Hardware et Software simplifiésHardware et Software simplifiés 1 seule connexion par ligne1 seule connexion par ligne 1 seule connexion par colonne1 seule connexion par colonne

    6666

    Maître/esclavesMaître/esclavesMaître

    Esclaves

  • 1212

    6767

    Architecture décentraliséeArchitecture décentralisée Chaque processeur contrôle les Chaque processeur contrôle les

    connecteurs de son propre busconnecteurs de son propre bus Un circuit logique arbitre les conflitsUn circuit logique arbitre les conflits Un arbitre par moduleUn arbitre par module Si plusieurs requêtes au même module Si plusieurs requêtes au même module

    l'une est choisie, les autres sont l'une est choisie, les autres sont retardées.retardées.

    6868

    DécentraliséDécentralisé

    Requêtesmémoire

    6969

    Réseaux dynamiquesRéseaux dynamiques

    7070

    FonctionnementFonctionnement Interconnexion sans bus pour des Interconnexion sans bus pour des

    architectures MIMD et SIMDarchitectures MIMD et SIMD Les connections s’établissent au Les connections s’établissent au

    fur et à mesure des fur et à mesure des communicationscommunications

    7171

    Processeur

    Mémoire

    Processeur

    Mémoire

    Processeur

    Mémoire

    Processeur

    Mémoire

    RéseauDynamique

    7272

    Non bloquantNon bloquant Une nouvelle connexion entre une Une nouvelle connexion entre une

    entrée libre et une sortie libre est entrée libre et une sortie libre est toujours possibletoujours possible Indépendant des connexions Indépendant des connexions

    courantes.courantes.

  • 1313

    7373

    RéRé--arrangeablearrangeable Simplification du hard (Complexité)Simplification du hard (Complexité) Une nouvelle connexion est toujours Une nouvelle connexion est toujours

    possible, elle peut demander une possible, elle peut demander une modification des chemins existants modification des chemins existants pour être établiepour être établie

    7474

    BloquantBloquant Encore plus simpleEncore plus simple Certaines connexions peuvent ne pas Certaines connexions peuvent ne pas

    être établies en fonction des être établies en fonction des connexions en coursconnexions en cours

    7575

    Degré du réseauDegré du réseau Simple étageSimple étage L'information ne traverse qu'un seul L'information ne traverse qu'un seul

    étage de connecteursétage de connecteurs Ex: CrossEx: Cross--bar 1 n*m connecteurs O(n2)bar 1 n*m connecteurs O(n2)

    Multi étagesMulti étages L'information traverse plusieurs L'information traverse plusieurs

    connecteursconnecteurs Construction à partir de crossConstruction à partir de cross--bar ou à bar ou à

    partir d'une cellule de basepartir d'une cellule de base Ex: Clos (cours de DEA)Ex: Clos (cours de DEA)

    7676

    Construction de réseauxConstruction de réseaux A partir de la cellule de baseA partir de la cellule de base

    7777

    Réseaux bloquantsRéseaux bloquants Conflit sur une liaison est irréductible.Conflit sur une liaison est irréductible. Exemple: réseau Exemple: réseau OmégaOméga Il y a conflit lorsque 0 et 2 connecte 4 et 5Il y a conflit lorsque 0 et 2 connecte 4 et 5

    000001

    011010

    100101

    111110

    000001

    011010

    100101

    111110

    Bloquage

    7878

    Baseline 8x8Baseline 8x8000001

    011010

    100101

    111110

    000001

    011010

    100101

    111110

    Bloquage

  • 1414

    7979

    AlgorithmeAlgorithme dede routageroutage Contrôlé par le numéro de destination Contrôlé par le numéro de destination => 0 sortie en haut=> 0 sortie en haut => 1 sortie en bas=> 1 sortie en bas Adapté à une transmission par paquetsAdapté à une transmission par paquets

    8080

    RéRé--arrangeablearrangeable:: Réseau de Réseau de BénesBénes construit à construit à

    partir d'un baseline et de son partir d'un baseline et de son symétriquesymétrique 4 chemins différents pour un 4 chemins différents pour un

    couple (E,S)couple (E,S) 4 choix possibles => ré 4 choix possibles => ré

    arrangementarrangement

    8181

    BénesBénes

    Baseline Baseline 8282

    Non bloquant:Non bloquant: ClosClos nxmnxm non bloquant si (non bloquant si (mm ≥ 2≥ 2nn -- 1)1) Sinon Sinon réarrangeableréarrangeable

    8383

    R é se a u T yp eN o m b re d 'é ta g e C o û t

    B a se lin e B lo q u a n t L o g N N /2 L o g N

    B e n e s R é a rra n g e a b le 2L o g N - 1 N L o g N

    C lo s N o n Blo q u a n t 2N L o g N 2N L o g N

    8484

    Réseaux statiquesRéseaux statiques

  • 1515

    8585

    FonctionnementFonctionnement Les chemins sont fixés entre 2 Les chemins sont fixés entre 2

    éléments => lien uni ou bidirectionneléléments => lien uni ou bidirectionnel On achemine des données entre les On achemine des données entre les

    processeursprocesseurs Communications sont par messageCommunications sont par message Entête: numéro du destinataireEntête: numéro du destinataire Corps: donnéesCorps: données

    8686

    Terminologies des graphesTerminologies des graphes Le degré Le degré est défini comme étant le est défini comme étant le

    nombre de liens à partir d’un noeud. On nombre de liens à partir d’un noeud. On introduit introduit maxmax et et minmin Si Si maxmax = = min min le graphe est régulierle graphe est régulier

    La distance La distance dd est définit comme étant le est définit comme étant le plus court chemin entre deux noeuds.plus court chemin entre deux noeuds. Le diamètre Le diamètre DD du graphe est la plus du graphe est la plus

    grande des distancesgrande des distancesD = max dD = max d

    8787

    CaractéristiquesCaractéristiques Diamètre: plus il est grand plus la Diamètre: plus il est grand plus la

    distance entre 2 noeuds extrêmes est distance entre 2 noeuds extrêmes est grande. grande. Connectivité: Nombre de chemins Connectivité: Nombre de chemins

    entre 2 noeuds. Résistance aux entre 2 noeuds. Résistance aux pannespannes Faisabilité: Facilement réalisable Faisabilité: Facilement réalisable --

    degré fixe degré fixe -- symétriesymétrie Sous Sous --topologies: inclure des topologies: inclure des

    topologies simplestopologies simples8888

    Caractéristiques (suite)Caractéristiques (suite) Les autres caractéristiques des Les autres caractéristiques des

    réseaux statiques sont :réseaux statiques sont : Routage facileRoutage facile Diffusion et autres macroDiffusion et autres macro--

    communicationscommunications ExtensibilitéExtensibilité

    8989

    Réseau linéaireRéseau linéaire D = ND = N--11 max= 2max= 2

    Numérotation des processeurs de 0 à NNumérotation des processeurs de 0 à N--1 1

    9090

    AnneauAnneau D = N/2 (très long)D = N/2 (très long) = 2= 2 Facile à programmerFacile à programmer

  • 1616

    9191

    Réseau en anneau avec cordeRéseau en anneau avec corde Limite la longueur du cheminLimite la longueur du chemin Connections étendues à plusieurs Connections étendues à plusieurs

    voisinsvoisinsCorde

    9292

    Réseaux complètement Réseaux complètement connectésconnectés

    Tous les noeuds sont connectés 2 à 2Tous les noeuds sont connectés 2 à 2 Avec n noeuds :Avec n noeuds : On a nOn a n--1 liens par noeud 1 liens par noeud = n= n--11 n(nn(n--1)/2 chemins différents1)/2 chemins différents

    L'accès est direct D = 1L'accès est direct D = 1

    9393

    ex: n=4ex: n=4 => pas de conflit=> pas de conflit => utilisable pour n petit=> utilisable pour n petit

    9494

    Réseaux 2 dimensionsRéseaux 2 dimensions

    9595

    Grille toriqueGrille torique 4 liens par noeud (ou 8 sur la MasPar, 4 liens par noeud (ou 8 sur la MasPar,

    liens supplémentaires sur diagonale)liens supplémentaires sur diagonale) 2n liens sur le tore2n liens sur le tore = 4= 4 D = D = NN Numérotation P(i,j)Numérotation P(i,j)

    9696

    Grille toriqueGrille torique

    (tore)

  • 1717

    9797

    Grille

    Pas de lien de rebouclageProche de l’algorithme4 voisins N E W S max = 4 D= 2 (N-1)

    9898

    Real World 2D meshReal World 2D mesh

    1824 node Paragon: 16 x 114 array1824 node Paragon: 16 x 114 array

    9999

    Extensions en 2 dimensionsExtensions en 2 dimensions

    dimensions logiques multiples par des dimensions logiques multiples par des liens plus longsliens plus longs

    6 x 3 x 2

    100100

    Réseau étoileRéseau étoile nn--1 liens 1 liens Bottleneck sur le noeud du centreBottleneck sur le noeud du centre max = Nmax = N--11 min = 1min = 1 D = 2D = 2

    101101

    Réseau arborescentRéseau arborescent Exemple BinaireExemple Binaire = 3= 3 D = 2 LogD = 2 Log22(N)(N)

    Racine

    J niveaux

    102102

    FatFat--TreesTrees

    Liens : plus épais plus on monteLiens : plus épais plus on monte BW fonction de NBW fonction de N

    Fat Tree

  • 1818

    103103

    CubeCube D = 3D = 3 = 3= 3

    104104

    Tore de dimension 3Tore de dimension 3 Même construction que les grilles Même construction que les grilles

    toriques de 2 dimensionstoriques de 2 dimensions Produit de 3 anneauxProduit de 3 anneaux Extension à plusieurs dimensionsExtension à plusieurs dimensions

    105105

    HypercubeHypercube Construction par récurrence d'un Construction par récurrence d'un

    hypercube de degré N à partir de hypercube de degré N à partir de deux hypercubes de degré Ndeux hypercubes de degré N--1. 1. Il suffit de relier deux à deux les Il suffit de relier deux à deux les

    sommets correspondants des deux sommets correspondants des deux hypercubes initiaux.hypercubes initiaux.

    106106

    Hypercube 4Hypercube 4

    107107

    Hypercube (suite)Hypercube (suite) Pour un hypercube de degré Pour un hypercube de degré nn, on a, on a

    N = 2N = 2n n noeudsnoeuds = n = log N= n = log N D = n = log ND = n = log N En tout on a 2En tout on a 2n n * n/2 liens* n/2 liens Réseau régulier, excellents diamètre et Réseau régulier, excellents diamètre et

    connectivitéconnectivité

    108108

    Codage de GrayCodage de Gray Distance de Hamming = nombre de bits Distance de Hamming = nombre de bits

    de même poids différentsde même poids différents Ex: dEx: dHH(101,110)=2(101,110)=2 On numérote les noeuds tels que la On numérote les noeuds tels que la

    distance de Hamming entre 2 voisins distance de Hamming entre 2 voisins soit égale à 1soit égale à 1

  • 1919

    109109

    NumérotationNumérotation Pour N=3Pour N=3 Les numéros sont attribués de telle Les numéros sont attribués de telle

    sorte que sur une direction donnée, ce sorte que sur une direction donnée, ce soit toujours le bit de même poids qui soit toujours le bit de même poids qui varie. varie. On numérote les directions en fonction On numérote les directions en fonction

    du poids du bit modifié.du poids du bit modifié.

    110110

    NumérotationNumérotation

    000 001

    011010

    100 101

    111110

    111111

    Routage sans tableRoutage sans table Pour émettre un message entre deux Pour émettre un message entre deux

    processeurs:processeurs: On peut facilement trouver un On peut facilement trouver un

    chemin valide en connaissant chemin valide en connaissant seulement le numéro du seulement le numéro du destinataire ainsi que les numéros destinataire ainsi que les numéros des noeuds traversés.des noeuds traversés.

    Pas de vue globale du réseauPas de vue globale du réseau

    112112

    Informations localesInformations locales Chaque Noeud doit donc:Chaque Noeud doit donc: Connaître son numéroConnaître son numéro Connaître le numéro du destinataireConnaître le numéro du destinataire Les arcs sont numérotés en fonction Les arcs sont numérotés en fonction

    du poids du bit qui varie entre 2 du poids du bit qui varie entre 2 voisinsvoisins

    113113

    Méthode du XORMéthode du XOR Par un XOR on obtient les arcs sur Par un XOR on obtient les arcs sur

    lesquels on peut envoyer le messagelesquels on peut envoyer le message ex: de 111 vers 001 on obtientex: de 111 vers 001 on obtient

    111111XORXOR 001001

    110 => choix des arcs 1 110 => choix des arcs 1 210210 ou 2ou 2

    on choisit 1 on arrive sur 101on choisit 1 on arrive sur 101101101

    XORXOR 001001100 => choix de l'arc 2 100 => choix de l'arc 2

    on arrive sur on arrive sur 001001114114

    PropriétésPropriétés La distance entre 2 noeuds est égale à La distance entre 2 noeuds est égale à

    la distance de Hamming entre les 2 la distance de Hamming entre les 2 numéros des noeudsnuméros des noeuds 2 noeuds diamétralement opposés ont 2 noeuds diamétralement opposés ont

    une distance de Hamming de n ( N = une distance de Hamming de n ( N = 22nn), tous les bits sont différents), tous les bits sont différents

  • 2020

    115115

    ComparaisonsComparaisonsTopology Degree Diameter Ave Dist Bisection D (D ave) @ P=1024

    1D Array 2 N-1 N / 3 1 huge

    1D Ring 2 N/2 N/4 2

    2D Mesh 4 2 (N1/2 - 1) 2/3 N1/2 N1/2 63 (21)

    2D Torus 4 N1/2 1/2 N1/2 2N1/2 32 (16)

    k-ary n-cube 2n nk/2 nk/4 nk/4 15 (7.5) @n=3

    Hypercube n =log N n n/2 N/2 10 (5)

    116116

    Hypercube à cycles Hypercube à cycles connectésconnectés

    Chaque sommet est constitué d'un Chaque sommet est constitué d'un anneau de noeudsanneau de noeuds Nombre de noeuds de l'anneau = NNombre de noeuds de l'anneau = N

    117117

    Caractéristiques des liensCaractéristiques des liens Temps de cycle Temps de cycle TchTch: pour positionner un : pour positionner un

    bit sur un fil (Bandwith = 1/Tch)bit sur un fil (Bandwith = 1/Tch) Largeur Largeur ww: nombre de bits transférés en : nombre de bits transférés en

    même tempsmême temps Type de transmission : unidirectionnel et Type de transmission : unidirectionnel et

    bidirectionnel.bidirectionnel.

    118118

    Machines réellesMachines réelles

    119119

    Méthodes de Méthodes de transmissiontransmission

    120120

    Les modes de communicationLes modes de communication Protocole d’acheminement des Protocole d’acheminement des

    messagesmessages Découpage des messages?Découpage des messages? Blocage en cours de route?Blocage en cours de route? Routage des messages?Routage des messages?

  • 2121

    121121

    Store and forwardStore and forward Message est stoppé sur chaque noeud, Message est stoppé sur chaque noeud,

    déposé en mémoire locale puis déposé en mémoire locale puis réexpédié vers le processeur suivantréexpédié vers le processeur suivant Routage logicielRoutage logiciel Simplicité du circuit d’interconnexionSimplicité du circuit d’interconnexion Temps de traversée proportionnel à la Temps de traversée proportionnel à la

    distancedistance Interruption du processeurInterruption du processeur

    122122

    Temps de transmissionTemps de transmission Pour un message de Pour un message de l l bits avec un header bits avec un header

    de de HH on obtient:on obtient:

    T = Tch [ d x ( l + H ) / w ]T = Tch [ d x ( l + H ) / w ]

    dd : distance entre les deux noeuds: distance entre les deux noeuds (Méthode store and forward)(Méthode store and forward)

    123123

    Routage câbléRoutage câblé Routage matérielRoutage matériel Plus d'arrêt du message sur les noeudsPlus d'arrêt du message sur les noeuds Plusieurs modes d’acheminementPlusieurs modes d’acheminement CircuitCircuit--switchedswitchedWormWorm--holehole Virtual cut throughVirtual cut through PacketPacket--switchedswitched

    124124

    CircuitCircuit--SwitchedSwitched Emission de l’enEmission de l’en--tête du message tête du message

    (numéro du destinataire)(numéro du destinataire) Etablissement des connexions le long Etablissement des connexions le long

    du chemindu chemin Dès l’arrivée au destinataire, envoi d’un Dès l’arrivée au destinataire, envoi d’un

    Ack sur ce cheminAck sur ce chemin Emission du message sur ce cheminEmission du message sur ce chemin Libération du cheminLibération du chemin

    125125

    CircuitCircuit--switchedswitchedExpéditeur Destinataire

    Switch Switch Switch Switch

    Message

    En-tête

    Liens établis

    126126

    Circuit-switchedExpéditeur Destinataire

    Switch Switch Switch Switch

    Message En-tête

    Ack

  • 2222

    127127

    Circuit-switchedExpéditeur Destinataire

    Switch Switch Switch Switch

    Paquet En-tête

    Paquet

    Paquet

    PaquetPaquet

    128128

    Circuit-switchedExpéditeur Destinataire

    Switch Switch Switch Switch

    Paquet

    Paquet

    PaquetPaquet

    Paquet

    Liens relâchés

    129129

    WormWorm--holehole Envoi de l’enEnvoi de l’en--tête vers les destinatairestête vers les destinataires Mais le corps du message suit tout de Mais le corps du message suit tout de

    suite l’ensuite l’en--têtetête En cas de blocage de l’entête, les En cas de blocage de l’entête, les

    paquets sont mémorisés dans les paquets sont mémorisés dans les switches du cheminswitches du chemin On utilise le temps d'établissement du On utilise le temps d'établissement du

    circuit pour la communicationcircuit pour la communication130130

    Temps de transmissionTemps de transmission On obtient une réduction du temps de On obtient une réduction du temps de

    transmission:transmission:

    T = Tch [ d x H / w + l / w ]T = Tch [ d x H / w + l / w ]= Tch [ d x h + l / w ]= Tch [ d x h + l / w ]

    avec avec h = H / wh = H / w temps de transfert du temps de transfert du headerheader

    131131

    Virtual cut ThroughVirtual cut Through Fonctionnement semblable au WormFonctionnement semblable au Worm--

    holehole En cas de blocage les paquets sont En cas de blocage les paquets sont

    acheminer jusqu’au switch sur lequel acheminer jusqu’au switch sur lequel l’enl’en--tête est bloquétête est bloqué On libère au plus vite les noeuds du On libère au plus vite les noeuds du

    cheminchemin Pas de réalisation matérielle car il faut Pas de réalisation matérielle car il faut

    des mémoires de switch très grandesdes mémoires de switch très grandes132132

    Store&Forward vs CutStore&Forward vs Cut--Through RoutingThrough Routing

    23 1 0

    23 1 0

    23 1 0

    23 1 0

    23 1 0

    23 1 0

    23 1 0

    23 1 0

    23 1 0

    23 1 0

    23 1 0

    23 1

    023

    3 1 0

    2 1 0

    23 1 0

    0

    1

    2

    3

    23 1 0Tim e

    Store & Forw ard R outing C ut-Through R outing

    S ourc e De st Dest

  • 2323

    133133

    PacketPacket--switchedswitched Découpe du message en petits paquetsDécoupe du message en petits paquets Un enUn en--tête dans chaque paquettête dans chaque paquet Chemins différentsChemins différents Pas de réservation de lienPas de réservation de lien Risques d’interblocageRisques d’interblocage