Arkitektura Paraleloak
description
Transcript of Arkitektura Paraleloak
Arkitektura Paraleloak IF - EHU
Arkitektura Paraleloak
3. Datuen Koherentzia SMP Konputagailuetan- Sarrera- Zelataria- Baliogabetze-protokoloak- Eguneratze-protokoloak- Atomikotasuna
Arkitektura ParaleloakIF - EHU
D. K. 23
Konputagailu baten memoria hierarkikoki antolatzen da:
Erreg. CM1 CM2... MN Diskoa
+ abiadura
+ edukiera
Memoria-atzipenak ez dira zorizkoak:t → @A t + ∆ t →@At → @A t + 1 → @A+1
Sarrera
Arkitektura ParaleloakIF - EHU
D. K. 33
Memoria-maila bakoitza aurrekoaren azpimultzo bat da.Helburua: datu guztiak sartzen ez badira ere, ustez gehiago edota laster erabili behar diren datuak ekarriko ditugu cachera.Transferentzia-unitatea blokea (line) da: ondoz ondoko helbideetako N hitz.
blokeahitza
Sarrera
Erreg. CM1 CM2... MN Diskoa
Arkitektura ParaleloakIF - EHU
D. K. 43
Beraz, datuen kopiekin lan egiten da. Nola lortu kopia horiek beti berdinak (koherenteak) izatea? Idazketa-politika:Write-Through: aldaketak memoria-maila
guztietan egiten dira; trafiko asko sortzen da busean.
Write-Back: aldaketak beheko mailan soilik egiten dira; ordezkatu behar direnean eguneratuko dira kopiak goiko mailan.
Sarrera
Erreg. CM1 CM2... MN Diskoa
Arkitektura ParaleloakIF - EHU
D. K. 53
SMP sistemetako memoria partekatua da eta aldagai partekatuak erabiltzen dira prozesuak komunikatzeko. Beraz, datu-blokeen kopia kopurua handiagoa izan daiteke (P+1), eta kopiak ez daude kotrol-unitate bakar baten mende.
MN Diskoa
Erreg. CM1 CM2...
Erreg. CM1 CM2...
Erreg. CM1 CM2...
Sarrera
Arkitektura ParaleloakIF - EHU
D. K. 63
X Y ZT
datu-blokea
P1 prozesuaren aldagaiak P2 prozesuaren aldagaiak
Datu-blokeen kopiak ageri dira:
Beraz, nola lortu kopiak koherenteak izatea horietako bat aldatzen denean?
- aldagaiak partekatzen direlako (shared).- partekatzen ez badira ere, datu-bloke berean daudelako (sasi-partekatzea).
Sarrera
Arkitektura ParaleloakIF - EHU
D. K. 73
Memoria-sistemak koherentea izan behar du: prozesu guztiek informazio bera eta eguneratua erabili behar dute.
Sistema koherentea da baldin eta:- aldagai bat irakurtzean, aldagai horretan idatzitako azken balioa lortzen bada (idazketatik denbora “nahikoa” igarota).- aldagai baten gaineko idazketa guztiak ordena berean “ikusten” badira prozesadore guztietan.
Sarrera
Arkitektura ParaleloakIF - EHU
D. K. 83
Bi estrategia daude memoria partekatuko sistemak koherenteak mantentzeko:
SMP sistemak (prozesadore batzuk, memoria zentralizatua, busa):
→ zelatatze-automatak (snoopy)
DSM sistemak (prozesadore asko, memoria banatua, sare orokorra):
→ koherentzia-direktorioak
Sarrera
Arkitektura ParaleloakIF - EHU
D. K. 93
SMP sistema baten prozesadoreak eta memoria komunikatzeko, busa(k) erabiltzen d(ir)a. Busa sare zentralizatua da; beraz, datu-transferentzia guztiak “publikoak” dira.Nola jakin daiteke gure cachean dagoen aldagai bat beste prozesadore batean aldatu dela, edo guk duguna beste batean erabili behar dutela?
>> Busa zelatatuz besteok zer egiten duten jakiteko, eta kontrol-seinale bereziak zabalduz, prozesadore guztietara, busaren
bidez.
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 103
Zer egin behar da bloke baten kopia batekin, baldin eta beste prozesadore batean aldatzen bada?
- Informazioa dagoeneko erabilgarria ez denez, kopiak baliogabetu egiten dira.
A=4 A=4 A=4
mem. nagusia
cachea
A=4
wr A,#3
INV A
A=3
Baliogabetze-protokoloak
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 113
Zer egin behar da bloke baten kopia batekin baldin eta beste prozesadore batean aldatzen bada?
- Kopien informazioa eguneratu egiten da balio berriarekin.A=4 A=4 A=4
mem. nagusia
cachea
A=4
wr A,#3
BC A,3
A=3 A=3 A=3
Eguneratze-protokoloak
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 123
Datu-blokeen kopiak kudeatzeko, kontrol-informazioa gehitzen da cacheko direktorioan. Kontrol-bit horien bidez, blokeen egoerak definitzen dira. 5 egoera hauek erabili ohi dira:I baliogabea.E esklusiboa: kopia bakarra eta koherentea
MNarekin.M aldatua: kopia bakarra eta ez koherentea
MNarekin.S partekatua: kopia batzuk, denak koherenteak.O jabea: kopia batzuk (bat O, besteak S), ez
koherenteak.
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 133
Bost egoera horiek definitzeko, hiru bit behar dira cacheko direktorioan:
valid dirtyshared0 - - I1 0 0 E1 0 1 S1 1 0 M1 1 1 O
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 143
Datu-blokeen egoerak kudeatzeko eta kontrol-seinaleak sortzeko, bi informazio-iturri zelatatu behar ditu zelatariak:
zelataria
P
C
1. bertako prozesadoreko ekintzak2. busean ageri diren beste prozesadoreetako ekintzak
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 153
1. Bertako prozesadoreko ekintzak:PR helb
Prozesadoreak hitz bat irakurtzen du. Cachean ez badago, blokea eskatu egin behar da: BR helb.
PW helb,datProzesadoreak hitz bat idazten du. Sistemako gainerako kopiak baliogabetu edo eguneratu behar dira: INV helb edo BC helb,dat.Horrez gain, hutsegitea bada, blokea eskatu behar da (BR + INV/BC).
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 163
2. Beste prozesadoreetako ekintzak:BR helb
Beste prozesadore batek bloke bat eskatu du. Bertako cachean badago, egoera egokitu...INV helbProzesadore batek bloke jakin bat baliogabetzeko agindua sortu du. Cachean badago, blokea baliogabetu egin behar da.
BC helb,dat Prozesadore batek hitz bat eguneratzeko agindua sortu du. Cachean badago...
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 173
3. Beste kontrol-seinale batzuk:BW Bloke bat idatzi behar da memoria nagusian (WB)
BW* Hitz bat idatzi behar da memoria nagusian (WT)
Egoeren, idazketa-politikaren, kopiak kudeatzeko estrategiaren eta abarren arabera, zelatatze motako koherentzia-protokolo (automata) desberdinak lortzen dira.
Zelataria
Arkitektura ParaleloakIF - EHU
D. K. 183
MSI protokoloa
PR PW BR INV
I, -
S
M
S
S S
SM
M
M
M
I
I
BR
BW BW
INV
BR,INVINV(BW)
INVPR(BR)
PR
PR
M
S
I,-
BR (BW)
-BR
PW (BR,INV
)
PW(INV)
- PW
asm
atz
eahu
tsa
Baliogabetze-protokoloak (1)
Arkitektura ParaleloakIF - EHU
D. K. 193
Adi: koherentzia-protokoloak ahalik eta trafiko gutxien sortu behar du.
M: CM1 → MN → CM2
CM1 → MN, CM2
Zenbait kasutan, datu-blokeak hainbat tokitatik ekar daitezke.
S: CMi, CMj... / MN → CMk
Baliogabetze-protokoloak (1)
Arkitektura ParaleloakIF - EHU
D. K. 203
PR
PR
PR nsh(BR)
PR sh(BR)
PR
MESI protokoloa (Illinois): E egoera / sh kontrol-lerroa
PR PW BR INV
I, -
E
S
M
S
M
M
nsh: Esh: S BR M BR,INV
E
M
INVM S
S
I
IBW BW
S I
M
S
I,-
E
INV(BW)
BR (BW
)
INV
-BRBR
INVPW (BR,INV)
- PW
PW(INV)
PW
asm
atze
ahu
tsa
Baliogabetze-protokoloak (2)
Arkitektura ParaleloakIF - EHU
D. K. 213
MOSI protokoloa (Berkeley): O egoera
PR PW BR INV
I, -
S
M
O O
S BR M BR,INV
M
S
O
O
S
M INV
M
M
INV
I
I BW
I
BW
M
S
I,-
O
PR(BR)
PR
PR PR
PW (BR,INV)
PW(INV)
- PWPW (INV)
INV(BW)
INV
-BRINV (BW)
-BR
BR
asm
atze
ahu
tsa
Baliogabetze-protokoloak (3)
Arkitektura ParaleloakIF - EHU
D. K. 223
MSE(I) protokoloa (Firefly): sh kontrol-lerroa
PR PW BR BC
-
E
S
M
nsh: Esh: S BR
S
M
E M
M
BC S
S
S
SBW BW
S S
M
SEnsh: Esh: S
BRBR,BC
nsh: Msh: S
PR
PRPR
PR nsh(BR)
PR sh(BR)
BR (BW)
-BR-BC
BR
PW
- PW
PW nsh (BC)
PW sh
(BC)
PW nsh(BR)
PW sh
(BR,BC)
asm
atu
huts
aEguneratze-protokoloak (1)
Arkitektura ParaleloakIF - EHU
D. K. 233
MOES(I) protokoloa (Dragon): sh kontrol-lerroa
PR PW BR BC
-
E
S
M
O
O
O
S
S
BRnsh: Esh: S
O
M
S
E
S S
S S
BRBR,BC
nsh: Msh: O
-BC
-BC
nsh: Msh: O
nsh: Msh: O
M
M
asm
atze
ahu
tsa
Eguneratze-protokoloak (2)
Arkitektura ParaleloakIF - EHU
D. K. 243
LaburpenaZelataria cacheetako kontrol-hardware berezia da, eta datuen koherentzia mantendu ahal izateko erabiltzen da SMP sistemetan. Bertako prozesadoreko eragiketak zein beste prozesadoreetakoak (busari esker) zelatatzen ditu.Datu-blokeen egoerak egokitzen ditu cachean (I, E, S, M, O), eta kontrol-seinale bereziak sortzen ditu gainerako zelatariei abisatzeko.Bi aukera daude: kopiak baliogabetu horietako bat aldatzen denean, edo kopien edukia eguneratu.
Laburpena
Arkitektura ParaleloakIF - EHU
D. K. 253
LaburpenaHainbat koherentzia-protokolo defini daitezke, erabiltzen diren egoeren, idazketa-politiken... arabera.
Sortzen den datu- eta kontrol-trafikoa minimizatu egin behar da. Gogoratu: datu-bloke bat memoriara eraman behar da M/O egoeretatik E/S egoeretara aldatzean (eta, noski, aldatuta badago, ordezkatzean).
Laburpena
Arkitektura ParaleloakIF - EHU
D. K. 263
Koherentzia-kontroladoreaKoherentzia mantentzeko hardwareak prozesadoreko zein “buseko” ekintzak kontrolatu behar ditu.Cachearekin lan egiteko eskaerak aldi berean etor daitezke, bertako prozesadoretik zein “busetik”.
zelataria
P
C
Zelataria algoritmo banatua da, eta, definizioz, ez-atomikoa; beraz, hainbat arazo ager daitezke.Ikus ditzagun koherentzia-kontroladoreen ezaugarri fisiko batzuk arazoak nola gainditzen diren ulertzeko.
Koherentzia-kontroladorea
Arkitektura ParaleloakIF - EHU
D. K. 273
system bus
Cache data RAMtags + state
snoopy
Bus side controller
compar
Processor side
controller
P
compar
Cmd Addr Addr Cmd
tags + state
proc.
Write-back buffer
Data buffer
tag
state
to controller
data
to controller
addr contrCM Kontrolagailua eta cachearen direktorioa bikoiztu, bat prozesadorerako eta bestea “buseko” eragiketetarako.Idazketa-bufferrean ere egon daiteke datu-bloke bat: bilaketa-hardwarea bikoiztu egin behar da.
Koherentzia-kontroladorea
Arkitektura ParaleloakIF - EHU
D. K. 283
system bus
Cache data RAMtags + state
snoopy
Bus side controller
compar
Processor side
controller
P
compar
Cmd Addr Addr Cmd
tags + state
proc.
Write-back buffer
Data buffer
tag
state
to controller
data
to controller
addr contrCM Zenbat denbora zain zelatarien erantzuna lortu arte?- denbora finkoa
(max.)- denbora aldakorra (behar dena)Kontrol-lerro gehiago busean:
sh, dirty, inh...
Koherentzia-kontroladorea
Arkitektura ParaleloakIF - EHU
D. K. 293
Arazo nagusia atomikotasun eza da: datu-bloke beraren gainean, hainbat prozesadoretako aldi bereko ekintzak nahas daitezke.Adibidez, bi prozesadorek, batera, datu-bloke bera behar dute cachean. Une horretan kopiarik ez badago (sh = 0), biok kargatuko dute blokea E egoeran haien cacheetan!Edo, bi prozesadorek aldi berean idazten dute S egoeran dagoen bloke batean; ondorioz, elkarri baliogabetzen diote kopia!
Koherentzia-kontroladorea
Arkitektura ParaleloakIF - EHU
D. K. 303
Sinplifikazioa: busaren erabilera atomikoa da. Horretarako, bi kontrol-seinale:
BRQ (bus request): busa erabili nahi dut
BGR (bus grant): busa zuretzat da Hala ere, eragiketen atomikotasuna ez
dago bermatuta, eta, beraz, lasterketak (races) gerta daitezke:
algoritmo bati jarraituz, ezinezkoa den egoera batera heltzea, algoritmo
hori atomikoki exekutatu ez delako.
Koherentzia-kontroladorea
Arkitektura ParaleloakIF - EHU
D. K. 313
Irtenbidea: Buseko eragiketen atomikotasunaz gain (BRQ, BGR), egoera iragankorrak gehitzea koherentzia-protokoloari.
Adi: egoera iragankorrak kontroladoreari dagozkio, ez datu-blokeei.
Adibide gisa, azter dezagun berriro MESI protokoloa.
Lasterketak
Arkitektura ParaleloakIF - EHU
D. K. 323
MESI protokoloa
M
S
I
E
PW (BRQ)
BGR (BR,INV)
PW (BRQ)BR
PW
PR
PW/PR
PR/BR
INV
BR (BW)INV (BW)
INV
INV
BGR (INV)
PR (BRQ)
BGR (BR) nsh
BGR (BR) sh
IM / SM / ISE BRQ / BGR IM SM
ISE
Lasterketak
PW – huts./asm.PR – huts.
Arkitektura ParaleloakIF - EHU
D. K. 333
Algoritmo banatuetan ageri ohi diren beste arazo batzuk:Deadlock: sistema betiko blokeatzen da; ezin du ez aurrera ez atzera jo.
Livelock: sistema ez dago blokeatuta, baina prozesu bera errepikatzen du behin eta berriz, eta ez da gauza aurrera jarraitzeko.Starvation: zelatari batzuek ez dute inoiz eragiketak egitea lortzen, besteak aurreratzen direlako beti.
Lasterketak
Arkitektura ParaleloakIF - EHU
D. K. 343
SMP sistemetan, busa erabiltzen da prozesadoreak eta memoria komunikatzeko.Memoria zentralizatua izateak arazo asko dakar, busa ase egin daitekeelako → prozesadore kopurua mugatua da.Soluzio orokorra memoria banatzea da, eta horrela DSM sistemak lortzen dira, non komunikazio-sare orokorrak erabiltzen baitira.Sistema horietan ez dira zelatariak erabiltzen.
Bus-hierarkiak
Arkitektura ParaleloakIF - EHU
D. K. 353
Aurrerapen gisa, ikus dezagun kasu bat, non komunikazio-sarea busen hierarkia bat den eta zelatariak edo erabiltzen diren datuen koherentzia ziurtatzeko.
K K
koherentzia globalerako hardwarea
B1
B2
MN MN
SMP P
C zelatari lokala
Bus-hierarkiak
Arkitektura ParaleloakIF - EHU
D. K. 363
Koherentzia-kontroladoreak “direktorio” bereziak dira, non blokeei buruzko informazioa gordetzen den. Bi ataletan banatzen dira:KB: urrutiko cacheetera eraman diren
bertako datu-blokeei buruzko informazioa (egoerak).
KU: bertako cacheetara ekarri diren urrutiko datu-blokeei buruzko informazioa (egoerak/datuak).
Bus-hierarkiak
Arkitektura ParaleloakIF - EHU
D. K. 373
KB
KU
KB KU
B2
B1MN
CM CM
B1 MN
CM CMrd,
hutsaBR @
S
S
E
E
ES
S
S
S
M
M
M
@
S S
Bus-hierarkiak
Arkitektura ParaleloakIF - EHU
D. K. 383
KB
KU
KB KU KB KU
B1MN
CM CM
MN
CM CM
MN
CM CM
S S
SS
S
S
S
B2
INV @
M
INV @
I I
INV @
I
wr M
M
I
INV @
Bus-hierarkiak
galderak, mesedez ?
Arkitektura Paraleloak IF - EHU
KB
KU KB
KU KB
KUB1MN
CM CM
MN
CM CM
MN
CM CMS S
SS
S
S
S
B2
INV @
M
INV @
I I
INV @
I
wr M
M
IINV @
D.K. | Bus-hierarkiak