Title: 2. RETELE DE INTERCONECTARE
12. RETELE DE INTERCONECTARE
- PROPRIETATI ALE RETELELOR DE INTERCONECTARE
- RETELE STATICE
- RETELE DINAMICE
- RETELE PE UN CIP
22.1 PROPRIETATI ALE RETELELOR DE INTERCONECTARE
O retea - graf cu un numar finit de noduri,
conectate prin arce orientate sau neorientate.
Gradul nodului (d degree) numarul de arce
(legaturi sau canale) conectate la nod. Reflecta
numarul de porturi de I/E necesare pentru un nod,
deci costul unui nod. Diametrul (D) maximul
dintre cele mai scurte cai care leaga oricare
doua noduri (numar de legaturi traversate).
Largimea sectiunii (b bisection width)
numarul minim de arce (canale) de-a lungul unei
sectiuni care imparte reteaua in doua jumatati.
Daca fiecare canal are o largime de w biti,
atunci largimea sectiunii la nivel de fire este B
bw. Lungimea firului (canalului) intre noduri
poate afecta latenta semnalului, alunecarea
ceasului si cerintele de alimentare. Functiile
de routare a datelor sunt utilizate pentru
transferul de date intre elementele de
prelucrare, fiind implementate in routere
hardware. Exemple deplasare (shifting),
rotatie, permutatie (unu la unu), broadcast
(unu la toate), multicast (unu la mai multe),
shuffle, etc.
3Retelele de interconectare -retele
statice -conexiuni fixe in timp (nu se modifica
in timpul executiei programului) -o conexiune
gt legatura punct-la-punct intre doua
noduri -se utilizeaza in multicalculatoare
(sisteme MIMD cu transfer de mesaje). -retele
dinamice -conexiuni dinamice intre componente
(se modifica in timpul executiei programului
paralel, in functie de cerintele de
comunicatie) -contin comutatoare (switches)
si interconexiuni (links) -se utilizeaza in
multiprocesoare (sisteme MIMD cu memorie
partajata).
42.2 RETELE STATICE
- Retea liniara
- Inel. Inel cu coarde
- Barrel shifter
- Arbore si stea
- Arbore gros
- Retea plasa. Tor
- Retele sistolice
- Hipercuburi
- Cicluri cub-conectate
- Retea n-cub de baza k
5Retea liniara
retea unidimensionala care conecteaza N noduri
prin N-1 legaturi. -grad nod intermediar d
2 -grad nod terminal d 1 -diametrul D
N-1 (afecteaza performantele pentru N
mare) -largimea sectiunii b 1. gt Este cea
mai simpla topologie de conectare, fiind economic
pentru N mic. Nu se utilizeaza pentru N mare.
6Inel. Inel cu coarde
conectarea nodurilor terminale ale unei retele
liniare. Poate fi unidirectional sau
bidirectional. Este simetric !
sau intr-o alta reprezentare
-grad nod d 2 (constant) -diametru D N/2
(inel bidirectional) sau D N (inel
unidirectional).
7 Prin cresterea gradului de nod (exemplu la 3 sau
4 gt un inel cu coarde (de grad 3, respectiv
4). scade diametrul retelei !
Comparand retelele inel si inel cu coarde de
grad 4 gt diametrul D 4 2.
8 In caz extrem, pentru reteaua complet conectata
gradul de nod d 7, iar diametrul D 1.
Exemple Token Ring IBM, CDC Cyberplus
Multiprocessor, KSR-1.
9Barrel shifter
Intr-o retea de dimensiune N2n , nodul i este
conectat la nodul j, astfel incat j-i2r,
pentru r0, 1, 2, ..., n-1. Gradul de nod este
d2n-1 si diametrul Dn/2. Exemplu retea
barrel shifter cu N8 (n3).
gt d2n-15 si D3/21.5 (2).
10Arbore si stea
-arbore complet echilibrat avand k niveluri gt N
2k 1 noduri -grad maxim de nod d
3 -diametrul D 2(k - 1) (lungimea caii care
leaga doua frunze cu radacina ca unic ascendent
comun). Exemplu k 5 gt arbore N 31 noduri.
11sau intr-o alta reprezentare
gt grad de nod constant (arhitectura scalabila),
dar diametru mare.
12 Steaua este un arbore cu doua niveluri, grad de
nod maxim d N-1 (nodul central) si diametrul D
2.
Exemplu sistemul multiprocesor DADO de la
Columbia University (arbore binar cu 10 niveluri
si 1023 noduri).
13Arbore gros
Arborele gros (fat tree) propus de Leiserson
in 1985 gt largimea de canal creste de la frunze
spre radacina.
sau
Exemplu sistemul CM-5.
14Retea plasa. Tor
gt retea plasa (mesh) de dimensiune k are N
nk noduri, un grad de nod interior d 2k si un
diametru D k(n 1), unde n este numarul de
noduri dintr-o dimensiune si k este numarul de
dimensiuni.
Exemplu n 6, k 2, N 36. Gradele nodurilor
de pe granite si din colturi sunt 3, respectiv
2. Exemple de sisteme Illiac IV, MPP, DAP,
CM-2, Intel Paragon.
15 - reteaua mesh Illiac dimensiune nn gt
diametru Dn-1 (jumatate din diametrul mesh-ului
pur).
16 Torul -varianta de mesh (diametru si mai mic -
combina inelul si meshul) -conexiuni de inel
dupa fiecare linie si coloana.
gt tor nn grad de nod d 4, diametru D 2
n/2 .
17Retele sistolice
- implementeaza algoritmi ficsi. Exemplu
reteau pentru inmultirea a doua matrici.
-grad nod interior d 6 -utilizare sisteme
cu fluxuri multidirectionale de date, procesoare
de masive VLSI, pentru aplicatii
speciale -raport performanta / cost
bun -dezavantaje aplicabilitate limitata si
dificultate de programare.
18Hipercuburi
gt hipercub de dimensiune n are N 2n noduri (2
noduri / dimensiune) -grad nod d n si
diametru D n -fiecare nod cai de
comunicatie directe si separate catre n alte
noduri (muchiile cubului) -fiecare nod adresa
n biti (2n adrese distincte).
19(No Transcript)
20 gt alta reprezentare 2D a unei retele hipercub
de dimensiune mare
n4 n5
n 4
n 5
21 Exemple -cubul cosmic Caltech, dimensiune n6
si N64 de procesoare -sisteme comerciale
NCUBE, Intel si FPS - Floating Point System
(memoria distribuita între noduri, numai cu
memorie locala la fiecare nod). Avantaje -fie
care procesor cu memoria sa locala si canalele
directe de comunicatie gt problema gâtuirii
sistemului este mai putin importanta! Dezavantaj
-sisteme hipercub comerciale - comunicatie
directa interprocesor seriala gt limiteaza
productivitatea!
22Cicluri cub-conectate
gt ciclurile cub-conectate (CCC cube
connected cycles) - modificare a arhitecturii
hipercub. Exemplu hipercub de dimensiune 3 gt
ciclu cub-conectat de dimensiune 3.
23 -retea CCC de dimensiune k provine de la un
hipercub de dimensiune k cu n 2k noduri
(fiecare nod inlocuit printr-un inel avand k
noduri). gtretea cu k2k noduri ! Pentru
reteaua din figura (k 3) gt diametrul D 6
(dublul diametrului hipercubului de
origine). In general, diametrul unei retele CCC
de dimensiune k este D 2k ! -avantaj grad
constant de nod d 3 (nu depinde de dimensiunea
hipercubului), gt o arhitectura mai buna pentru
realizarea sistemelor scalabile (daca se permite
tolerarea latentei).
24Retea n-cub de baza k
-n dimensiunea cubului, k numarul de noduri
de pe fiecare dimensiune. Exemplu retea 3-cub de
baza 4
25 -numarul de noduri este Nkn -un nod gt adresa
de n cifre in baza k A a0a1...an-1, unde ai
reprezinta pozitia nodului in dimensiunea
i -toate legaturile sunt bidirectionale -torul
obisnuit bidimensional 33 este un 2-cub de baza
3 -costul acestei retele este dominat de
numarul de fire si mai putin de numarul de
comutatoare.
gt pentru o largime a sectiunii la nivel de fire
constanta, retelele de dimensiune mica cu canale
largi ofera o latenta mai scazuta , concurenta
mai mica, productivitate generala mai mare, in
comparatie cu retelele de dimensiune mare, dar cu
canale inguste.
26Tabel recapitulativ cu principalele
caracteristici ale retelelor statice
27Implementarea fizica a retelelor statice
gt solutii tridimensionale (placile dispun de
conectori pe ambele fete, nu numai lateral).
-fiecare nod un modul de prelucrare si un modul
de comunicatie -modulul de comunicatie CFSM
(Communication Finite State Machine) -interfata
catre procesor cozi FIFO.
28 Datele sunt transferate intre doua noduri vecine
intr-o perioada de ceas !
29 Exemplu nod NuMesh.
30 -topologia tip mesh (posibil anumite noduri nu
sunt populate) -nodurile speciale -gt periferia
sistemului.
31 -sistemul banda de asamblare
bidimensionala -buffer-ele FIFO -gt functionarea
procesoarelor la viteze diferite -ceas de
control distribuit.
322.3 RETELE DINAMICE
- Magistrale
- Comutatoare grila
- Retele multinivel
33Magistrale
-una sau mai multe magistrale pentru
inteconectarea componentelor -organizarea
generala magistrala multiplexata în timp cu n
procesoare, m module de memorie partajata si d
dispozitive de I/E (partajate între procesoarele
sistemului).
Exemple sisteme multiprocesor comerciale -
Sequent, Encore, ELXSI.
34Avantaj -flexibilitate (se pot oricând adauga
sau elimina module) Dezavantaj -magistrala -
resursa critica a sistemului -scade
productivitatea pe masura ce se adauga noi
module -caderea magistralei - catastrofala
pentru sistem.
gt varianta multiprocesor cu magistrala
multipla !
35 Avantaj previne gâtuirea sistemului
! Dezavantaj cresterea costului sistemului
prin utilizarea de mai multe magistrale si
fiecare modul cuplat la magistrala (procesor,
memorie sau dispozitiv de I/E) este de tip
multiport. gt în practica numarul mic de
magistrale (ex 2) Exemplu sistemul Alliant
(magistrala duala între memoriile cache si
memoria principala partajata si o magistrala
concurenta pentru conectarea în exclusivitate a
procesoarelor). Factori care afecteaza
caracteristicile si performantele
magistralei -numar de dispozitive active pe
magistrala -algoritmul de arbitrare a
magistralei -centralizarea sau distributia
controlului -numar de biti de date care se
transfera la un moment dat (lungimea
cuvântului) -sincronizarea transmisiei de
date -detectarea erorilor.
36Comutatoare grila
gt un comutator grila (crossbar switch)
conecteaza simultan oricare procesor sau procesor
de I/E la oricare modul liber de memorie
partajata. Organizarea generala
37 Comutatorul grila permite legaturi de
comunicatie concurente între toate procesoarele
si toate modulele de memorie partajata. Dirijare
a informatiei prin comutatoarele punctelor de
intersectie CS (crosspoint switch). Structura
unui CS
38 Avantaj productivitate mare prin cai de
comunicatie concurente multiple. Dezavantaj
cost mare si logica complexa. Exemplu un
sistem cu n procesoare si n module de memorie
partajate gt n2 puncte de intersectie, deci cost
O(n2 ) !
39 Structura unui comutator grila
40Implementare comutator elementar
41 Varianta
42Retele multinivel
-în sistemele multiprocesor mari -interconectar
e mai generala procesor-procesor si procesor
memorie.
43 gt interconexiuni de patru tipuri (Feng si
Wu) a) interconexiune strict fara blocare
(strictly nonblocking) poate conecta orice
intrare libera la orice iesire libera, fara nici
o conditionare fata de celelalte conexiuni
existente în sistem. Exemplu comutatorul grila.
Implementare eficienta - retelele Clos ! Retea
Clos cu trei etaje
44 Numarul de intrari N r n (r numar de
comutatoare grila din primul si ultimul nivel, n
numar de intrari în fiecare comutator de pe
primul nivel). gt reteaua are mai putin decât N2
puncte de intersectie pentru N?24 si, în general,
necesita puncte de intersectie. gt pentru
m?2n-1 reteaua Clos cu trei etaje este strict
fara blocare.
45 b) interconexiune fara blocare în sens larg
(wide-sense nonblocking) poate suporta toate
conexiunile posibile fara blocare, dar aceasta
numai daca se utilizeaza reguli specifice de
rutare pentru realizarea conexiunilor. gt pentru
m?3n/2 reteaua Clos cu trei etaje este o retea
fara blocare în sens larg ! c) interconexiune
fara blocare rearanjabila (rearrangeable
nonblocking) poate suporta toate conexiunile
posibile între intrari si iesiri prin rearanjarea
(reordonarea) conexiunilor sale
existente. -înainte de începerea prelucrarilor
trebuie sa se specifice toate conexiunile
dorite. gt reteaua Clos cu trei etaje este
rearanjabila daca m?n.
46Exemplu retea rearanjabila cu numar minim de
puncte de intersectie (Benes)
În general, pentru N2n intrari gt 2n-1 etaje si
N(2n-1)/2 comutatoare. d) interconexiune cu
blocare (blocking) poate realiza multe
conexiuni, dar nu toate conexiunile
posibile. Exemple reteaua Banyan, reteaua
Omega, reteaua Data Manipulator, etc.
47 -blocul de interschimb (comutator elementar)
- numar procesoare N gt numar de niveluri log2N,
numar blocuri de interschimb N/2 pentru fiecare
nivel. - numar total blocuri de interschimb (N/2)log2N
(în comparatie cu N2 numarul de puncte de
intersectie ale unui comutator grila).
48Retea cu legaturi hipercub
-reprezentarea binara a oricarei etichete de
legatura L bm-1 . . . b1 b0 -functia de
interconectare a cubului cub i ( L ) cub i
( bm-1 . . . b1 b0 ) bm-1 . . . bi1 bi bi-1
. . . b1 b0 (pentru i0,1, . . . , m-1, unde
bi este complementul logic al bitului bi). gt
nivelul (etajul) i2 0 (000) 1 (001) 2
(010) 3 (011) 4 (100) 5 (101) 6 (110) 7
(111) gt nivelul i1 0 (000) 1 (001) 4
(100) 5 (101) 2 (010) 3 (011) 6 (110) 7
(111) gt nivelul i0 0 (000) 2 (010) 4
(100) 6 (110) 1 (001) 3 (011) 5 (101) 7 (111)
49Retea cu legaturi hipercub cu opt intrari /
iesiri si trei niveluri
50Retea omega
Pentru N intrari, notate cu i0, 1, 2, , N-1,
functia de conexiune shuffle (amestecare a
cartilor de joc) sh ( i ) ( 2 i ? 2 i / N
? ) mod N Exemplu pentru o conexiune shuffle
cu un singur nivel (N8) sh ( 0 ) ( 0 ?
0 / 8 ? ) mod 8 ( 0 0) mod 8 0 mod 8
0 sh ( 1 ) (2 ? 2 / 8 ? ) mod 8 ( 2 0)
mod 8 2 mod 8 2 sh ( 2 ) ( 4 ? 4 / 8 ?
) mod 8 ( 4 0) mod 8 4 mod 8 4 sh ( 3 )
( 6 ? 6 / 8 ? ) mod 8 ( 6 0) mod 8 6
mod 8 6 sh ( 4 ) ( 8 ? 8 / 8 ? ) mod 8
( 8 1) mod 8 9 mod 8 1 sh ( 5 ) ( 10
? 10 / 8 ? ) mod 8 ( 10 1) mod 8 11 mod 8
3 sh ( 6 ) ( 12 ? 12 / 8 ? ) mod 8 ( 12
1) mod 8 13 mod 8 5 sh ( 7 ) ( 14 ? 14
/ 8 ? ) mod 8 ( 14 1) mod 8 15 mod 8
7 Conexiunea shuffle poate fi definita si prin
relatia sh(bm-1 bm-2 . . . b1 b0) bm-2 .
. . b1 b0 bm-1
51Interconexiunea shuffle pentru opt linii
52 gt retea cu m log2N retele de conexiune
shuffle cascadate se numeste retea omega.
Exemplu sistemul Ultracomputer de la New York
University. -retea omega nn contine (n/2)log2n
comutatoare gt complexitate (cost) O(nlog n) lt
O(n2) Reteaua omega este o retea blocanta!
53Exemplu retea omega de dimensiune 88 (n 8
intrari / iesiri, k 3 etaje)
54Retea butterfly
-pentru o eticheta binara bm-1 . . . b1 b0,
functia butterfly de ordinul k, notata Bk, este
definita pentru k 1, 2, , m-1 Bk ( bm-1
. . . bk1 bk bk-1 . . . b1 b0 ) bm-1 . . .
bk1 b0 bk-1 . . . b1 bk Exemplu functia
butterfly pentru m 2, eticheta binara b1b0,
k1 este B1 (b1b0 ) b1b0 având
valorile B1 ( 0 0 ) 0 0 B1 ( 0 1 ) 1
0 B1 ( 1 0 ) 0 1 B1 ( 1 1 ) 1 1
55Exemplu reteaua butterfly pentru m2 si k1
-cascadarea a doua retele butterfly identice
gt comutator 4x4 BBN (Bolt, Beranek si Newmann)
Butterfly
56Retea baseline
gt generare recursiva primul nivel contine un
bloc NN (N intrari si N iesiri), al doilea nivel
contine doua blocuri N/2N/2, . . . , in final se
obtin N/2 blocuri de dimensiune 22
(comutatoarele 2x2 au numai doua stari stabile
conexiune directa si conexiune inversa).
57Exemplu retea baseline cu 8 intrari si 8 iesiri
58Tabel recapitulativ cu principalele
caracteristici ale retelelor dinamice
592.4 RETELE PE UN CHIP
Dezvoltarea tehnologica gt cipuri performante
SoC (System-on-chip) si MPSoC (Multi-processor
systems-on-chip). Corespunzator gt NoC
(Network-on-chip) micro-retele de interconectare
in cadrul acestor sisteme conectarea scalabila
si concurenta de tipul punct-la-punct sau
punct-la-mai-multi intre elementele de prelucrare
(procesoare) si memorii (memorii cache) sau
porturi de I/E. O serie de topologii deja
discutate au fost adaptate pentru NoC.
60 Dally si Towles retea tor (disponibilitate de
comunicatie). -in nodurile retelei procesoarele
si memoriile (dimensiuni fizice omogene,
amplasare uniforma pe nivelul de baza al
cipului). -comunicatia intre noduri comutare de
pachete -gt fiecare bloc (nod) executa in mod
independent rutarea de pachete si arbitrarea.
61 Reteaua Nostrum (Kumar) topologie mesh 2D cu
blocurile pe nivelul de baza -transferul de
date rutarea pachetelor. -diferenta fata de
reteaua precedenta functia de rutare realizata
de o retea dedicata de comutatoare functionand ca
o interfata de retea pentru fiecare
nod. -reteaua dedicata switch-uri (in nodurile
retelei) si conexiuni (fire). -fiecare switch
dispune de buffere si circuite de arbitrare
proprii.
62 Reteaua Spin (Guerrier si Greiner) topologie de
tip arbore gros gt o arhitectura de comunicatie
pentru MPSoC. -fiecare procesor nod
frunza. -transfer de mesaje pachetele
traverseaza arborele (sus-jos). -header-ul de
pachet adresa de destinatie, identificator,
informatii de rutare. -fiecare pachet incheiat
cu o suma de control pentru detectarea erorilor.
63 Reteaua Octagon (Karin) arhitectura de
comunicatie pentru procesoare de retea. -8
procesoare conectate in inel patru diametre
(intarzierea de comunicatie intre oricare doua
noduri locale maxim 2T). -reteaua scalabila un
nod -gt bridge pentru conectarea inelului la un
alt inel.
64Topologii de retele MPSoC -retele NoC
utilizate in MPSoC (ierarhia procesoare-memorii
si interconectare procesoare). Clasificarea
retelelor MPSoC -retele directe -retele
indirecte. Retele directe un procesor este
conectat la alte procesoare direct prin retea,
fiecare nod efectuand rutarea fluxului de date
si arbitrarea. Retelele indirecte procesoarele
sunt interconectate prin unul sau mai multe
switch-uri intermediare(functii de arbitrare si
rutare) -gt retele de interconectare multinivel.
65 Topologii de retele directe -topologii
ortogonale retea mesh (dimensiune k si
n noduri/dimensiune) tor (dimensiune k
si n noduri/dimensiune)
66 -topologie Octagon (discutat anterior) -cicluri
cub conectate (CCC)
67 Topologii de retele indirecte -retea de
comutatoare grila (crossbar) poate conecta N
porturi de intrare la N porturi de iesire.
68 -retea complet conectata multiplexoare pentru a
furniza toate intrarile la iesiri. Multiplexor
controlat de arbitru care determina intrarea
conectata la iesire.
69 -retea arbore gros cai de date multiple de la
sursa la destinatie. retea arbore extinsa cu
noduri radacina multiple. Exemplu reteaua Spin
(vezi desenul). -reteaa Butterfly fiecare
ruta sursa-destinatie utilizeaza o cale de date
dedicata. Intarzierea intre oricare doua noduri
constanta (numar de etaje).
70Variante ale topologiei -reteaua Banyan cu
N2n intrari si N2n iesiri (n dimensiunea
retelei), ½Nlog2N switch-uri in n etaje.
71 -reteaua Batcher-Banyan retea de sortare
Batcher retea Banyan.
72 Reteaua de sortare comparatoare si fire gt
sortarea unui set de numere. Comparator doua
intrari (compara doua valori) gt trimite valoarea
mai mare la o iesire (aici, iesirea de jos) si
valoarea mai mica la cealalta iesire (sus).
Exemplu retea cu 4 intrari si 4 iesiri (sorteaza
4 numere).
73O retea de sortare Bubble Sort recursiva -n1
intrari -gt bloc pentru compararea a n1 valori (n
comparatoare) gt valoarea cea mai mare pe linia
cea mai de jos -n linii ramase -gt bloc pentru
compararea a n valori (n-1 comparatoare) . . . .
. . . -ultimul nivel un comparator -gt compara
cele doua valori de pe primele doua linii.
74Implementarea pentru sortarea a 6 valori
- intarziere mare.
- In practica retele mai performante. Exemplu
retele Batcher odd-even mergesort, bitonic sort
si Shell sort.
75 Analiza retelelor de switch-uri
indirecte Retele indirecte switch-urile
circuite intermediare nodurile procesor. Circuite
le plasei de switch-uri -fire de
interconectare -buffere. -switch-uri de
noduri Switch-urile directioneaza pachetele
etaj intermediar -gt etajul urmator,,-gtdestinatie.
Exemplu retea Banyan -gt switch-uri de nod
2x2 (grad 4). Directionarea pachetelor conform
adresei destinatie din pachete. Unitatea de
intrare paralelizarea fluxului serial de date gt
flux paralel de 16 / 32 de biti. Alocator
citeste adresa de destinatie intr-un singur tact
gt daca portul de destinatie este disponibil,
alocatorul aloca portul de iesire pachetului.
76(No Transcript)
77 Concurenta de pachete -gt buffere pentru
memorarea pachetelor de prioritate mai
mica. Tipuri de concurenta intre pachetele de
intrare -concurenta de destinatie (dependenta
de aplicatie) doua sau mai multe pachete din
porturile de intrare necesita acelasi port
destinatie. Presupunere arbitrul a rezolvat deja
acest tip de concurenta inainte ca unitatea de
intrare sa livreze pachetele plasei de
switch-uri. -concurenta de interconectare
(blocare interna) in interiorul plasei de
circuite aceeasi legatura trebuie partajata de
pachete cu destinatii diferite. Apare in
interiorul retelelor de switch-uri si depinde de
arhitectura.
78Bufferele implementate cu memorii partajate SRAM
sau DRAM.
79R etea mesh 2D -procesoarele amplasate in
planul de baza (a). -fiecare latura a blocului
o intrare si o iesire. -switch-ul interfata
de retea pentru nodul procesor plasat in centrul
blocului (b). -fiecare bloc patru intrari si
patru iesiri interconectate (c). -switch-ul
suporta conexiuni concurente de la oricare canale
de intrare catre oricare canale de iesire.
80 Fiecare buffer semnal de control -gt lungimea
cozii (codificata binar) -gt logica
combinationala (alocator) pentru implementarea
algoritmului de rutare.
Canalul de iesire selectat de DeMUX pe baza
rezultatelor comparatorului privind penalizarile
de intarziere pe toate canalele de
iesire -lungimile cozilor buferelor de intrare
ale nodurilor adiacente -suma lungimii cozii si
2Ds intarzierea suplimentara de switch datorita
canalului gresit Misroute.