Post on 25-Jun-2020
Arkitektura Paraleloak
IF - EHU
Arkitektura Paraleloak
2. Konputagailu Paraleloak (oinarrizko kontzeptuak)
- Sarrera - SIMD konputagailuak - MIMD konputagailuak - Arazo nagusiak - Kalkulu-abiadura
Arkitektura Paraleloak IF - EHU
K. Par. 2 2
Paralelismoa: “eragiketa” bat baino gehiago “batera, aldi berean” egitea.
• datuen tamaina: 4 - 8 - 16 - 32 - 64... bit • aginduen exekuzioa (ILP):
segmentazioa, supereskalarrak, VLIW...
• datuetan vs programetan
Sarrera
Arkitektura Paraleloak IF - EHU
K. Par. 3 2
Paralelismoa
SIMD: Single-Instruction-Multiple-Data - bektore-prozesadoreak - prozesatze-matrizeak (array processors) - GPU
MIMD: Multiple-Instruction-Multiple-Data Prozesu/hari asko, erantzuna ahalik eta azkarren emateko (high performance).
- multiprozesua, hutsegiteekiko tolerantzia, P kopia (lan-emaria edo throughput-a)
Sarrera
Arkitektura Paraleloak IF - EHU
K. Par. 4 2
komunikazio-sarea
Prozesadore sinple asko, memoria gutxi, sarrera/ irteera eragiketetarako aukera.
Komunikazio-sare berezia.
prozesatze-matrizea
P+M+S/I
SIMD prozesatze-matrizea
Arkitektura Paraleloak IF - EHU
K. Par. 5 2
komunikazio-sarea
Kontrol-proz.
front-end
Kontrol-prozesadoreak sinkronoki exekutatuko duten agindua bidaltzen die prozesadore guztiei (BC). Prozesadore bakoitzak, agindua exekutatzen du edo ez du ezer egiten.
prozesatze-matrizea
P+M+S/I
SIMD prozesatze-matrizea
Arkitektura Paraleloak IF - EHU
K. Par. 6 2
Arkitektura mota hau egokia da aplikazio jakin batzuetarako; esaterako, irudiak (seinaleak) prozesatzeko.
Adibidea (X, Y eta Z bektoreak prozesadoreen artean banatuta daude)
for (i=0; i<1000; i++) if (Y[i] != 0) Z[i] = X[i] / Y[i]; else Z[i] = X[i];
1. pausoa: egiaztatu denak Y[i] != 0 (true / false) 2. pausoa: baldin (true) egin Z[i] = X[i] / Y[i]
(besteok, ezer ez) 3. pausoa: baldin (false) egin Z[i] = X[i]
(besteok, ezer ez)
SIMD prozesatze-matrizea
Arkitektura Paraleloak IF - EHU
K. Par. 7 2 GPU
GP-GPU
• erabiltzea kalkulurako, azeleragailu gisa, irudiak (matrizeak) prozesatzeko hardware berezia.
• prozesu-unitate (sinple) asko eta egituratuta. • kalkulu independente asko, datu-egitura oso
handien gainean. • CUDA arkitektura: memoria hierarkia berezia.
ADI memoria-transferentziak (MN-GPU) kalkulu baino denbora gehiago har dezakete.
Arkitektura Paraleloak IF - EHU
K. Par. 8 2
MIMD: Multiple-Instruction-Multiple-Data P prozesu/hari batera exekutatzen dira.
Oinarrizko bi eredu: - memoria partekatua - memoria banatua
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 9 2
M0
Mm–1 memoria nagusia
Memoria partekatua (shared memory)
P0 P1 Pp–1 prozesadoreak + CM
komunikazio-sarea
S/I
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 10 2
Memoria partekatua (shared memory)
- Helbide-espazio bakarra.
- Prozesuen arteko komunikazioa aldagai partekatuen bidez.
- Komunikazio-sarea: busa (edo urrats anitzeko sare bat).
- Izenak: multiprozesadorea, SMP, UMA.
- Eskuarki, prozesadore “gutxi”.
P0 P1 Pp–1
M0
Mm–1
S/I
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 11 2
Pp-1
Mp-1 S/I
Memoria banatua (distributed memory)
P0
M0 S/I
Konputagailua: Pr + CM + MN + S/I
komunikazio-sarea
K K
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 12 2
Memoria banatua (distributed memory)
- Helbide-espazio bat prozesadore bakoitzeko.
- Prozesuen arteko komunikazioa mezu-ematearen bidez.
- Komunikazio-sare orokorrak: hiperkuboa, maila, torua...
- Izenak: multikonputagailua, MPP.
- Eskuarki, prozesadore “asko”.
Pp-1
Mp-1 S/I
P0
M0 S/I K K
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 13 2
Beste aukera bat: memoria partekatua baina fisikoki banatua.
- Helbide-espazioa bakarra da, baina erabilera ez da homogeneoa: memoria-hierarkia bat osatu da.
- Prozesuen arteko komunikazioa aldagai partekatuen bidez egiten da (logikoki), eta mezu-ematearen bidez gauzatzen da.
- Izenak: DSM, NUMA (MPP).
Pp-1
S/I
P0
S/I K
M0
Mp-1 K
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 14 2
Izenak:
- SMP: memoria partekatuko multiprozesadorea, eskuarki prozesadore kopuru txikia, bus batez komunikatuta.
- MPP: prozesadore kopuru handiko sistema paraleloa, memoria partekatukoa zein banatukoa.
Oro har, makinarik azkarrenak, berariazko komunikazioko zein kalkuluko hardwarea eta softwarea dituzten sistemak. Baina garestiak.
Egitura hierarkikoak antola daitezke (adib., nodoak SMP sistemak dira).
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 15 2
Izenak:
- Cluster: helburu orokorreko hardware zein soft-warearekin egindako sistema paraleloa. Kostua/abiadura erlazioa oso ona da.
PC PC
PC PC
PC
ethernet
Sinpleena: PC / ethernet (Beowulf).
Commodity / Custom
Gero eta gehiago, sistema paralelo orokorra.
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 16 2
Izenak:
- Konstelazioa (constellation): cluster bat, non nodo kopurua nodo bakoitzeko prozesadore kopurua baino txikiagoa baita.
MIMD konputagailuak
Arkitektura Paraleloak IF - EHU
K. Par. 17 2
1
1
N
N
SIMD MIMD
SISD
agindu-jarioak
datu-jarioak
Prozesatze-matrizeak
Bektore-konputagailuak
MPP/NUMA
Clusters
memoria banatua
P
C
M
sare orokorra
MN
P
C
memoria partekatua
SMP
busa
Laburpena
Arkitektura Paraleloak IF - EHU
K. Par. 18 2
Helbide-espazioa partekatua pribatua
zentralizatua (busa)
banatua (sarea)
Memoria
SMP
DSM, NUMA
MPP
-
Laburpena
Arkitektura Paraleloak IF - EHU
K. Par. 19 2
- Nola kudeatzen da sistema osoa?
- Nola banatzen da algoritmo bat P prozesutan? Kode guztia paraleloan exekuta al daiteke?
- Lan-banaketa orekatua da, edo, adibidez, exekuzio-karga “% 80 - % 20” banatu da?
(load balancing)
Arazoak
Sistema paraleloetan gainditu behar diren arazo batzuk:
Arkitektura Paraleloak IF - EHU
K. Par. 20 2
Sistema paraleloetan gainditu behar diren arazo batzuk:
- Non daude datuak? Nola mantentzen da datuen koherentzia?
- Prozesu guztiak independenteak dira? Sinkronizatu egin behar dira?
- Prozesadoretik prozesadorera bidali beharko dira datuak? Nola?
Arazoak
Arkitektura Paraleloak IF - EHU
K. Par. 21 2
Ordaindu behar diren gainkargak
1. Komunikazioa Tp = Texe + Tkom
Texe Tkom
prozesadore kopurua
Tp
Arazoak
Arkitektura Paraleloak IF - EHU
K. Par. 22 2
Ordaindu behar diren gainkargak
2. Lan-banaketaren desoreka
Adibidez: 6 prozesu independente, antzeko exekuzio-denborak → Ts = 6T
▪ 3 prozesadoreren artean (2 + 2 + 2) Tp = 2T = Ts/3
▪ 4 prozesadoreren artean (2 + 2 + 1 + 1) Tp = 2T = Ts/3 !
Arazoak
Arkitektura Paraleloak IF - EHU
K. Par. 23 2
Ordaindu behar diren gainkargak
3. Cachearen erabilera
Cache-blokeetako datuak (ber)erabili behar dira (ingurutasuna).
Adibidez, baldin A1 eta A2 ondoz ondoko memoria-posiziotan badaude, prozesadore berean prozesatzea mereziko du, cacheko asmatze-tasa handitzeko.
Arazoak
Arkitektura Paraleloak IF - EHU
K. Par. 24 2
Aplikazio motak
- ale xeheko paralelismoa ataza asko, txikiak komunikazioa: maiz, datu gutxi
- ale larriko paralelismoa ataza gutxi, handiak komunikazioa: noizbehinka, datu asko
Arazoak
Arkitektura Paraleloak IF - EHU
K. Par. 25 2
Azelerazio-faktorea / Eraginkortasuna
af = Ts / Tp (onena: P-rekiko linealki haztea)
erag = af / P (onena: P-rekiko independentea)
Kasurik onena: Tp = Ts / P → af = P eta erag = 1
Helburua: 1 programa bera azkarrago exekutatzea. 2 programa handiagoak denbora berdinean
exekutatzea.
Eraginkortasuna
Arkitektura Paraleloak IF - EHU
K. Par. 26 2
Beraz, hau da benetako azelerazio-faktorea (Amdahl-en legea):
af = Ts / Tsp = Ts / [f Ts/P + (1-f) Ts] af = P / [f + (1-f) P] → 1 / (1-f) !
1 Oro har, zati bat paraleloan eta beste bat seriean:
Tsp = f Tp + (1-f) Ts
Amdahl
Arkitektura Paraleloak IF - EHU
K. Par. 27 2
1 Amdahl-en legea af = P / (f + (1-f) P) → 1 / (1-f)
Amdahl
Arkitektura Paraleloak IF - EHU
K. Par. 28 2
2 Maiz, paralelismoa ez da azkarrago exekutatzeko erabiltzen, baizik eta tamaina handiagoko atazak exekutatu ahal izateko.
af = Ts’ / Tp’
af = (1-f) + f P
f Ts P (1-f) Ts
tamaina handiagoa (xP) Ts’ = ((1-f) + f P) Ts
Gustafson
(1-f) Ts f Ts Ts
seriean
f Ts (1-f) Ts
P prozesadore
Tp’ = Ts paraleloan
Arkitektura Paraleloak IF - EHU
K. Par. 29 2
2 Gustafson-en legea af = (1-f) + f P
Gustafson
any questions?
Arkitektura Paraleloak
IF - EHU
K. Par. | Gustafson
2 Gustafson-en legea af = (1-f) + f P