Title: 3 MULTICALCULATOARE
13 MULTICALCULATOARE
- ORGANIZARE GENERALA
- TRANSFERUL DE MESAJE LA MULTICALCULATOARE
- PROCESOARE MASIV PARALELE (MPP)
- SISTEME CU TRANSPUTERE
- MULTICALCULATOARE COW
23.1 ORGANIZARE GENERALA
Multicalculatoarele sisteme MIMD (Multiple
Instruction Multiple Data) comunicatia -
transfer de mesaje. gt rezolva limitari ale
multiprocesoarelor -scalabilitate redusa
multiprocesoare numar redus de procesoare 64 de
procesoare la ENTERPRISE 10000, 256 de procesoare
la NUMA-Q gt multicalculatoare numar mare de
procesoare 2048 de procesoare la Cray T3E, sau
9152 de procesoare la Intel/Sandia Option
Red -concurenta crescuta la memoria partajata
gt multicalculatoarele dispun de module de
memorie proprii fiecarui procesor, comunicatie
prin send si receive.
3 Structura
generala a unui multicalculator.
4- doua mari categorii de multicalculatoare
- -MPP (Massively Parallel Processors) procesoare
masiv paralele - -COW (Cluster Of Workstations) clustere de
statii de lucru.
5Structura de baza a unui nod
unde -router implementeaza protocolul de
comunicatie de nivel scazut, continand
switch-uri, buffere si o unitate de rutare si
arbitrare -canale externe interconecteaza
routerele si defineste topologia retelei de
interconectare -canale interne conecteaza
routerul la nodul de prelucrare local si
implementeaza interfata HW fizica dintre ele.
6 Arhitectura de principiu a unui router cu un
canal de intrare si un canal de iesire (conectare
la nod)
unde -LC (link controller) controlor de
legatura -unitatea de routare si arbitrare
implementeaza algoritmul de routare si protocolul
de control al fluxului de pachete, rezolvand
conflictele intre cereri simultane pentru aceeasi
legatura de iesire (algoritmi de tip
round-robin, prioritati fixe sau primul sosit
primul servit).
73.2 TRANSFERUL DE MESAJE LA MULTICALCULATOARE
- Formatul mesajelor
- Scheme de rutare a mesajelor
- Analiza latentei
- Canale virtuale. Blocare.
- Rezolvarea coliziunii pachetelor
- Algoritmi de rutare
- Operatiile send si receive
- Protocoale pentru transfer de mesaje
- Solutii de interpretare a informatiilor din
tranzactia prin retea
8Formatul mesajelor
Mesajul unitatea logica de comunicare intre
noduri - numar arbitrar de pachete de lungime
fixa (gt lungime variabila). Pachetul
unitatea de baza continand adresa de destinatie
(pentru rutare) si un numar de secventa (pentru
reasamblarea mesajului). Un pachet este impartit
intr-un numar de flituri (flits flow control
digits) de lungime fixa reprezentand -informatii
de rutare (R) specificand destinatia -numar de
secventa (S) -date (D).
9Scheme de rutare a mesajelor
Modelul temporal general pentru o comunicatie
fara conflicte intre doua noduri la distanta
unde -ts timpul de lansare (startup)
componenta comuna tuturor tehnicilor de
comunicatie (sec) -tm intarzierea prin canal,
intre doua routere adiacente (sec/flit) -tr
timpul de decizie a routerului (sec) -tw
intarziere de comutare a routerului dupa luarea
deciziei de routare (sec/phit).
10Se noteaza -w latimea canalului numarul de
biti ai canalului fizic care pot fi transmisi
simultan intre doua routere adiacente
(dimensiunea unui phit) -µ rata canalului
rata de varf a canalului in biti/sec care se pot
transfera pe fiecare fir intr-un canal
fizic -B largimea de banda a canalului B µ
in phits/sec, sau se mai poate defini Bw µ in
biti/sec -M dimensiunea unui pachet (in
flits) -d lungimea caii de routare (numar de
canale).
11 Comutarea de circuite (circuit switching).
Comunicatia intre sursa si destinatie are doua
faze faza de stabilire a circuitelor si faza de
transmisie a mesajului. -se injecteaza o sonda
de routare rezerva calea de la sursa la
destinatie, continand adresa de destinatie si
informatii de control, avand dimensiunea de p
phits -sonda inainteaza catre destinatie prin
routerele intermediare, rezervand calea
(a) -calea este setata cand sonda a ajuns la
destinatie -in acest moment se transmite inapoi
un flit de achitare acknowledge (b) -la
receptia achitarii sursa trimite intregul mesaj
la viteza maxima a caii, care formeaza un circuit
hardware rezervat intregul timp cat dureaza
transmisia mesajului (c) -circuitul este
eliberat de catre nodul destinatie sau de ultimii
biti din mesaj.
12Intarzierea (mesaj de lungime M transmis la
distanta d) tCS d (tr (p 1)(tw tm))
M tm unde d (tr p(tw tm)) este timpul
pentru sonda sa ajunga la destinatie d (tw
tm) este timpul pentru intoarcerea
achitarii M tm este timpul de transmisie a
mesajului. gt circuitul opereaza ca un singur
fir de la sursa la destinatie. Avantaj mesaje
lungi si rare. Dezavantaj mesaje scurte si dese.
13 Routarea memoreaza si inainteaza
(store-and-forward) are ca unitate de baza
pachetul. Fiecare nod utilizeaza un buffer de
pachet. Pachetul este transmis de la un nod sursa
la un nod destinatie printr-o secventa de noduri
intermediare.
14 Aceasta tehnica se mai numeste si comutare de
pachete -mesajul impartit in pachete de lungime
fixa (fiecare pachet constand din flituri
incepand cu flitul header) -fiecare nod are
buffere de intrare si de iesire pentru un intreg
pachet -fiecare pachet este routat individual
de la sursa la detinatie -un pas (hop-salt)
copierea intregului pachet dintr-un buffer de
iesire in bufferul de intrare urmator -deciziile
de routare sunt luate de fiecare router
intermediar numai dupa ce intregul pachet a fost
complet memorat in bufferul de intrare.
15 Intarzierea (pachet de lungime M trasmis pe
distanta d) tSF d (tr (tw tm) M) la
fiecare pas -se iau decizile de routare tr
-pachetul este transferat la routerul urmator
(tw tm) M -gt se repeta de d ori. Avantaj
mesaje scurte si dese (o transmisie ocupa cel
mult un canal din intreaga cale, dar bufferarea
intregului pachet creste costul si scade
viteza. Dezavantaj intarzierea in comunicatie
este proportionala cu produsul M d, gt se
utilizeaza routarea de cale minima si retele de
diametru mic.
16 Routarea cu fortare virtuala (virtual
cut-through) -gt cea mai sofisticata si scumpa
tehnica de routare -mesajele impartite in
pachete iar fiecare router are un buffer pentru
memorarea unui intreg pachet -in loc sa se
astepte ca intregul pachet sa fie bufferat,
flitul header care intra in router este fortat in
routerul urmator imediat ce s-a luat decizia de
routare si canalul de iesire este liber
(b) -fiecare flit urmator este bufferat cand
ajunge in router, dar imediat este fortat catre
routerul urmator daca canalul de iesire este
liber (c) -in cazul in care headerul nu poate
inainta el asteapta in routerul curent si toate
fliturile urmatoare sunt receptionate, posibil
astfel sa elibereze canalele ocupate pana atunci
(d) -daca nu exista conflict de resurse pe
ruta, pachetul este efectiv transmis in banda de
asamblare prin routere succesive (e).
17(No Transcript)
18Intarzierea (pachet de lungime M transmis pe
distanta d ) tVCT d (tr tw tm) max(tw
, tm ) M Presupunere nu exista penalizare de
timp pentru acest mecanism de routare. Headerul
ajuns la destinatie gt ciclul benzii de asamblare
pentru flituri este maximul dintre timpul de
comutare si intarzierea intre routere (s-a
presupus ca exista buffer de intrare si buffer de
ieisre). Numai flitul header contine informatii
de routare gt fiecare flit urmator este simplu
inaintat dupa canalul de iesire ca predecesorul
sau gt nu se poate efectua transmisia intretesuta
sau multiplexata a unor pachete diferite peste un
acelasi canal fizic.
19 Rutarea gaura de vierme (wormhole) divizeaza
pachetele in flituri mai mici. Se utilizeaza
buffere de flituri in rutere hardware atasate
nodurilor.
20(No Transcript)
21 -nu se pot intretese sau multiplexa transmisii
de pachete diferite, fara un suport arhitectural
aditional -daca headerul nu poate inainta
(datorita ocuparii canalelor de iesire) gt
intregul lant de flituri este blocat, ocupand
bufferele de flit din routerele de pe cale,
blocand astfel alte posibile comuniatii.
22 Latenta (in lipsa conflictelor de
comunicatie) tWH d (tr tw tm) max(tw
, tm ) M (aceeasi ca in routarea cu fortare
virtuala) -permite utilizarea de routere simple,
rapide si ieftine (cea mai utilizata in masinile
comerciale). -uneori routerele utilizeaza numai
buffere de intrare. -dezavanaj blocarea
resurselor in cazul stoparii lantului de
flituri. In cazul considerarii timpului de
lansare (startup) ts gtgt tm si tm tw tr. Se
pot utiliza si unele formule simplificate tSF
ts d M tm tCS tVCT tWH ts d td
M tm unde td tr tw. Deoarece d td ltlt M tm
(dimensiune mare a mesajului, cateva sute de
flituri), in situatiile fara conflict de
comunicatie in cadrul tehnicilor VCT, CS si WH nu
conteaza lungimea drumului, iar SF este senzitiva
fata de distanta.
23Varianta simpla de analiza a latentei
Se noteaza -L lungimea pachetului (biti) -B
largimea de banda a canalului (biti /
secunda) -d distanta de la nodul sursa la
nodul destinatie (numar de canale
traversate) -F lungimea unui flit
(biti). Latenta de comunicatie pentru mecanismul
store-and-forward
iar pentru wormhole
24Diagramele de timp pentru cele doua mecanisme
25Canale virtuale. Blocare.
Exemplu patru canale virtuale care partajeaza un
singur canal fizic.
26 Situatia de blocare de tip buffer (buffer
deadlock) intr-o retea store-and-forward apare
datorita unei asteptari circulare
27 Situatia de blocare de tip canal (channel
deadlock) intr-o retea mesh cu rutare
wormhole, cand patru mesaje sunt simultan
transmise, patru flituri de la cele patru mesaje
ocupa canalele simultan.
28 Asteptarile circulare - graf dependenta de canal
(nodurile canale, arcele relatiile de
dependenta intre acestea). gt Situatia de
blocare se poate evita prin adaugarea a doua
canale virtuale v3 si v4.
29Rezolvarea coliziunii pachetelor
Pentru transferul unui flit intre doua noduri
adiacente sunt necesare -buffer sursa continand
flitul -canal de comunicatie -buffer de
receptie. Problema coliziunii pachetelor are
urmatoarele solutii de baza
1) bufferare in routarea cu fortare virtuala
30 2) blocare in rutarea wormhole pura
3) descarcare si retransmisie pachetul 2 este
abandonat si retransmis ulterior (exemplu in
reteaua BBN Buterfly).
31 4) deturnare pachetul 2 este deturnat pe un alt
canal gt poate sa duca la o risipa de resurse
(pachetul necesita mai multe canale pentru a
ajunge la destinatie (exemplu Connection Machine,
Delcor HEP).
32Algoritmi de rutare
Tipuri de comunicatie In retelele de
multicalculatoare exista doua mari categorii de
comunicatie a) comunicatie unu-la-unu
(unicast) se transmit mesaje punct-la punct
surse pachete
destinatii pachete cai
de rutare Tipuri -comunicatie de pereche
singulara (izolata) nu exista probleme de
deadlock, congestie, etc. Se pot utiliza
algoritmi de calea cea mai scurta -mai multe
comunicatii unu-la-unu simultan mai multe
perechi de noduri schimba informatie
simultan -permutare fiecare nod este sursa
pentru un mesaj si destinatie pentru alt mesaj in
acelasi timp (impune o permutare intre noduri).
33b) comunicatii colective -comunicatia
unu-la-mai multi sau difuziunea (aceeasi
informatie one to many multicast, iar daca
informatia trimisa la noduri difera
scatter) -comunicatia unu-la-toti
(broadcast) -comunicatia mai-multi-la-unul
(gather) -comunicatia mai multi la mai multi
(many-to-many conference, many-to-many
broadcast, scatter-gather). Exista si unele
operatii speciale -compactarea datelor sau
impachetarea -RAW (random-access write)
emuland scrierea concurenta CW de la modelul
teoetic PRAM pentru p procesoare -RAR
(random-access read) emuland citirea concurenta
CR de la modelul PRAM pentru p procesoare.
34 Solutii de routare Routarea distribuita
functia de routare calculata in routere sau
noduri pe masura ce pachetele se deplaseaza prin
retea. -header-ul contine numai adresa de
destinatie utilizata de router pentru selectarea
canalelor de iesire -utilizata in topologii
regulate si simetrice (toate routerele utilizeaza
acelasi algoritm de routare). Routarea dupa
sursa nodurile sursa predetermina complet caile
de routare inainte de plasarea pachetelor in
retea (sistemele IBM SP-2). Routarea hibrida
(multifaza) nodul sursa precalculeaza adresele
numai pentru cateva noduri intermediare, iar
caile precise dintre ele sunt determinate intr-o
maniera distribuita de catre routere
(nCUBE-2). Routarea centralizata functia de
routare determinata de un controlor centralizat
(tipic sistemele SIMD).
35 Implementarea algoritmilor de routare viteza gt
implementare hardware (mai ales pentru routarea
distribuita). Abordari -masina cu stari
finite -tabela de translatare nodurile si/sau
routerele sursa pastreaza niste tabele de
routare. Pentru N noduri in retea gt tabela
necesita O(N) intrari. Tabelele de routare nod
sursa specificarea completa pentru intreaga
cale. Routarea distribuita tabelele specifica
canalul (canalele) de iesire corespunzand
fiecarei destinatii. Tabelele de
routare -statice -dinamice (exemplu reteaua
Myrinet permite recalcularea automata a tabelelor
de routare de fiecare data cand se modifica
reteaua de interconectare, de exemplu prin
stergerea unui nod).
36 Routarea pachetelor se poate face pe baza unor
algoritmi -algoritmi de routare deterministi
calea de comunicatie este complet determinata
dupa adresele sursei si destinatiei (inca din
start), independent de conditiile retelei.
Algoritm de routare determinist genereaza
intotdeauna aceeasi cale intre o sursa si o
destinatie (eventual calea cea mai
scurta). -algoritmi de routare fara memorare
(oblivious), in raport de starea traficului din
retea este considerata numai adresa de
destinatie, la fel ca la routarea determinista.
Orice routare determinista este fara memorare,
dar nu orice routare fara memorare este
determinista. De exemplu pot exista mai multe cai
de lungime minima intre sursa si destinatie, iar
algoritmul de routare selecteaza o cale fie
aleator fie ciclic. Algoritmii fara memorare
nedeterministi pot distribui uniform traficul in
situatiile in care solutiile adaptive sunt prea
scumpe. -algoritmi de routare adaptivi
utilizeaza informatii despre traficul in retea si
/ sau stari ale canalelor. Calea depinde de
conditiile retelei, fiind posibile cai
alternative. Routarea adaptiva poate fi
descompusa in doua functii distincte -functia
de routare furnizeaza un set de canale posibile
de iesire -functia de selectie a iesirii
selecteaza unul din canalele libere de iesire pe
baza informatiilor locale de stare.
37 Din p.d.v. al minimalitatii cailor de
routare -algoritmi greedy (sau minimali,
directi, calea-cea-mai-scurta) fiecare decizie
de routare aduce pachetul mai aproape de
destinatie. De obicei algoritmii deterministi si
algoritmii fara memorare sunt de tip
greedy. -algoritmi nongreedy (sau neminimali,
indirecti, misrouting) pot furniza canale care
sa indeparteze pachetul de destinatie. Aici se
incadreaza exclusiv algoritmii adaptivi. In loc
sa se astepte in caz de blocare, pachetul este
intors in ideea plasarii intr-o regiune libera,
cand poate fi reluat un algoritm greedy. Consuma
resurse aditionale.
38Routare pe o retea liniara Routare liniara de
pachete (pe o linie sau coloana)
39 Routare pe retele mesh Scheme de indexare a
procesoarelor in retelele mesh
1) Sortare pe randuri in ordine crescatoare
(row-major)
2) Sortare pe randuri tip sarpe (snakelike row
major)
403) Sortare amestecata pe randuri (shuffled
row-major)
4) Sortare de proximitate (proximity order).
41 Solutii de comunicatie intre procesoare in
retelele mesh utilizarea unor registre virtuale
locale.
42Algoritm shearsort pentru sortare intr-un mesh
cu r randuri. pentru i1,log2r
executa sorteaza randurile in ordine tip sarpe
sorteaza coloanele sus-jos
daca (ordonare tip sarpe) atunci
sorteaza randurile in ordine tip sarpe
altfel sorteaza pe randuri crescator
43Timpul necesar pentru executia algoritmului u
nde p este numarul total de noduri din retea
(reateaua poate sa fie si dreptunghiulara), iar
pentru o retea mesh de dimensiune
timpul necesar este
44 Exemplu.
45 Routarea pe baza tabelei de translatare cu
interale. O tabela simpla de translatare pentru o
retea cu N noduri are dimensiunea
O(N). Dimensiunea tabelei se poate micsora in
cazul routarii cu intervale (o singura intrare in
tabela per canal de iesire fiecare intrare in
tabela contine un interval de adrese de
destinatie, specificat prin doua
margini) Exemplu tabelele de routare pentru
cateva noduri (1,5,9) intr-o retea mesh
46Rutare XY intr-o retea mesh 2D
47 Apar situatii de aglomerare (suprasolicitare) a
conexiunilor (bufferelor din anumite noduri). gt
Rezolvarea algoritm de routare adaptiv gt
descongestionarea traficului.
48- Routare E-cub intr-un hipercub.
- -n-cub cu N 2n noduri
- -fiecare nod fiind codificat binar
- b bn-1 bn-2 ... b1 b0
- -s sn-1 sn-2 ... s1 s0 -gt d dn-1 dn-2 ... d1
d0 - -n dimensiuni sunt notate i 0, 1, 2, ... , n-1
(i -gt bitul i din adresa de nod) - -v nodul curent de pe ruta.
49 r ? s d // calculeaza vectorul de
directie v ? s pentru i 0, n-1 executa daca
ri 1 atunci v ? v 2i //altfel v ramane
neschimbat
50 Exemplu routare E-cub intr-un hipercub 4D. Se
considera n 4, s 0110, d 1101. r
r3r2r1r0 s d 0110 1101 1011 initial
v s 0110 i 0 gt r0 1 gt v v 20
0110 0001 0111 i 1 gt r1 1 gt v v
21 0111 0010 0101 i 2 gt r2 0 gt v
v 0101 i 3 gt r3 1 gt v v 23
0101 1000 1101
51(No Transcript)
52Algoritmi de routare multicast si broadcast
Parametrii de eficienta -traficul de canal
(la un moment dat sau pe un interval de timp)
numarul de canale utilizate pentru transferul
mesajului implicat -latenta de comunicatie
timpul cel mai lung de livrare a unui
pachet. gt pentru trafic minim nu se obtine
latenta minima si invers!
53 Exemplu multicast pe un sistem retea mesh 3x4
s -gt di, i 1,2,...,5. Solutii a)
implementare cu cinci comunicatii unu-la-unu
gt trafic 13, latenta (distanta) 4.
54b) multicast cu replicarea pachetului in fiecare
nod intermediar (copii multiple ale pachetului gt
scaderea semnificativa a traficului).
gt solutie specifica mecanismului store and
forward gt trafic 7, latenta 4.
55c) multicast pentru mecanism wormhole.
gt trafic 6, latenta 5.
56Exemplu broadcast unu-la-toate utilizand un
arbore cu 4 niveluri gt latenta minima si trafic
minim.
57 Exemplu broadcast pe un n-cub utilizand un
arbore de acoperire (spanning tree) pentru a
atinge toate nodurile cu o latenta maxima n.
Aplicatie pentru n 4 si nodul sursa
0000. Algoritmul Pas 1) de la nivelul 0 se
obtin n fii (4 fii) prin inversarea cate unui bit
(fiu 0 bit 0, fiu bit 1, ...). Pas 2) Fiecare
fiu k are k succesori, obtinuti prin inversarea
cate unui bit 0, 1,..., k-1. Astfel fiu 0 gt 0
succesori fiu 1 gt 1 succesor, inversarea bit
0 gt fiu 0 fiu 2 gt 2 succesori, inversarea
bit 0 gt fiu 0 inversarea bit 1 gt
fiu 1 . . . . . . . . . . . . . .
. . . . . . . . . . . . . . pana cand pe ultimul
nivel un singur nod nu are niciun succesor.
58(No Transcript)
59(No Transcript)
60Operatiile send si receive
Operatiile de comunicatie la nivelul
utilizatorului -send specifica un buffer local
de date care trebuie trimis si un proces de
recceptie pe o masina la distanta -receive
specifica un proces care trimite date si un
buffer local în care se vor plasa aceste date.
61 Primele masini cu transfer de mesaje -gt
primitive hardware apropiate de send si receive
la nivel utilizator. gt un nod era conectat la
un set fix de vecini, într-o retea regulata de
legaturi punct la punct cu buffere FIFO.
62 Solutie mai perfectionata dispozitive de acces
direct la memorie (DMA Direct Memory Access) gt
operatii send fara blocare. gt suport pentru
comunicatia între oricare procesoare (nu numai
vecine) - functii de routare în hardware gt
routere.
63IBM SP-2
-masina paralela scalabila cu statii de lucru
RS6000.
64(No Transcript)
65Intel Paragon
nod - multiprocesor simetric (SMP)
66(No Transcript)
67(No Transcript)
68(No Transcript)
69Protocoale pentru transfer de mesaje
gt operatiile de transfer de mesaje de la nivel
utilizator -gt primitive masina de tranzactie în
retea
1) Protocol sincron pentru transfer de mesaje
702) Protocol asincron (optimist) pentru transfer
de mesaje
713) Protocol asincron (conservativ) pentru
transfer de mesaje
72Solutii de interpretare a informatiilor din
tranzactia prin retea
1) Nu exista interpretare a tranzactiei
mesajului mesajul secventa de biti care se
transfera orb în memorie prin DMA (Direct
Memory Access) fizic sub controlul SO.
73 Sisteme nCUBE 10, nCUBE/2, Intel iPSC, iPSC/2,
iPSC/860, Delta, Ametek, IBM SP-1) si majoritatea
intefetelor de retea locala LAN (Local Area
Network). gt hardware simplu abstractiza
rea comunicatiei utilizator foarte
generala costuri de prelucrare mai mari.
74Exemplu sistemul nCUBE/2
75Configuratia maxima nCUBE/2 -gt 8096 de noduri
76 2) Transfer de mesaje de la nivel utilizator la
nivel utilizator fara interventia S.O.
77Arhitectura tipica la nivel utilizator
78Exemplu sistemul Thinking Machine CM-5 (retea -
arbore)
79 3) Interpretarea mesajelor prin software pe un
procesor de comunicatie dedicat (procesor de
mesaje).
Exemplu Intel Paragon.