La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

7. Datuen Koherentzia DSM Konputagailuetan

Presentaciones similares


Presentación del tema: "7. Datuen Koherentzia DSM Konputagailuetan"— Transcripción de la presentación:

1 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)

2  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?

3  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.

4 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.

5  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

6 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 > E > S > M > I > ez (MESI)

7 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 = → bit (128 byte) + % 200!

8 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 = (256x4) → 257 bit (32 byte) + %25

9 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. egoera k × log2 P << P

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

11 LD A Koher.-direktorioak (MN) L H R 1 3 2 4 5 1 bit prozesadoreko
egoera 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

12 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

13 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.

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

15 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)

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

17 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.

18 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.

19 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

20 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

21 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

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

23 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.

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

25  Origin 2000 multikonputagailuen zenbait ezaugarri:
▪ 512 nodo / 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

26 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)

27 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

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

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

30 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

31 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 1b. INV A / RdEx A 2c. INV A L H R1 R2 1a → busy → M 5 4b. ACK 3b. ACK 3a S → I 4a S → I S/I 2b. k.kop. / +Blokea

32 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 1b. INV A / RdEx A 2c. INV A Rd A L H R1 R2 1a → busy ? NACK S/I 2b. k.kop. / +Blokea eraginkortasuna: ez errefusatu, gorde! R4 R3

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

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

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

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

37 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

38 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

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

40  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 direktorioa CM: egoera ▪ SCI: scalable coherent interface

41 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

42 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.

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

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

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

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

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

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

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

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

51 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 ?? NACK  Arazoak: atomikotasuna (ii) any questions?

52 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...


Descargar ppt "7. Datuen Koherentzia DSM Konputagailuetan"

Presentaciones similares


Anuncios Google