Professional Documents
Culture Documents
Is Predavanja 2
Is Predavanja 2
Uvod
Od 60-ih do sredine 90-ih proslog veka ispitane su mnoge arhitekture paralelnih sistema Osnovna debata: najvie nekoliko desetina vrlo monih s c procesora ili hiljade obinih procesora c Debata je danas reena: sistemi napravljeni od specijalnih s procesora su retkost
Dijametar - najvea udaljenost izmedu 2 vora c c Bisekciona irina - minimalni broj stranica koje treba prekinuti da bi se s mrea podelila na 2 dela z Ivica po switch voru - poeljno konstanta nezavisna od veliine mree, c z c z zbog skaliranja Konstantna duina ivice - u 3D prostoru, zbog skaliranja nezavisna od z veliine mree c z
2D-Mesh mrea z
Direktna topologija Wraparound varijanta ima konstantan broj ivica po voru c Minimalni dijametar i maksimalna bisekciona irina postiu se s z topologijom kvadrata Tada su oba ova parametra jednaka ( n) za n vorova c
Topologija hiperstabla
Hiperstablo stepena k i dubine d se najlake moe objasniti s z ako se posmatra iz dva razliita ugla c Sa prednje strane izgleda kao drvo k-tog stepena dubine d Sa strane izgleda kao obrnuto binarno stablo dubine d 4-struko hiperstablo dubine d moe da udomi 4d procesora sa z ukupno 2d (2d+1 1) svieva c Dijametar je 2d, a bisekciona irina 2d+1 s Broj ivica po svi voru nikad nije vei od 6 cc c
Buttery topologija
Indirektna topologija n = 2d procesora je zakaeno sa n(log2 n + 1) svi vorova c cc Svi vorovi su podeljeni u log2 n + 1 vrsta, tzv. rankova cc (i, j) - j-ti vor i-tog ranka c Najdua ivica se poveava kako raste broj vorova z c c Pretpostavimo da su vorovi ranga 0 i ranga log2 n isti vorovi. c c Povezanost vorova c Cvor (i,j) povezan je sa 2 vora ranga i 1, i to (i 1, j) i c (i 1, m), gde je m dobijeno inverzijom i-tog bita po vanosti u z binarnoj reprezentaciji j. Na primer, (2,3) je povezan sa (1,3) i (1,1).
Buttery topologija
Algoritam:
1 2
Svaki svi vor uzima vodei bit iz poruke cc c Ako je taj bit 0, ide dole na levi link, a ako je 1 ide na desni link Primer, procesor 2 alje poruku procesoru 5 kao 101poruka s
Hiperkocka
Hiperkocka je buttery topologija u kojoj je svaka kolona svi c vorova kolabirana u jedan vor c c Binarna n-kocka sastoji se od n = 2d procesora i isto toliko svieva (direktna topologija) c Oni su numerisani kao 0, 1, 2d 1. Susedni su ako im se binarna reprezentacija razlikuje za tano c 1 bit Dijametar je log2 n, a bisekciona irina n/2 s Ovo je vrlo dobro, ali na raun broja ivica po voru (log2 n) c c
Hiperkocka
Na primer vor 0101 sa 1101, 0001, 0111 i 0100. c Broj bitova u kojima se vorovi razlikuju odreduje njihovo c rastojanje Primer put rastojanja 2: 0101 0001 0011, a moe i z 0101 0111 0011
Zakljuak c
1 2 3 4
Sve arhitekture imaju logaritamske dijametre osim 2D Mesh Hiperstablo, buttery i hiperkocka imaju bisekcionu irinu n/2 s Sve imaju konstantan broj ivica po voru osim hiperkocke c Samo 2D Mesh odrava duine ivica konstantnim kako se z z veliina mree poveava c z c
Vektorski procesori
Denicija Vektorski raunar je raunar koji pored operacija sa skalarima, c c implementira i vektorske operacije. U optem sluaju, dva su naina za njegovu implementaciju: s c c
1
Pipelined vektorski procesor - poseduju pipeline aritmetiku c jedinicu. Rane arhitekture... Procesorski niz - identini sinhronizovani procesorski elementi c koji jednu istu operaciju izvode nad razliitim podacima c
Istorijski, visoka cena CPU kontrolne jedinice Naune aplikacije imaju inherentni paralelizm podataka c Procesorski niz se sastoji iz vie parova procesor-memorija s Postoji front-end procesor i back-end procesori
Primer (2) Ako sistem poseduje 1024 procesorske jedinice, vektor od 10000 lanova moe da se sauva tako to 784 procesora c z c s dobije po 10 elemenata, a 240 procesora po 9 elemenata.
Primer (3) Niz sadri 1024 procesora, a svaki od njih moe da sabere 2 broja u 1s. Za sabiranje dva vektora od 1024 lana: z z c 1024ops 1s
9
Performance =
= 1024 10 ops/s
Primer (4) Niz sadri 512 procesora, a svaki od njih moe da sabere 2 broja u 1s. Za sabiranje 2 vektora od 600 lanova: z z c 600ops 2s
8
Performance =
= 3 10 ops/s
Tipina vektorska operacija je mnogo komplikovanija od 1-1 c sabiranja. Recimo kod metode konanih razlika: c ai (ai1 + ai+1 )/2, dakle postoje interprocesorske komunikacije Za ovu arhitekturu, komunikacione linije moraju da podravaju konkurentni transfer poruka (2D Mesh) z
Primer Vektor A ima 10 elemenata koji su distribuirani na 10 procesora. Ako je element vektora razliit od nule, menja se u 1, a ako je c jednak 0, menja se u -1. Zahteva se ukljuivanje/iskljuivanje pojedinih procesora u c c pojedinim granama, to dovodi do pada performansi. s
1 2 3 4 5
Nemaju svi problemi paralelnost podataka Grananja usporavaju kd o Ne adaptiraju se dobro na sisteme sa vie korisnika s Baziraju se na custom VLSI procesorima Cena kontrolnih jedinica ja dosta pala
Multiprocesori
Sistem sa vie CPU-ova i deljenom memorijom s Ista adresa na vie CPU-ova referie na isti podatak s s Izbegavaju se 3 problema proc. nizova:
1 2 3
Moe se izgraditi od obinih CPU-ova z c Prirodno podrava vie korisnika z s Ekasnost dobra i sa kondicionim kdom o
Centralizovani multiprocesor
Jasna ekstenzija uniprocesora CPU-ovi se dodaju na magistralu Svi dele zajedniki RAM c Performanse pristupa memoriji su iste za sve CPU-ove (UMA - Uniform Memory Access) SMP - Symmetrical MultiProcessor
Privatni podaci: objekti koji se koriste samo od strane jednog procesora Deljeni podaci: objekti koji koristi vie procesora s U multiprocesoru, procesi komuniciraju koristei deljene c podatke!
Ke koherencija s
Replikacija podataka u viestrukim ke memorijama redukuje s s performanse Kako se osigurati da svi razliiti procesori imaju isti podatak c na istoj memorijskoj adresi?
Sinhronizacija
Mutual exclusion - mutex Barijera
Distribuirani multiprocesor
Karakteristike Propusna mo magistrale ograniava SMP na par desetina c c procesora Alternativa je distribuirati primarnu memoriju po procesorima, ali da svi imaju zajedniki adresni prostor c NUMA - Non-uniform memory access