Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Arkitektura Paraleloak
IF - EHU
Arkitektura Paraleloak
6. Konputagailu Paraleloen Komu-nikazio Sarea. Mezu Ematearen bidezko Komunikazioa. - Sarrera - Kommutagailuen bidezko sareak - Mezu-bideragailuen bidezko sareak - Komunikazio-estrategiak - Arazoak
Arkitektura Paraleloak IF - EHU
KS-ME 2 6
Konputagailu paraleloek euskarri eraginkorra erabili behar dute prozesuen arteko komunikaziorako, dela memoria partekatua atzitzeko (zentralizatua, SMP, edo banatua, DSM), dela prozesuen arteko mezuak garraiatzeko (MPP).
Komunikazio-sarea arkitektura-ereduen independentea bada ere, eredu bakoitzari egokitutako sareak erabiltzen dira.
Sarrera
Arkitektura Paraleloak IF - EHU
KS-ME 3 6
SMP multiprozesadoreek busa erabili ohi dute memoria atzitzeko.
M
P
C
busa
Busa erraz kudeatzen eta sinplea den sarea da, baina hedatzeko arazoak ditu:
- aldi bereko komunikazio bakar bat baino ez du onartzen (sinplifikatuz).
- ase egiten da prozesadore kopurua hazten denean.
Atzipenen latentzia atzitu behar den memoria-posizioen independentea da: datu guztiak “distantzia” berdinera daude (UMA).
Sarrera
Arkitektura Paraleloak IF - EHU
KS-ME 4 6
Prozesadore asko konektatu ahal izateko, memoria fisikoki banatu behar da (agian helbide-espazioa partekatua: DSM).
Beste komunikazio-sare mota bat behar dugu.
P
C
M
sare orokorra
R
Memoria-atzipenen edo mezuen latentzia ez da konstantea: komunikazioa azkarragoa izango da hurbilago dauden prozesadoreekin.
Komunikazio-sarearen portaera oso garrantzitsua da latentziak ahalik eta txikienak izan daitezen.
Sarrera
Arkitektura Paraleloak IF - EHU
KS-ME 5 6
Komunikazio-sare egokien ezaugarri batzuk:
komunikazioen latentzia txikia izatea.
aldi bereko komunikazio asko onartzea (hau da, throughput handia izatea).
ahal den neurrian, hutsegiteak (matxurak) izanda ere funtzionatzen jarraitzea.
eraikitzeko eta zabaltzeko erraza izatea, eta bideak aurkitzeko algoritmoak sinpleak izatea.
Sarrera: ezaugarriak
Arkitektura Paraleloak IF - EHU
KS-ME 6 6
Komunikazio-azpiegiturak bi atal ditu:
- hardwarea loturak, kommutagailuak, mezu-bideragailuak,
prozesadoreekiko interfazea.
- softwarea komunikazio-protokoloak.
Sarrera
Arkitektura Paraleloak IF - EHU
KS-ME 7 6
Topologiak sarearen forma adierazten du, hau da, prozesadoreen arteko konexioak zehazten ditu, grafo baten bidez.
Grafoaren osagaiak: - nodoak: prozesadoreak, edo mezuak
kudeatzeko gailu bereziak. - arkuak: nodoen arteko konexioak.
Sarrera: topologia
Arkitektura Paraleloak IF - EHU
KS-ME 8 6
Sareen ezaugarri topologiko nagusiak: Konplexutasuna - Gradua: nodoen lotura kopurua. Guztietan kopurua
bera bada, sarea erregularra da. - Simetria: sarea berdin “ikusten” da nodo guztietatik. - Hedagarritasuna: handitzeko erraza den edo ez.
Fidagarritasuna - Hutsegiteekiko tolerantzia: matxurak onartzen
diren edo ez. - Arku- eta nodo-konektibitatea: kendu behar diren
osagaiak grafoa (sarea) ez-konexo bihurtzeko.
Sarrera: topologia
Arkitektura Paraleloak IF - EHU
KS-ME 9 6
Sareen ezaugarri topologiko nagusiak:
Trafikoa - Erdibiketa: grafoa bi zati berdinetan banatzeko kendu
behar diren loturak.
Distantziak (latentzia) - Batez besteko distantzia: d = Σ dij / P(P-1) - Diametroa: bi nodoren arteko distantzia maximoa.
Sarrera: topologia
Arkitektura Paraleloak IF - EHU
KS-ME 10 6
1. Dinamikoak - kommutagailuen bidezko sareak - SMP sistemetarako (ez bakarrik) - telefono-sareetatik eratorriak
Bi motako sareak:
2. Estatikoak - mezu-bideragailuak (routers) - MPP sistemetarako
Sarrera: sailkapena
Arkitektura Paraleloak IF - EHU
KS-ME 11 6
Kommutagailua: hainbat sarrera eta irteera konektatzen duen gailua.
S0 → I0, I1 S1 → I0, I1
S0 → I0 S1 → I1
S0 → I1 S1 → I0
k = 2 graduko komm.
0
1
0
1
S0
S1
I0
kontrol-seinaleak
I1
a. Kommutagailuzko sareak
Arkitektura Paraleloak IF - EHU
KS-ME 12 6
1. Crossbar sarea: denak denekin konektatuta.
Kommutagailu bakoitzak zutabe eta errenkada
bana konektatzen ditu.
Kostua handia izan daiteke: O(P2)
a. Kommutagailuzko sareak
Arkitektura Paraleloak IF - EHU
KS-ME 13 6
2. Urrats anitzeko sareak
proz.
P0
Pp-1
proz. (edo mem.)
P0
Pp-1
Kommutagailuak hainbat urratsetan antolatzen dira, eta urratsetik urratserako konexioak “permu-tazio” jakin baten arabera egiten dira.
permutazio bat
a. Kommutagailuzko sareak
Arkitektura Paraleloak IF - EHU
KS-ME 14 6
Adibidea: Omega sarea
0 1
2
3
5
6
7
4
Kommutagailuen arteko konexioak: tartekatze perfektua (perfect shuffle)
0
2
4
6
1
3
5
7
0
2
6
1
3
5
7
4
Tartekatze perfektua: [0, 1, 2, ..., P-1] → [0, P/2, 1, P/2+1, ..., P/2-1, P-1]
logk P urrats P/k kommutagailu urratseko
→ guztira P/k × logk P komm.
Bit bateko biraketa: 4 (100) → 1 (001) 5 (101) → 3 (011)
Omega sarea
Arkitektura Paraleloak IF - EHU
KS-ME 15 6
Omega sarea: ezaugarri topologikoak
0
2
4
6
1
3
5
7
0
2
6
1
3
5
7
4
Diametroa: logk P B. b. distantzia: logk P Simetrikoa (erregularra) Gradua: 2, 4... (k) Huts. tolerantzia: txikia
Omega sarea
Arkitektura Paraleloak IF - EHU
KS-ME 16 6
Bideratzea Omega sarean (routing). Nola aukeratzen da bidea i-tik j-ra joateko?
1 Helburu-helbideko bitak 0: 0 irteera / 1: 1 irteera
→ 6 (110)
0
2
4
6
1
3
5
7
0
2
6
1
3
5
7
4
1 0
1 0
2 Bideratze-erregistroa: i xor j 0: segi / 1: gurutzatu
BE = 100 xor 110 = 010
1
0
Omega sarea
Arkitektura Paraleloak IF - EHU
KS-ME 17 6
Irteera-gatazkak Omega sareak P komunikazio onartzen ditu aldi
berean, baina ez edozein.
0 → 1 eta 6 → 0? 0
2
4
6
1
3
5
7
0
2
6
1
3
5
7
4
- bertan behera utzi - bufferrak erabili - bitan banatu
Permutazio kopurua: P! Egin daitezke: 2 P/2 log P = P P/2
P = 8 → % 10; P = 16 → % 0,02
Omega sarea
Arkitektura Paraleloak IF - EHU
KS-ME 18 6
Broadcast Prozesadore batetik guztietara.
0
2
4
6
1
3
5
7
0
2
6
1
3
5
7
4 BC
BC
BC BC
BC
BC
BC
Omega sarea
Arkitektura Paraleloak IF - EHU
KS-ME 19 6 Butterfly sarea
Beste adibide bat: Butterfly sarea
Arkitektura Paraleloak IF - EHU
KS-ME 20 6
busa Omega Crossbar-a
Latentzia konstantea O(logkP) konstantea
Banda-zabalera prozesadoreko O(w/P)→O(w) O(w)→O(w × P) O(w × P)
Kable kopurua O(w) O(w × P × logkP) O(w × P2)
Kommutagailu kopurua O(P) O(P/k × logkP) O(P2)
Komunikazio-ahalmena
banan-banan permutazio batzuk, broadcast
permutazio guztiak
Laburpena
Arkitektura Paraleloak IF - EHU
KS-ME 21 6
Sarea osatzeko adreilua: mezu-bideragailua.
komunikazio-sarea
bertako prozesadorea/memoria
router-a
komunikazioen kudeatzailea
sareko loturak
Sare estatikoen “nodoa”: prozes./mem. + mezu-biderag. Nodoen arteko distantzia ez da konstantea.
Bi noranzko loturak.
b. Mezu-bideragailuzko sareak
Arkitektura Paraleloak IF - EHU
KS-ME 22 6
sarrerako portuak irteerako portuak
bertako prozesadorera bertako prozesadoretik
komunikaziorako loturak
komunikaziorako loturak
Hainbat sarrera- eta irteera-portu, paketeak hartzeko eta bidaltzeko; buffer multzo bat, paketeak aldi batean metatzeko; eta automata bat, mezuak prozesatu eta dagokien irteera esleitzeko.
buffe
rrak
buffe
rrak
bid
erat
ze-f
untz
ioa
+ c
ross
bar-
a
Mezu-bideragailua
Arkitektura Paraleloak IF - EHU
KS-ME 23 6
1 Crossbar sarea: denak denekin.
Zaila eraikitzeko eta kostu handikoa, P handia denean. Gainera, bideragailuen gradua (lotura kopurua) ez da konstantea: P-1.
Topologia erabilienak
Arkitektura Paraleloak IF - EHU
KS-ME 24 6
2 Dimentsio bakarreko sareak: katea, eraztuna.
Gradua Simetria
Hutseg. Tolerantzia
Diametroa Batez b. distantzia
2 2, erregularra ez bai lotura bat bi lotura
P-1 P/2 P/3 (P handia) [ (P+1)/3 ]
P/4 (P handia) [ P2 / 4(P-1) ]
Topologia erabilienak
Arkitektura Paraleloak IF - EHU
KS-ME 25 6
3 Mailak eta toruak (n dimentsio, k>2 nodo dimentsioko).
k→ P = kn
Loturak Gradua
Simetria Hutseg. Toleran. Hedagarritasuna
n kn-1 (k-1) n kn
2n 2n, erregularra ez bai handia (n) handiagoa (2n) erraza erraza
Topologia erabilienak
Arkitektura Paraleloak IF - EHU
KS-ME 26 6
3 Mailak eta toruak (n dimentsio, k>2 nodo dimentsioko).
Erdibiketa
Diametroa Batez b. distantzia
kn-1 2 kn-1
n (k-1) n k/2 ~ n k/3 (k handia) ~ n k/4 (k handia)
Topologia erabilienak
k→ P = kn
Arkitektura Paraleloak IF - EHU
KS-ME 27 6
4 Hiperkuboak: maila baten kasu partikularra, dimentsio bakoitzean bi nodo baino ez dituena.
(xn-1, xn-2, ..., x1, x0) →
(xn-1, xn-2, ..., x1, x0) (xn-1, xn-2, ..., x1, x0) ...
(xn-1, xn-2, ..., x1, x0) (xn-1, xn-2, ..., x1, x0)
0000 0001 0100
1000
0010
1111
0101
0110
1100
Loturak, helbidean bit batean bereizten diren nodoekin.
Topologia erabilienak
Arkitektura Paraleloak IF - EHU
KS-ME 28 6
4 Hiperkuboak: parametro topologikoak.
0000 0001 0100
1000
0010
1111
0101
0110
1100
Diametroa B. b. distantzia
Gradua Simetria
Huts. Tol. Hedag.
Erdibiketa
P = 2n → n = log2 P
P/2 log2 P
n (log2P, ez da konstantea!) bai oso handia zaila P/2 (oso handia)
n ~ n/2 (n handia)
Topologia erabilienak
Nodoak Loturak
Arkitektura Paraleloak IF - EHU
KS-ME 29 6
5 Arbolak eta arbola sendoak (fat tree).
fat tree edo arbola sendoa
mezu-bideragailuak
prozesadoreak
arbola bitarra (k = 2)
Topologia erabilienak
Arkitektura Paraleloak IF - EHU
KS-ME 30 6
5 Arbolak eta arbola sendoak (fat tree).
fat tree edo arbola sendoa Diametroa
B. b. distantzia
Gradua Sakonera Simetria
Huts. Tol. Hedag.
Erdibiketa
k (ohikoa, 4)
bai handia erraza P/2
2 logk P ~ 2 logk P – 2/(k-1) (P handia)
logk P
Topologia erabilienak
Arkitektura Paraleloak IF - EHU
KS-ME 31 6
parametro topologikoak (P bikoitia, handia)
Proz. Gradua Simetr. Loturak dbb Dmax Erdib. Arku-konek.
Crossbar-a P P-1 bai P (P-1) 1 1 P2/4 P-1
Omega [komm.] P k bai P (logkP+1)
[ P/k logkP ] logkP logkP - -
Maila (n / k>2) P = kn 2n ez n kn-1 (k-1) ~ n k/3 n (k-1) kn-1 n
Torua P = kn 2n bai nP ~ n k/4 n k/2 2 kn-1 2n
Hiperkuboa P = 2n n (logP) bai P/2 logP ~ n/2 n P/2 n
Arbola (fat tree) P k bai P logkP ~ 2 logkP -
2/(k-1) 2 logkP P/2 1
Topologien laburpena
Arkitektura Paraleloak IF - EHU
KS-ME 32 6
Adibidez, P = 4.096 nodo:
126 42,7 64 32
45 15,9 24 12
12 6
12 11,3
D dbb
2D maila 2D torua
3D maila 3D torua
Hiperkuboa
Arbola (k=4)
Topologien laburpena
Arkitektura Paraleloak IF - EHU
KS-ME 33 6
Hiperkuboak parametro topologiko oso onak ditu, baina konplexua da prozesadore kopurua handia bada; gainera, gradua ez da konstantea.
Lehenbiziko MPP sistemetan erabili zen (prozesadore kopuru txikia, eta mezuen latentzia distantziaren mendekoa).
2D eta 3D mailak eta toruak asko erabiltzen dira MPP sistemetan: topologia sinpleak dira eta gradua txikia da. Distantzia-parametroak handiagoak dira, baina mezuak transmititzeko teknika aldatu zen eta latentzia ez da distantziaren mende (ez asko).
Arbolak (edo baliokideak diren butterfly eta antzeko sareak) ere erabiltzen dira (esaterako, cluster-ak osatzeko, Myrinet), prozesadore kopurua handia denean konplexuak badira ere.
Topologien laburpena
Arkitektura Paraleloak IF - EHU
KS-ME 34 6
Prozesuen arteko komunikazioa gauzatzeko erabiltzen da sarea, eta horretarako mezuak bidaltzen dira, prozesutik prozesura.
Nola bidaltzen dira mezuak? nondik? nola aukeratzen da bidea?...
Mezuen (paketeen) egitura
goiburukoa datuak bukaera
kontrol-informazioa (BE)
Informazio-unitatea: flit bat (eskuarki, byte bat). Flit bat transmititzeko denbora, “ziklo” bat.
Komunikazioa
Arkitektura Paraleloak IF - EHU
KS-ME 35 6
Komunikazio-patroiak Norekin eta noiz egiten den komunikazioa
zehazten du. Jakina, aplikazioaren araberakoa da.
Mezuen tamaina Oro har, hainbat tamainatako mezuak garraiatu
behar dira. Kontrol-mezuak txikiak ohi dira (byte batzuk);
datu-mezuak, handiagoak (eskuarki tamaina finkoko paketetan banatuta).
Komunikazio-patroiak
Arkitektura Paraleloak IF - EHU
KS-ME 36 6
Ohiko komunikazio-patroi batzuk:
- Zorizkoa: komunikatzeko probabilitatea bera da edozein nodoren artean eta denboran zehar.
- Distantziaren funtzioak: nodo batzuekin beste batzuekin baino probabilitate handiago dago komunikatzeko, distan-tziaren arabera. dist.
K. P.
- Broadcast, multicast, reporting...
- Matrize iraulia, FFT, perfect shuffle...
Komunikazio-patroiak
Arkitektura Paraleloak IF - EHU
KS-ME 37 6
Bidea eraikitzea
- Zirkuitu-kommutazioa (circuit switching)
Mezua bidali baino lehen, bide “pribatu” bat erreserbatu egin behar da; horretarako, zunda-mezu bat bidaltzen da helbururaino.
Bidea eraiki denean, mezu osoa transmititzen da (ez da paketetan banatzen).
Telefono-sarea, esaterako.
Arazoak: denbora behar da bidea osatzeko; eta sareko hainbat lotura erreserbatu egiten dira, nahiz eta une horretan ez erabili.
Bidea eraikitzea
Arkitektura Paraleloak IF - EHU
KS-ME 38 6
Bidea eraikitzea
- Pakete-kommutazioa (packet switching)
Mezua tamaina finkoko hainbat paketetan banatzen da. Pakete bakoitzak helburuari buruzko informazioa darama, eta bideragailuz bideragailu doa helbururaino, sarean dauden gainerako paketeekin lehian baliabideak erabiltzeko.
Adibidez, posta-zerbitzua.
Arazoak: gainkarga bat sortzen da, pakete bakoitzak kontrol-informazioa eraman behar duelako. Gainera, mezua berrosatu egin behar da helburuan.
Bidea eraikitzea
Arkitektura Paraleloak IF - EHU
KS-ME 39 6
Paketeak bideratzea (routing) Nondik doaz paketeak iturburutik helbururaino?
Zein da bidea?
- nola adierazten da hartu behar den bidea? bideratze-erregistroa, BE (routing record)
- bide bakarra dago? luzera minimoko bideak, baina, zein?
Paketeak bideratzea
Arkitektura Paraleloak IF - EHU
KS-ME 40 6
Paketeak bideratzea (routing) Bi aukera helburura heltzeko:
- Helbide absolutua adierazi paketean. Informazio hori tarteko bideragailuetan prozesatuko
da irteera aukeratzeko (taula bat, funtzio bat...).
- Paketeak bideratze-erregistroa darama, bidea zehazteko; eskuarki, zenbat pauso eman sareko dimentsio bakoitzean.
BEa bideragailu bakoitzean egokitu behar da. Paketea helburura heldu da BEko osagai guztiak 0 direnean.
Paketeak bideratzea
Arkitektura Paraleloak IF - EHU
KS-ME 41 6
Bideratze-erregistroa mailetan
X: (xn-1, xn-2, ..., x1, x0) → Y (yn-1, yn-2, ..., y1, y0)
Nahikoa da koordenatuen kenketa egitea dimentsio bakoitzean eman behar diren pausoak adierazteko.
BE = [yn-1 - xn-1, yn-2 - xn-2, ..., y0 - x0]
4 (1,0) → 15 (3,3) BE = [2, 3]
4 (1,0)
15 (3,3)
[2,3] [2,2] [2,1] [2,0]
[1,0]
[0,0]
Bideratze-erregistroa
Arkitektura Paraleloak IF - EHU
KS-ME 42 6
Bideratze-erregistroa toruetan
Beraz, koordenatuen kenketa egin ondoren, emaitzak egokitu behar dira bide motzenak aukeratzeko:
BEi > k/2 → BEi = BEi – k BEi < -k/2 → BEi = BEi + k
4 (1,0) → 15 (3,3) BE = [2, 3] → [2, -1]
4 (1,0)
15 (3,3)
Dimentsio bakoitzean, bi aukera daude helburura joateko: “aurretik” edo “atzetik”. Ez da eraztun erdia baino pauso gehiago eman behar noranzko batean. [2,-1] [2,0]
[1,0]
[0,0]
Bideratze-erregistroa
Arkitektura Paraleloak IF - EHU
KS-ME 43 6
1001
1110
0000 0001 0100
1000
0010
1111
0101
0110
1100
0011 0111
1101
Bideratze-erregistroa hiperkuboetan
BE = [i xor j]
2 (0010) → 12 (1100) BE = [1110]
Dimentsio bakoitzean bi nodo baino ez dago; beraz, dimentsioko pauso bakar bat eman daiteke, dimentsio horretako koordenatuak desberdinak badira: [1110]
[1100]
[1000]
[0000]
1010 1011
Bideratze-erregistroa
Arkitektura Paraleloak IF - EHU
KS-ME 44 6
Bide jakin bat aukeratzeko estrategiak
Bideratze-erregistroak ez du bide bakar bat zehazten (oro har). Beraz, zein erabili behar da?
1. Bideratze estatikoa Xtik Yra joateko, bide bakarra eta beti bera erabiltzen da: DOR. 4 (1,0)
15 (3,3)
+ Sinplea da + Paketeak ordenan heltzen dira - Ez dira aurrera jarraitzeko
aukera guztiak aprobetxatzen
Bide-aukeraketa
Arkitektura Paraleloak IF - EHU
KS-ME 45 6
4 (1,0)
15 (3,3)
Bide jakin bat aukeratzeko estrategiak
2. Bideratze moldakorra Sistemaren egoeraren arabera erabakitzen da bidea bideragailu bakoitzean (adi! informazio lokala erabili behar da).
+ Trafiko handiko guneak saihestu daitezke (sareko topologia aprobetxatuz) - Konplexuagoa da (erabaki egin
behar da) - Paketeak desordenatu daitezke - Blokeoak sor daitezke
Bide-aukeraketa
Arkitektura Paraleloak IF - EHU
KS-ME 46 6
Bide jakin bat aukeratzeko estrategiak
3. Bide ez minimoak Oro har, luzera minimoko bideak erabili behar dira.
Zenbait kasutan, egokia izan daiteke bide luzeagoak erabiltzea, dela trafikoa, dela sareko matxurak gainditu ahal izateko.
Bide-aukeraketa
Arkitektura Paraleloak IF - EHU
KS-ME 47 6
Pakete batek L flit ditu (batzuek kontrolekoak, besteak datuak).
Nola transmititzen dira paketeen flitak bideragailuen artean? Zer egin behar da transmititzen ari den pakete baten flitekin?
Bi aukera:
- Store-and-forward ohikoa konputagailu-sareetan
- Cut-through / Wormhole multikonputagailuetan erabiltzen dena
Informazio-jarioaren kontrola
Arkitektura Paraleloak IF - EHU
KS-ME 48 6
Store-and-forward
Pakete osoa (flit guztiak) transmititzen da ondoz ondoko bi bideragailuren artean. Transmisioak irauten duen bitartean, barneko buffer batean gordetzen da.
Tsf ~ L × d
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
1 2 3 4
tarteko bideragailuak
t
Informazio-jarioaren kontrola: SF
Arkitektura Paraleloak IF - EHU
KS-ME 49 6
Cut-through / Wormhole
Pakete baten goiburuko aurreneko flita prozesatu ondoren, hurrengo bideragailura transmititzen da, pakete osoa heldu arte itxaron gabe.
Tct/wh ~ L + d
Komunikazioa “segmentatu” egiten da. 1 2 3 4
2 3 4 1
4 2 3 1
1 2 3 4
tarteko bideragailuak
1 2 4 3
4 1 2 3
3 4 1 2
Informazio-jarioaren kontrola: CT-WH
Arkitektura Paraleloak IF - EHU
KS-ME 50 6
Cut-through / Wormhole Desberdintasuna: zer egin behar da pakete baten goiburuko-flitak aurrera jarraitu ezin badu?
Wormhole
Paketearen flit guztiak gelditzen dira, dauden tokietan.
1 2 3 4
4 2 3 1
1 2 4 3
4 1 2 3
3 4 1 2
2 3 4 1
1 2 3 4
3 4 1 2
3 4 1 2
Ez dira bufferrak erabili behar.
Informazio-jarioaren kontrola: CT-WH
Arkitektura Paraleloak IF - EHU
KS-ME 51 6
Cut-through / Wormhole Desberdintasuna: zer egin behar da pakete baten goiburuko-flitak aurrera jarraitu ezin badu?
Cut-through
Aurreneko flita gelditzen da, baina gainerakoak aurrera doaz, eta bideragailuan bertan gordetzen dira, bufferretan.
1 2 3 4
4 1 2 3
4 1 2 3 1 2 3 4
1 2 3 4
2 3 4 1
1 2 3 4
3 4 1 2
4 3 1 2
Informazio-jarioaren kontrola: CT-WH
Arkitektura Paraleloak IF - EHU
KS-ME 52 6
Paketeetarako bufferrak Mezu-bideragailuek paketeak (edo flit batzuk) gordetzeko tokia (memoria) izan ohi dute.
SF → gutxienez pakete baterako buffer bat. WH → flit baterako memoria-espazioa (sarrera-portua). CT → tarteko soluzioa da; pakete bat(tzuk) edo flit
batzuk gordetzeko ahalmena behar da.
Pakete askotarako tokia bideragailuetan? Ez.
- ez da ohikoa pakete asko blokeatuta egotea. - azkarra izan behar du bideragailuak, hau da, sinplea.
Baliabide-gatazkak: bufferrak
Arkitektura Paraleloak IF - EHU
KS-ME 53 6
Nola egituratzen dira bufferrak?
Partekatuak edo banatuak?
Partekatuak + memoria-espazioa hobeto kudeatzen da. - konplexuagoak dira, aldi bereko hainbat sarrera eta
irteera onartu behar direlako.
Baliabide-gatazkak: bufferrak
Arkitektura Paraleloak IF - EHU
KS-ME 54 6
Nola egituratzen dira bufferrak?
Irteeretan + paketeak ez dira ordenan tratatu behar (eraginkort.). - kudeatzeko konplexuagoak dira, aldi bereko hainbat
sarrera onartu behar direlako.
Baliabide-gatazkak: bufferrak
Sarreretan edo irteeretan?
Arkitektura Paraleloak IF - EHU
KS-ME 55 6
Nola egituratzen dira bufferrak?
Eta bufferrak betetzen badira?
Ez da ohiko egoera izan behar, sarearen komunikazio-ahalmena gaindituta dagoelako. Bakarrik trafiko handiko uneak kudeatzeko.
tokia?
bai/ez
datuak
Baliabide-gatazkak: bufferrak
kontrol-lerroak
datu-lerroak
Arkitektura Paraleloak IF - EHU
KS-ME 56 6
Komunikazio-sarea programak paraleloan exekuta-tzeko baliabide bat baino ez da (beste “unitate funtzional” bat), ahalik eta eraginkorrena izan behar duena.
Kalitateko parametro nagusiak:
- paketeen latentzia: behar den denbora transmisioa gauzatzeko.
- mezu-emaria (throughput): sareak onar dezakeen trafiko-maila.
Latentzia eta mezu-emaria
Arkitektura Paraleloak IF - EHU
KS-ME 57 6
Definizio batzuk:
- Loturen zabalera: paraleloan transmititu daitekeen bit kopurua, “phit” bat (eskuarki, 8 bit).
- Transmisio-zikloa: “phit” bat transmititzeko denbora (ziklo bat).
- Loturen banda-zabalera (bandwidth), B: segundo batean transmititu daitekeen informazio kopurua.
- Bideratze-denbora (routing time), tr: pakete baten goiburukoa prozesatzeko denbora.
Latentzia eta mezu-emaria
Arkitektura Paraleloak IF - EHU
KS-ME 58 6
Komunikazio-denbora edo latentzia (trafikorik gabe)
L: paketearen luzera (bytetan = flitetan) d: distantzia
- Store-and-forward
Tsf = d × (L/B + tr)
- Cut-through / Wormhole
Tct = d × (1/B + tr) + (L-1)/B
d × L
d + L
Latentzia eta mezu-emaria
Arkitektura Paraleloak IF - EHU
KS-ME 59 6
Adibidea: P = 1.024, L = 256 byte, tr = 1 ziklo.
hiperkuboa 2D torua 2D maila D 10 32 62 d 5 16 22
max. 2.570 8.224 15.934 b.b. 1.285 4.112 5.654
SF
max. 275 319 379 b.b. 265 287 299
CT
Latentzia eta mezu-emaria
Arkitektura Paraleloak IF - EHU
KS-ME 60 6
Sareko trafikoa kontuan hartuz.
Mezu-emaria (b/s)
Trafikoa (b/s) Trafikoa (b/s)
Latentzia (s)
trafikorik gabeko latentzia
trafiko maximoa
Latentzia eta mezu-emaria
Arkitektura Paraleloak IF - EHU
KS-ME 61 6
Cut-through versus wormhole.
Trafikoa (b/s)
Latentzia (s)
CT
Mezu-emaria (b/s)
Trafikoa (b/s)
CT
WH
WH
Latentzia eta mezu-emaria
Arkitektura Paraleloak IF - EHU
KS-ME 62 6
Mezu-emari maximoa (zorizko trafikoa).
P/2 P/2
erdibiketako loturak
P/2 × (PaK × L) × 1/2 = EBZ
PaK = 4 × EBZ / (P × L)
PaK: prozesadore bakoitzak injekta dezakeen L fliteko (byteko) pakete kopurua segundoko
EBZ: erdibiketaren banda-zabalera (= Erdib × B) PaK/2 PaK/2
2D maila 2D torua 8D hiperk.
erdibiketa flit kop. max. / z.
P = 256
16 32 128 0,25 0,5 2
Latentzia eta mezu-emaria
Arkitektura Paraleloak IF - EHU
KS-ME 63 6
Eredu orokorra
Tkom = thasi + tflit × L
R = L / Tkom transmisio-abiadura
Rmax = lim R (L → ∞) abiadura maximoa
L1/2 = thasi / tflit abiadura max. erdia eskuratzeko
Laburrean: komunikazio-denboraren osagaiak
komunikazioa bidera-gailuen artean
pak. proz. denb.
itx.-denb. bufferretan igorlea hartzailea
Latentzia eta mezu-emaria
Arkitektura Paraleloak IF - EHU
KS-ME 64 6
Komunikazio-prozesua prozesu banatua da, eta paraleloan exekutatzen da hainbat mezu-bideragailutan. Beraz, dagoeneko aztertu dugun arazo bat berriro ager daiteke: elkarblokeoa (deadlock) (livelock, starvation...).
Blokeoak: pakete multzo batek aurrera jarraitzeko baliabideak agortzen ditu (CT moduan, bufferrak; WH moduan, loturak...), eta betiko geldituta geratzen da.
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 65 6
m2: 1,3→3,1
(0,0) (0,3)
(3,0) (3,3)
m1: 0,1→2,3
m3: 3,2→1,1
m4: 2,1→0,2
Adibidez, WH moduan:
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 66 6
Zer egin blokeoekin?
- blokeoak sortzen ez dituzten topologiak edo/eta bideratze-estrategiak baino ez erabiltzea.
- blokeoak sor daitezkeela onartzea, eta, sortzen direnean, detektatzea eta konpontzea.
Ikus ditzagun aukera erabilienak.
Blokeo aurkako estrategiak
Arkitektura Paraleloak IF - EHU
KS-ME 67 6
1. Bideratze estatikoak laguntzen du. Adibidez, DOR bideratze estatikoa erabiliz, mailetan ez dira blokeoak sortzen.
m2: 1,3→3,1
(0,0) (0,3)
(3,0) (3,3)
m1: 0,1→2,3
m3: 3,2→1,1
m4: 2,1→0,2
Blokeo aurkako estrategiak
Arkitektura Paraleloak IF - EHU
KS-ME 68 6
2. Baina ez da nahikoa, baldin eta topologiak zikloak baditu.
0
3
1
2
0→2 1→3
2→0 3→1
Blokeo aurkako estrategiak
Arkitektura Paraleloak IF - EHU
KS-ME 69 6
B0
B1 B1
B0
3. Kanal birtualak (virtual channels)
Bideragailuen loturak blokeatuta ez mantentzeko, buferrak bi (hainbat) klasetan banatzen dira.
KB0
KB1
Blokeo aurkako estrategiak
Arkitektura Paraleloak IF - EHU
KS-ME 70 6
3. Kanal birtualak
Helburu bikoitza: 1 Eraginkortasuna hobetzea: pakete batek
aurrera jarraitu ezin badu, atzetik datorren eta bidea libre duen paketea ez geldiaraztea.
2 Deadlock egoerak saihestea.
Blokeo aurkako estrategiak
Arkitektura Paraleloak IF - EHU
KS-ME 71 6
3. Kanal birtualak
2 Deadlock egoerak saihestea
0
3
1
2
1→3
2→0 3→1
0→2
Blokeo aurkako estrategiak
KB1
KB0
Arkitektura Paraleloak IF - EHU
KS-ME 72 6
Laburbilduz Mailak, DOR → ez dago blokeorik Toruak, DOR, 2 kanal birtual → ez dago blokeorik
4. Baina, erabili al daiteke bideratze moldakorra eta blokeoak ez izatea?
- maila birtualak - biratze kontrolatuak (turn model) - bide “seguruak” - paketeen injekzioa kontrolatzea
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 73 6
4a. Maila birtualak (2D)
- Gehitu bi kanal birtual kanal fisiko bakoitzeko.
- Sailkatu paketeak lau kategoriatan, helburuen posizioen arabera: NE, ES, SW, WN.
- Maila birtual bakoitzean, paketeek nahi duten bidea har dezakete, ezinezkoa baita zikloak sortzea.
N1
E0 W1
N0
E1
S0 S1
W0
- Lau maila birtual sortu: NE: N1-E0 ES: E1-S0 SW: S1-W0 WN: W1-N0
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 74 6
4b. Turn model (mailak)
- Ziklo bat osatzeko, lau biraketa egin behar dira. DOR bideratze estatikoa erabiltzen denean, horietako bi debekatuta daude.
- Nahikoa da bat debekatzea zikloak ez sortzeko; ad., mendebaldera biratzea:
- mendebaldera ez badoaz, nahi den
moduan; - bestela, mendebalderako bidea hasieran
egin behar da. west-first
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 75 6
4c. Bide seguruak
Kasu honetan, onartu egiten da paketeak blokeatu daitezkeela. Gertatzen denean, detektatu eta kopondu egiten da; horrela (mailetan eta toruetan, adibidez):
- 2 kanal birtual (2D), bi sare birtual osatzeko. - Paketeak sare batean injektatzen dira, eta nahi duten
moduan mugitzen dira. Beste sarea modu seguruan mugitzeko erabiltzen da (adibidez, DOR, 2D maila batean).
- Pakete bat blokeatzen denean, sare segurura igaroarazten da, eta hor mugituko da helburura heldu arte.
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 76 6
4c. Bide seguruak
Adi: nola detektatu blokeoa??? Denbora jakin bat pasa eta gero mugitu gabe (!?).
4d. Paketeen injekzioa kontrolatzea
Baliabideak agortu egiten direlako gertatzen dira blokeoak.
Beraz, bideragailuek errefuxatu egingo dute pakete bat baldin eta, hartuz gero, bufferrak betetzen badira. Horrela ez dira baliabideak inoiz agortuko (Mare Nostrum).
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 77 6
Laburbilduz Bideratze estatikoa: - Mailak, DOR → ez dago blokeorik - Toruak, DOR, 2 kanal birtual → ez dago blokeorik
Bideratze moldakorra: - Oro har: mailetan, kanal birtual bat dimentsio bakoitzeko, eta
toruetan, bi kanal birtual. - Beste estrategia batzuk. - Agian, zikloak sortzen ez dituzten topologiak: arbolak!
Adi: bideragailuak sinplea izan behar du, paketeak ahalik eta azkarren prozesatzeko. Beraz, litekeena da bideratze estatikoa nahikoa izatea!
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 78 6
Beste arazo batzuk
Livelock Paketeak aurrera eta atzera doaz, baina ez dute lortzen
helburura heltzea. Arazoa ager daiteke paketeak, “denbora ez galtzearren”, luzera
minimoko bideetatik desbideratzen badira. Lehentasunezko kontua izan daiteke.
Starvation Prozesadore batzuk ez dute lortzen haien paketeak sarean
injektatzea, trafiko handia dagoelako beti inguruetan. Ondo kudeatu behar dira paketeak injektatzeko estrategiak.
Zenbait arazo
Arkitektura Paraleloak IF - EHU
KS-ME 79 6
Ez ahaztu: elementu askok parte hartzen dute komunikazio-prozesuan.
sarea + bideragailuak
interfazea + prozesadorea (+SE?)
P1 P2
Komunikazioko eragiketa motelenak zedarrituko du sistemaren komunikazio-abiadura.
Komunikazio-protokoloak
Arkitektura Paraleloak IF - EHU
KS-ME 80 6
Paketeen transmisioa baino ez dugu kontuan hartu. Baina “prozesadorea/sarea” interfazea ere oso garrantzitsua da: nola injektatzen dira paketeak sarean? nola ateratzen dira?
Hainbat komunikazio-protokolo daude prozesu horiek arautzeko:
- Sinpleena: TCP/IP - Eraginkorragoak: > 0 kopiako protokolo estandarrak: VIA, Infiniband > bereziak: gm (myrinet)...
Komunikazio-protokoloak
Arkitektura Paraleloak IF - EHU
KS-ME 81 6
erabiltz. mem.
erabiltz. mem.
Ohiko gauzatzea:
1. TCP / IP reliable / connection oriented Lehenbiziko cluster-en protokoloa
kopia sist. mem.
kopia sist. mem.
etena SE etena SE
Komunikazio-protokoloak
Arkitektura Paraleloak IF - EHU
KS-ME 82 6
Kontuz: sistema eragilea eta kopiak erabili behar izateak dakarren gainkarga handia izan daiteke.
protokoloaren gainkarga Transmisio-denbora
10 Mb/s 100 Mb/s 1 Gb/s
Komunikazio-protokoloak
Arkitektura Paraleloak IF - EHU
KS-ME 83 6
2. VIA (virtual interface architecture)
Fabrikatzaile nagusien komunikazio-estandar(retako) bat: Ez dira kopiak egiten sistema eragileko memorian:
bideragailuekin lan egiten da.
-- mezu bat bidali baino lehen, tokia erreserbatzen da memorian, igorlean eta hartzailean.
-- send/receive eragiketek deskriptore bat bidaltzen dute ilara batera paketeak prozesatzeko.
-- baieztapenaren zain gera gaitezke, edo lanarekin jarraitu.
Behe-mailako protokoloa da, eta gauzatze natiboak edo emulatuak erabiltzen dira.
Komunikazio-protokoloak
Arkitektura Paraleloak IF - EHU
KS-ME 84 6
3. InfiniBand (IBA) Helburua: prestazio handiko komunikazio-azpiegitura,
kommutagailuetan (intra) eta bideragailuetan (inter) oinarrituta, SAN sareak osatzeko (bus partekatua ordezkatzeko).
- Egokigailu bereziak erabiltzen dira nodoak konektatzeko: HCA (konputazio-nodoak) edo TCA (nodo laguntzaileak).
- Sare lokaleko nodoak konektatzeko, kommutagailuak erabiltzen dira, eta bideragailuak sare lokalak haien artean konektatzeko.
- Loturak 2,5 Gb/s-koak dira, noranzko bakarrekoak, puntutik puntura.
Infiniband
Arkitektura Paraleloak IF - EHU
KS-ME 85 6
Arkitektura Paraleloak IF - EHU
KS-ME 86 6
4. Myrinet
Errendimendu handiko komunikazio-azpiegitura (garestia).
10 Gbit/s-ko loturak (full duplex), zuntz optikoa. Kommu-tagailuak crossbar batean (Clos sarea). Cut-through.
Mezuak kudeatzeko software propioa (GM). (10) Gigabit Ethernet-eko inplementazioak / Via / Infiniband.
Pakete txikien latentzia (MPI) < 2 µs (Gigabit Eth, 50 µs)
Throughput maximoa: 9,6 Gbit/s
Myrinet
Arkitektura Paraleloak IF - EHU
KS-ME 87 6 Myrinet
Arkitektura Paraleloak IF - EHU
KS-ME 88 6 Myrinet
Arkitektura Paraleloak IF - EHU
KS-ME 89 6 Myrinet
Arkitektura Paraleloak IF - EHU
KS-ME 90 6
ADI: sistema paraleloa cluster bat bada, eta cluster-a osatzeko PCak erabiltzen badira, sarearen eta nodoen arteko konexioa PCI busaren bidez egingo da.
Agian bus horrek zehaztuko du abiadura, eta ez sareko osagaiek!
PCI → 32 bit / 33 MHz -- 64 bit / 66 MHz 110 - 480 MB/s PCI-X → 1 GB/s (2.0 → 4 GB/s)
PCI Express → 200 MB/s kanal bakoitzeko (× 32 → 6,4 GB/s)
Komunikazio-protokoloak
any questions?
Arkitektura Paraleloak
IF - EHU
KS-ME | Komunikazio-protokoloak
ADI: sistema paraleloa cluster bat bada, eta cluster-a osatzeko PCak erabiltzen badira, sarearen eta nodoen arteko konexioa PCI busaren bidez egingo da.
Agian bus horrek zehaztuko du abiadura, eta ez sareko osagaiek!
PCI → 32 bit / 33 MHz -- 64 bit / 66 MHz 110 - 480 MB/s PCI-X → 1 GB/s (2.0 → 4 GB/s)
PCI Express → 200 MB/s kanal bakoitzeko (× 32 → 6,4 GB/s)