Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

Arhitekture paralelnih raunara c

Izborni seminar - paralelno programiranje

Institut za matematiku i informatiku


Institut za matematiku i informatiku Prirodno-matematiki fakultet, Kragujevac c

Novembar 2010. god.

O emu e biti rei? c c c

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

Deljeni ili switch-ovani medijum


Deljeni medijum (recimo mrea preko hub-a) dozvoljava z transfer samo jedne poruke istovremeno Switch-ovani medijum dozvoljava da se point-to-point komunikacije odigravaju konkurentno

Topologije switch-ovanih mrea z


Topologije Direktna topologija - odnos broja switch vorova prema broju procesora je c 1:1 Indirektna topologija - odnos broja switch vorova prema broju procesora c je > 1 : 1 Kriterijumi performansi mree z
1 2

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 binarnog stabla


Indirektna topologija Ukupno n = 2d procesora sa 2n 1 svieva c Relativno mali dijametar 2log2 n Medutim, bisekciona irina je vrlo niska, 1 s Prilino nezgodno za postavljanje u prostoru jer nije 3D 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

Shue exchange topologija


Ideja je perfektno izmeani pil karata s s Pozicija u izmeanom pilu se dobija rotacijom binarnog s s zapisa ulevo, npr. sa pozicije 5 (101) na poziciju 3 (011) Shue-exchange topologija je direktna topologija sa n = 2d procesora (0, . . . n 1) Exchange veze - linkuju procesore koji se razlikuju u jednom bitu Shue veze - linkuju procesore koji se dobijaju opisanom bitwise rotacijom

Shue exchange topologija


Konstantan broj ivica po voru - 2 c Duina najdue ivice raste sa veliinom mree z z c z Dijametar je 2log2 n 1, a bisekciona irina n/log2 n s
Najgori sluaj rutiranje 0 n 1 c 0000 0001 0010 0011 0110 0111 1110 1111
E S E S E S E

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

Arhitektura vektorskih raunara c


Zato vektorski procesori? s
1 2

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

Arhitektura vektorskih raunara c


Primeri
Primer (1) Ako sistem poseduje 1024 procesorske jedinice, a vektori A i B po 1024 elementa, sabiranje A + B moe se z obaviti u jednoj instrukciji.

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

Arhitektura vektorskih raunara c


Komunikaciona mrea z

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

Arhitektura vektorskih raunara c


Grananje

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

Arhitektura vektorskih raunara c


Nedostaci

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

Dele se na dve velike podgrupe: centralizovane multiprocesore i distribuirane multiprocesore

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 i deljeni podaci

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!

Problemi vezani za deljene podatke


1

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

Snooping protocol - write invalidate protocol

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

You might also like