Arkitektura Paraleloak

Post on 24-Feb-2016

83 views 0 download

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

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