7. Datuen Koherentzia DSM Konputagailuetan

Slides:



Advertisements
Presentaciones similares
Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -
Advertisements

HBSP/PREE Bidelaguna ZUZENDARIEN MINTEGIA APIRILAREN 14AN.
2 Natura Zientziak - DBH 1 Lurraren geruzak eta baliabideak Lurra Hauetan banatuta dago: Geruzak Hauek dira: GeosferaBiosferaHidrosferaAtmosfera Geruza.
ZATIKIAK: SARRERA DBH 1. Esanahia eta adierazpena Zenbakitzailea: Zenbat zati hartu ditugun adierazten du. Izendatzailea: Osoa zenbat zatitan banatu dugun.
Gogamena edo Pentsamendua
Alejandra Alonso Olatz Artabe Amaia Azkorra
ATOMOAREN EGITURA TXINGUDI BHI.
KROMOSOMEN EGITURA Nerea Sandonis.
IZAKI BIZIDUNAK IZAKI BIZIDUNAK.
ZENBAKI OSOAK, ZENBAKI ARRUNTAK, MULTIPLOAK ETA ZATITZAILEAK
DISOLUZIOAK.
Datuen azterketarako oinarrizko funtzioak
EHULKU (galderak nola egin)
Nola eman behar genuke euskaraz lentes progresivas / verres progressifs, erabileremu teknikoan, optikan esaterako? EHULKUren aholkua (Leiar progresiboak)
CERN: PARTIKULEN FISIKA IKERTZEKO ZENTROA
Aurrekontua: zer pentsatua ematen duen zenbaki labirintua
CPR-Ejea de los Caballeros, noviembre de 2009
Nondik dator Eguzkiaren Energia?
NATURALEZA.
NATURA.
Paula, Maider eta Maialen
EGUZKI ENERGIA FOTOVOLTAIKA
Zure diruaren garrantzia Unitate Didaktikoa 4.mailako DBH
ZER DA PERPAUSA.
Perpaus Motak Maite Goñi
III. PROBABILITATEA PROBABILITATEAREN DEFINIZIOAK
ADIERAZPEN ALGEBRAIKOAK
EHULKU zerbitzua EHULKUren aholkua (EHULKU).
BITARTEKARITZA.
10:00etatik 12:00etara eta 14:00etatik 17:30era.
DESKRIPZIOA.
Aizea Arrien Barrenetxea
Patinak.
8. Begizten Paralelizazioa eta Atazen Banaketa
Leire Zallo eta Edurne Zallo.
PISA Euskadin: 2012ko aplikazioaren ezaugarriak
Integrazio-metodoak koadraturen bidez:
Abiadura Handiko Konputazioa
IZEN SINTAGMA 2019/01/17.
Beritzegune Nagusia / Arloak
Bakterio-mota batzuetan ageri diren beste zenbait egitura
Egilea: Gorka Arrien Arruti Taldea: BATX 2-D
Gaztelaniazko diferente izenondoa ez da beti desberdintasuna adierazteko erabiltzen (eta distinto, diverso sinonimoak ere ez). EHULKUren aholkua (Desberdin.
KLONAZIOA.
Soldata Lan Harremana Hitzarmen Kolektiboa Ogasuna Gizarte Segurantza
animalia hiltzailea / animalia-hiltzailea
Zer da Euskalbar?.
Higidura, Ibilbidea eta Desplazamendua
ERRIBOSOMAK Paul Isasi.
David Beckhamek € kobratuko du eguneko.
Hezkuntza Premia Berezia - H.P.B.
ZELULA AMAK.
Komunikazioaren elementuak
ZINETIKA KIMIKOA.
EGITURA-S. PERIODIKOA 2000/2001 UZTAILA C-3
2. Konputagailu Paraleloak
Edukiera-unitateak.
4. Prozesuen Sinkronizazioa SMP Konputagailuetan
DBH 2 5. UD:HIRIEN SUSPERRALDIA
ZER DA DEKALOGOA? “Dekalogo” hitzak bi sustrai greko ditu: deka (hamar) eta logos (hitza). Beraz, edozein ekinbide garatzeko oinarrizko hamar arau, gomendio.
Zein desberdintasun dago psikiatriaren eta psikologiaren artean?
{sin(klx), cos(klx)} oinarria: Fourier-en serieak
Nukleoaren bildukia eta nukleoa
Egileak: Julen, Borja eta
GALAXIAK.
URAK KUTSATUTA DAUDE!!! Garbi ibili eta ez bota zikinik!
Abantailak Worpressek dituen abantailak asko dira. Guk zenbait aukeratu ditugu zuekin partekatzeko. Lehenik eta behin, wordpressek oso kudeaketa erreza.
KALKULU NUMERIKOA: Funtsezko arazoa:
ikasturteko HEZIKETA PREMIA BEREZIKO AHOLKULARIAK
FILOSOFIAren HISTORIA
Transcripción de la presentación:

7. Datuen Koherentzia DSM Konputagailuetan Arkitektura Paraleloak IF - EHU 7. Datuen Koherentzia DSM Konputagailuetan - Sarrera - Koherentzia-direktorioak: MN / CM - Arazoak: trafikoa eta atomikotasuna - Origin konputagailuen protokoloa - SCI protokoloa (NUMA-Q)

 Eta DSM sistemetan (mailak...)? Sarrera  Datuen koherentzia memoria partekatuko SMP sistemetan (komunikazio-sarea, busa): > Zelataria > Egoerak / egoera iragankorrak...  Eta DSM sistemetan (mailak...)? > Memoria partekatua da, baina fisikoki banatuta dago sistemako nodoen artean. > Sarea ez da bus bat. Beraz, zelataria?

 Nola eutsi datuen koherentziari DSM sistemetan? Sarrera  Nola eutsi datuen koherentziari DSM sistemetan? ▪ hardwareak ez du datuen koherentzia ziurtatzen (programatzailearen ardura da datuen koherentzia ziurtatzea) → NUMA ▪ hardwareak ziurtatzen du datuen koherentzia: → cc-NUMA Nola? Koherentzia-direktorioak.

Sarrera  Koherentzia-direktorioak datu-blokeei buruzko informa-zioa gordetzen du: - egoera (egonkorra, iragankorra) - kopiak non dauden  Koherentzia-direktorioa sistemako prozesadoreen artean banatzen da; ez da (ezin da!) gailu “zentralizatu” bat.  Arazoak: - direktorioaren tamaina. - koherentzia mantentzeko sortzen den trafikoa. - koherentzia-eragiketen atomikotasuna.

 Koherentzia-direktorioaren kokapena eta egitura: Sarrera  Koherentzia-direktorioaren kokapena eta egitura: - MNaren ondoan, koherentzia-hitz bat datu-bloke bakoitzeko: ▪ Full bit vector ▪ Limited bit vector - CMetan banatuta (+MN), blokeei buruzko informazioarekin “zerrenda estekatuak” osatuz: ▪ SCI, scalable coherent interface

Koher.-direktorioak (MN)  Koherentzia-direktorioa MNaren ondoan: 1. Full bit vector (MESI) Direktorioaren egitura: - bit bat prozesadoreko (1/0), datu-blokearen kopia duen edo ez adierazteko. - hainbat bit blokearen egoera adierazteko (ohiko egoerak). P0 P1 P2 P3 Eg 1 0 0 0 - 0 > E 1 0 1 0 - 0 > S 0 0 0 1 - 1 > M 0 0 0 0 - 0 > I 1 1 0 1 - 1 > ez (MESI)

Koher.-direktorioak (MN)  Arazoak Direktorioaren tamaina, linealki hazten baita prozesadore kopuruaren arabera. - 64 byteko blokeak: P = 64 → 65 bit (8 byte) P = 256 → 257 bit (32 byte) P = 1.024 → 1.025 bit (128 byte) + % 200!

Koher.-direktorioak (MN)  Koherentzia-hitzaren tamaina murrizteko aukerak: 1. Datu-bloke “handiagoak” erabiltzea 2. Nodo kopurua txikiagoa izatea (egitura hierarkikoa, SMP zelatariak + direktorioa) - 128 byteko blokeak / 4 prozesadoreko nodoak: P = 1.024 (256x4) → 257 bit (32 byte) + %25

Koher.-direktorioak (MN) 2. Limited bit vector - datu-blokeen kopia kopurua cacheetan mugatu egiten da: k kopia bakarrik. - koherentzia-hitzean, blokearen kopia duten prozesa-doreen helbideak (log P bit) gordetzen dira. @1, @2, ..., @k, egoera k × log2 P << P

Koher.-direktorioak (MN) - 4 prozesadoreko nodoak / 128 byteko datu-blokeak / gehienez 5 kopia P = 256 (64x4) → 5 x 6 + 1 = 31 bit ≈ 4 byte + % 3 P = 1.024 (256x4) → 5 x 8 + 1 = 41 bit ≈ 5 byte + % 4

LD A Koher.-direktorioak (MN) L H R 1 3 2 4 5 1 bit prozesadoreko egoera 0 ... 1 ... 0 M L KK = komunikazioen kontrolagailua D = koherentzia-direktorioa L = local H = home R= remote H P C KK D MN R 1 S 1 2 3 4 5

ST A Koher.-direktorioak (MN) L H R2 R1 1 3’ 3 2 4’ 4 beste bi kopia egoera L KK = komunikazioen kontrolagailua D = koherentzia-direktorioa L = local H = home R= remote H P C KK D MN 0 …0 0 M 1 4 4’ 2 3 3’ R2 R1

Koher.-direktorioak (CM)  Koherentzia-direktorioak CMetan: egitura Datu-bloke baten egoerari buruzko informazioa ez da hitz bakar batean, direktorioan, zentralizatzen. Koherentzia-informazioa MNaren ondoan zein cacheetan banatzen da (cacheen direktorioetan). Esteka bikoitzeko zerrenda bat osatzen da datu-bloke bakoitzeko koherentzia-informazioarekin.

Koher.-direktorioak (CM)  Koherentzia-informazioa (datu-bloke bakoitzeko) @kop1 / egoera “MN” → @kopi-1 / @kopi+1 / egoera CM →

Koher.-direktorioak (CM)  Nola eratzen da bloke baten kopia-zerrenda estekatua? Pi,Pk *,Pk MN D datu-bl. Pk *, * datu-bl. *,Pj datu-bl. Pj,* Pi Pj datu-bl. Pi (cachea) Pj (cachea) Pk (cachea) Home (memoria nagusia)

Koher.-direktorioak (CM) P = 1.024 / MN = 128 MB / CM = 512 kB / bl = 128 byte 1. MN 5 kopia, 3 biteko egoerak Koherentzia-hitza: 5 x 10 + 3 = 53 bit Direktorioa nodoetan: 53 bit x 1 M bloke = 53 Mb 2. CM “MN”an: 10 + 3 = 13 bit Cacheetan: 2 x 10 + 3 bit = 23 bit Nodoan: 13 x 1 M + 23 x 4 k = 13,1 Mb

Arazoak: koher.-trafikoa  Koherentzia mantentzeak ahalik eta trafiko gutxien sortu behar du (kontrol-paketeak eta datu-paketeak).  Gainera, koherentzia mantentzeko eragiketen latentziak txikia behar du izan.  Beraz: - Pakete kopurua (trafikoa) murriztu behar da. - Eragiketaren bide kritikoa (latentzia) txikiagotu behar da.

Arazoak: koher.-trafikoa  Hiru protokolo koherentzia-eragiketen “elkarriz-ketak” betetzeko: 1. Eskaera / Erantzuna 2. Intervention Forwarding 3. Reply Forwarding  Adibidea: L prozesadoreak irakurri egin behar du cachean ez duen hitz bat, H prozesadorearen memoriako bloke batekoa, zeina R nodoan aldatuta dagoen.

Arazoak: koher.-trafikoa 1. Eskaera / Erantzuna 3. Eskaera 0100 / M 1. Eskaera L H R I 4b. Blokea (eguner.) M 4a. Erantzuna (Blokea) 2. Erantzuna mezuak: 5 bide kritikoa: 4

Arazoak: koher.-trafikoa 2. Intervention Forwarding 0100 / M 1. Eskaera 2. Eskaera L H R M I 4. Erantzuna (Blokea) 3. Erantzuna (Blokea) mezuak: 4 bide kritikoa: 4

Arazoak: koher.-trafikoa 3. Reply Forwarding 0100 / M 1. Eskaera 2. Eskaera L H R 3b. Blokea (eguner.) M I 3a. Erantzuna (Blokea) mezuak: 4 bide kritikoa: 3

Arazoak: atomikotasun eza  Koherentzia-eragiketek atomikoak izan behar dute, “interferentziarik” gabe bete ahal izateko. 2a → ..1..0.. / M ? R1 H S R2 ..1..1.. / S 1a. INV 1b. INV →M 2b. Erantzuna → M??

Arazoak: atomikotasun eza  Atomikotasuna ziurtatzeko: + Egoera iragankorrak, busy, erabili behar dira, direktorioan zein cacheetan. + Eskaerak prozesatu ezin badira edo inkoherenteak badira: - errefusatu egiten dira, NACK paketeen bidez. - gorde egiten dira “buffer” batean, geroago prozesatzeko.

 Bi adibide: Koh.-protokolo komertzialak 1. Origin konputagailuak → MN 2. SCI protokoloa (Numa-Q) → CM

 Origin 2000 multikonputagailuen zenbait ezaugarri: ▪ 512 nodo / 1.024 prozesadore / hiperkuboa ▪ Bideratze moldakorra / kanal birtualak ▪ Baliogabetu / MESI / write-back ▪ Full bit vector / 7 egoera I / S / E adi: E = E edo M (kopia bakarra) 3 busy egoera (desberdinak) beste egoera bat (gauza berezietarako) ▪ Reply forwarding / NACK ▪ Kontrol-paketeak: Rd / INV / RdEx / ACK / NACK

Origin 2000  Hiru eragiketa analizatu behar ditugu, datuen koherentzia nola ziurtatzen den aztertzeko: ▪ Aldagai baten irakurketa (huts egin) ▪ Aldagai baten idazketa (asmatu / huts egin) ▪ Datu-bloke baten ordezkapena (MNa eguneratu)

Origin 2000 Irakurketa (huts) L H Dir. = I/S 1b. Rd A 2a → 0001 / E → busy → E/S 3 1100 / S → 1101 / S 2b. Blokea I

Origin 2000 Irakurketa (huts) L H R Dir. = E 2a → 1001 / busy 4 1000 / E 1b. Rd A 2c. Rd A (+@L) L H R 1a → busy → S 4 3a → S 3b. ACK / Blokea 2b. Blokea (espek.) 3c. ACK / Wr (Bl.) I E/M

Origin 2000 Irakurketa (huts) L H Dir. = busy 1b. Rd A xxxx / busy 1a 2. NACK I

Idazketa (asm-INV / huts-RdEx) Origin 2000 Idazketa (asm-INV / huts-RdEx) Dir. = busy 1b. INV A / RdEx A L xxxx / busy H 1a → busy 2. NACK S/I

Idazketa (asm-INV / huts-RdEx) Origin 2000 Idazketa (asm-INV / huts-RdEx) Dir. = S eraginkortasuna kontuz lasterketak! 2a → 0001 / E 1101 / S 1100 / S 2d. INV A (+@L) 1b. INV A / RdEx A 2c. INV A (+@L) L H R1 R2 1a → busy → M 5 4b. ACK 3b. ACK 3a S → I 4a S → I S/I 2b. k.kop. / +Blokea

Idazketa (asm-INV / huts-RdEx) Origin 2000 Idazketa (asm-INV / huts-RdEx) Dir. = S Adi: lasterketak! → 0011 / busy 2a → 0001 / E 1101 / S 1100 / S 2d. INV A (+@L) 1b. INV A / RdEx A 2c. INV A (+@L) Rd A (@R3) L H R1 R2 1a → busy ? NACK S/I 2b. k.kop. / +Blokea eraginkortasuna: ez errefusatu, gorde! R4 R3

Origin 2000 Idazketa (huts-RdEx) L H R Dir. = E 2a → 0001 / busy 4 1000 / E 1b. RdEx A 2c. RdEx A (+@L) L H R 1a → busy → M 4 3a → I 3b. ACK / Blokea 2b. k.kop. + Blokea (espek.) 3c. ACK / Wr (Blokea) I E/M

Origin 2000 Idazketa (asm-INV) L H Dir. = E 1b. INV A 1000 / E 1a S → busy 2. NACK S

Origin 2000 Idazketa (huts-RdEx) L H Dir. = I 1b. RdEx A 2a → 0001 / E → busy → M 3 2b. Blokea I

Origin 2000 Idazketa (asm-INV) L H Dir. = I 1b. INV A 0000 / I 1a S → busy 2. NACK S

Ordezkapena: MNa eguneratzea Origin 2000 Ordezkapena: MNa eguneratzea Dir.: = E 1b. Wr (Blokea) 2a → 0000 / I 0001 / E L H 1a → busy → x 3 2b. ACK M

Ordezkapena: MNa eguneratzea Origin 2000 Ordezkapena: MNa eguneratzea Dir.: = busy 2a → 1001 / busy → 1000 / E 3a 0001 / E 2c. Rd A 1b. Rd A 2b. Blokea (espek) L H R M 2 → busy 2d. Wr (Blokea) → x 4 1a → busy 4 → E 3c. ACK 3b. Blokea I

 NUMA-Q multiprozesadoreen egitura: C M S/I PCI IQ link D 4P

 NUMA-Q multiprozesadoreen egitura: ▪ 8 x 4 prozesadore / bus (zelataria) ▪ IQ-link remote access cache ▪ Baliogabetu / MOESI / write-back ▪ <Eskaera / Erantzuna> / paketeak gorde ▪ Esteka bikoitzeko zerrendak CMetan: direktorioa (MN): egoera / @k1 direktorioa CM: egoera / @ki-1 / @ki+1 ▪ SCI: scalable coherent interface

SCI koherentzia-protokoloa  Blokeen egoerak: ▪ “MNan”: Home (I), Fresh (E, S), Gone (M, O) ▪ CMan: - posizioa: Only, Head, Mid, Tail - egoera: Dirty (M), Fresh (S), Valid (S’), Exclusive (E) Adib.: Only-Fresh, Head-Fresh, Head-Dirty, Mid-Valid... - eta busy egoerak

SCI koherentzia-protokoloa  Datuen koherentzia mantentzeko hiru funtzioak: ▪ List Construction Bloke baten kopia bat cachean kargatzeko (Rd) eta kopia-zerrendako buruan kokatzeko. ▪ Roll-out Bloke baten kopia cachetik kentzeko (ordezkapena), eta kopia-zerrenda egokitzeko. ▪ Purge Aldagai bat aldatzeko (Wr), eta, ondorioz, gainerako kopiak baliogabetzeko eta kopia-zerrenda egokitzeko.

SCI koherentzia-protokoloa Irakurketa: List Construction (Home) 1b. LC (Rd A) H | * Dir (MN) I Dir (CM) L 2a → F | @L H 1a → busy → O-F|*-* 3 2b. Blokea

SCI koherentzia-protokoloa Irakurketa: List Construction (Fresh / Gone) Dir (CM) I 1a → busy → H-F | *-@R 5 3. New Head (@L) 1b. LC (Rd A) F | @R Dir (MN) R L 2a → F | @L H 4b. ACK 2b. Blokea + @R Dir (CM) O-F | *-* H-F | *-@R2 → T-V | @L-* 4a → M-V | @L-@R2 zer aldatu baldin Gone?

SCI koherentzia-protokoloa  Idazketak: buruan dagoen kopian bakarrik! asmatu / buruan → Purge huts egin → List Construction + Purge asmatu / ez buruan → Roll-Out + L. Const. + Purge

SCI koherentzia-protokoloa Purge (Only-Fresh) 1b. Wr (A-ren egoera) F | @L Dir (MN) 2a → G | @L L H O-F | *-* Dir (CM) 2b. ACK 1a → busy → O-D | *-* 3

SCI koherentzia-protokoloa Purge (Head-Fresh) F | @L Dir (MN) → G | @L 2a 5. INV A 1b. Wr (A-ren eg.) 3. INV A H L R1 R2 6b. ACK + * 2b. ACK 4b. ACK + @R2 H-F | *-@R1 Dir (CM) → I | *-* 6a 1a → busy T-V |@R1-* → O-D | *-* 7 M-V |@L-@R2 Dir (CM) → I | *-* 4a

SCI koherentzia-protokoloa Roll-Out (Wr / ordezk.) M-V | @R1-@R2 Dir (CM) 1a → busy 4 → busy / I | *-* 1b. RO A + @R2 1c. RO A + @R1 R1 L R2 2b. ACK 3b. ACK H-D | *-@L Dir (CM) T-V | @L-* Dir (CM) 2a → H-D | *-@R2 3a → T-V | @R1-*

NUMA-Q: atomikotasuna  Arazoak: atomikotasuna (i) L1 M-V|@L2-@R1 L2 Ack + bl H-D | *-@L1 R1 L2 busy M-V|@L1-@R2 R1 L1 Ack + bl H-D | *-@R1 busy L1 Dir (MN) G | @R1 H-D|*-@R2 H R1 R2 T-V | @R1-* NewHead H L1 NewHead H Dir (MN) G | @L2 H L1 L2 Dir (MN) G | @L1 H

NUMA-Q: atomikotasuna  Arazoak: atomikotasuna (ii) Dir (MN) F | @L H O-F | *-* L busy LC busy Wr R NACK Dir (MN) F | @R ??

DK-DSM | NUMA-Q: atomikotasuna Arkitektura Paraleloak IF - EHU DK-DSM | NUMA-Q: atomikotasuna R H O-F | *-* L busy LC Wr Dir (MN) F | @R ?? NACK  Arazoak: atomikotasuna (ii) any questions?

Datuen koherentziari eusteko, DSM sistemetan, koherentzia-direktorioak erabiltzen dira. Bi modutan antola daiteke direktorioa: blokearen koherentzia-informazioa hitz batean zentralizatuta, MNaren ondoan; edo CMetan banatuta, datu-blokeen kopiekin batera. Koherentzia-eragiketen latentziak eta trafikoak ahalik eta txikiena izan behar dute: eskaera/erantzuna, intervention forwarding eta reply forwarding. Baina arazo nagusia atomikotasun eza da. Eta atomikotasuna ziurtatzeko, egoera iragankorrak eta NACK paketeak erabili ohi dira. Eta protokolo horiek gauzatzeko... Aurreko atalean...