1 / 52

Arkitektura Paraleloak

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

ferris
Télécharger la présentation

Arkitektura Paraleloak

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2.  Datuen koherentzia memoria partekatuko SMP sistemetan (komunikazio-sarea, busa): > Zelataria > Egoerak / egoera iragankorrak... Sarrera  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 ▪ hardwareak ez du datuen koherentzia ziurtatzen (programatzailearen ardura da datuen koherentzia ziurtatzea) →NUMA ▪hardwareakziurtatzen du datuen koherentzia: →cc-NUMA Nola?Koherentzia-direktorioak.

  4. Koherentzia-direktorioak datu-blokeei buruzko informa-zioa gordetzen du: - egoera (egonkorra, iragankorra) - kopiak non dauden Sarrera 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 - 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. 1. Full bit vector (MESI) Koher.-direktorioak (MN) Koherentzia-direktorioa MNaren ondoan: Direktorioaren egitura: - bit bat prozesadoreko(1/0), datu-blokearen kopia duen edo ez adierazteko. - hainbat bit blokearen egoera adierazteko (ohiko egoerak). P0P1P2P3 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 > ez(MESI) 1 1 0 1 - 1

  7. Arazoak Direktorioaren tamaina, linealki hazten baita prozesadore kopuruaren arabera. Koher.-direktorioak (MN) - 64 byteko blokeak: P = 64 → 65 bit (8 byte) P = 256 → 257 bit (32 byte) P = 1.024 → 1.025 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 = 1.024 (256x4) → 257 bit (32 byte) + %25

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

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

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

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

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

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

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

  16. P = 1.024 / MN = 128 MB / CM = 512 kB / bl = 128 byte Koher.-direktorioak (CM) 1. MN5 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

  17. Koherentzia mantentzeak ahalik eta trafiko gutxien sortu behar du (kontrol-paketeak eta datu-paketeak).  Gainera, koherentzia mantentzeko eragiketen latentziak txikia behar du izan. Arazoak: koher.-trafikoa  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. 1. Eskaera / Erantzuna 3. Eskaera 1. Eskaera 4b. Blokea (eguner.) 2. Erantzuna 4a. Erantzuna (Blokea) Arazoak: koher.-trafikoa 0100 / M H R L M I mezuak: 5 bide kritikoa: 4

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

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

  22. 2a → ..1..0.. / M ..1..1.. / S 1b. INV 1a. INV H R2 R1 S S 2b. Erantzuna Arazoak: atomikotasun eza Koherentzia-eragiketek atomikoak izan behar dute, “interferentziarik” gabe bete ahal izateko. ? →M → 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. Koh.-protokolo komertzialak  Bi adibide: 1.Origin konputagailuak → MN 2.SCIprotokoloa(Numa-Q) → CM

  25. ▪512 nodo / 1.024 prozesadore / hiperkuboa ▪Bideratze moldakorra / kanal birtualak ▪Baliogabetu / MESI / write-back Origin 2000 Origin 2000 multikonputagailuen zenbait ezaugarri: ▪Full bit vector / 7 egoera I / S / Eadi: 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. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

  40. ▪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 NUMA-Q NUMA-Q multiprozesadoreen egitura:

  41.  Blokeen egoerak: SCI koherentzia-protokoloa ▪“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. Irakurketa:List Construction(Home) 1b. LC (Rd A) Dir (MN) H | * → F | @L Dir (CM) 2a → busy I → O-F|*-* 3 1a 2b. Blokea SCI koherentzia-protokoloa L H

  44. Irakurketa: List Construction(Fresh / Gone) → busy → H-F | *-@R 1a 5 3. New Head (@L) 1b. LC (Rd A) Dir (MN) F | @R → F | @L 2a 2b. Blokea + @R 4b. ACK Dir (CM) O-F | *-* → T-V | @L-* H-F | *-@R2 4a SCI koherentzia-protokoloa Dir (CM) I R L H → M-V | @L-@R2 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. Purge(Only-Fresh) 1b. Wr (A-ren egoera) Dir (MN) F | @L → G | @L Dir (CM) 2a → busy O-F | *-* → O-D | *-* 3 1a 2b. ACK SCI koherentzia-protokoloa L H

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

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

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

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

More Related