Arkitektura Paraleloak

39
Arkitektura Paraleloak IF - EHU Arkitektura Paraleloak 3. Datuen Koherentzia SMP Konputagailuetan - Sarrera - Zelataria - Baliogabetze-protokoloak - Eguneratze-protokoloak - Atomikotasuna

description

Arkitektura Paraleloak. 3. Datuen Koherentzia SMP Konputagailuetan. - Sarrera - Zelataria - Baliogabetze-protokoloak - Eguneratze-protokoloak - Atomikotasuna. Arkitektura Paraleloak . IF - EHU. Erreg. CM1 CM2 ...MNDiskoa. + edukiera. + abiadura. Sarrera. - PowerPoint PPT Presentation

Transcript of Arkitektura Paraleloak

Page 1: Arkitektura Paraleloak

Arkitektura Paraleloak IF - EHU

Arkitektura Paraleloak

3. Datuen Koherentzia SMP Konputagailuetan- Sarrera- Zelataria- Baliogabetze-protokoloak- Eguneratze-protokoloak- Atomikotasuna

Page 2: Arkitektura Paraleloak

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

Page 3: Arkitektura Paraleloak

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

Page 4: Arkitektura Paraleloak

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

Page 5: Arkitektura Paraleloak

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

Page 6: Arkitektura Paraleloak

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

Page 7: Arkitektura Paraleloak

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

Page 8: Arkitektura Paraleloak

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

Page 9: Arkitektura Paraleloak

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

Page 10: Arkitektura Paraleloak

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

Page 11: Arkitektura Paraleloak

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

Page 12: Arkitektura Paraleloak

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

Page 13: Arkitektura Paraleloak

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

Page 14: Arkitektura Paraleloak

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

Page 15: Arkitektura Paraleloak

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

Page 16: Arkitektura Paraleloak

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

Page 17: Arkitektura Paraleloak

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

Page 18: Arkitektura Paraleloak

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)

Page 19: Arkitektura Paraleloak

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)

Page 20: Arkitektura Paraleloak

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)

Page 21: Arkitektura Paraleloak

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)

Page 22: Arkitektura Paraleloak

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)

Page 23: Arkitektura Paraleloak

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)

Page 24: Arkitektura Paraleloak

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

Page 25: Arkitektura Paraleloak

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

Page 26: Arkitektura Paraleloak

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

Page 27: Arkitektura Paraleloak

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

Page 28: Arkitektura Paraleloak

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

Page 29: Arkitektura Paraleloak

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

Page 30: Arkitektura Paraleloak

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

Page 31: Arkitektura Paraleloak

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

Page 32: Arkitektura Paraleloak

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.

Page 33: Arkitektura Paraleloak

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

Page 34: Arkitektura Paraleloak

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

Page 35: Arkitektura Paraleloak

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

Page 36: Arkitektura Paraleloak

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

Page 37: Arkitektura Paraleloak

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

Page 38: Arkitektura Paraleloak

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

Page 39: Arkitektura Paraleloak

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