Professional Documents
Culture Documents
1 Paralelni - 1nnp
1 Paralelni - 1nnp
Nain ocenjivanja
Lab. Vebe 20
Lab. Vebe 20
I kolokvijum 40
II kolokvijum 40
Usmeni deo 40
_________________
Ukupno 100
______________
Ukupno 100
Nauka
Tehnika
Simulacije sudara
Poluprovodnika tehnologija
Simulacija zemljotresa
Dinamika fluida
Ekonomija
Odbrana
ta je paralelni raunar
Definicija: Paralelni raunar predstavlja skup
Podela PRS
U odnosu na nain upravljanja:
Programski upravljane (control driven Von Neumann)
Redosled izvrenja instrukcija odredjen je sadrajem programskog
brojaa.
Paralelne arhitekture se dobijaju povezivanjem dve ili vie
jednoprocesoeskih maina
Svaka procesorska jedinica sledi tradicionalnu sekvencu mainskih
ciklusa: pribavljanje instrukcije-izvrenje-smetanje rezultata
izraunavanju
Reduction maine koriste prilaz s-vrha na-nie
Primer
a=(b+1)*c-d/e
a
--
Reduction
Data flow
*
+
b
/
1
MISD raunari
N procesora, svaki sa sopstvenom upravljakom jedinicom koji dele
pristup zajednikoj memoriji.
MISD raunari
Postoji N tokova instrukcija i jedan tok (niz) podataka.
do Z-1.
Pretpostavimo da je broj procesora N=Z-2. Svi procesori dobijaju Z
kao ulazni podatak i svaki zatim pokuava da broj podeli
pridruenim deliocem. Na taj nain mogue je u jednom koraku
utvrditi da li je broj prost ili ne.
Za veinu aplikacija MISD nain rada nije pogodan, tako da
SIMD
Postoji N procesora ijim radom upravlja jedinstvena upravljaka
jedinica (control) .Ovo je isto kao da svaki procesor sadri identinu
kopiju programa. Postoji N tokova podataka, po jedan za svaki
procesor, to znai da se razliiti podaci mogu koristiti u svakom
procesoru.
SIMD (nast.)
Procesori u sistemu rade sinhrono: svi izvravaju istu instrukciju nad
razliitim podatkom.
Procesorska polja kao npr. ICL DAP (Distributed Array Processor) spadaju
u ovu kategoriju.
SIMD maine su naroito pogodne za probleme koji imaju regularnu
strukturu, tj. ista instrukcija se moe primeniti na podskup podataka.
Primer: Sabiranje dve matrice A + B = C.
Pretpostavimo da imamo dve matrice A i B reda 2 i 4 procesora
A11 + B11 = C11 ... A12 + B12 = C12
A21 + B21 = C21 ... A22 + B22 = C22
Ista instrukcija se izdaje svim procesorima (sabiranje dva broja) i svi
procesori je izvravaju jednovremeno.
Izraunavanje se obavlja u jednom koraku naspram 4 koraka na
sekvencijalnoj maini.
SIMD (nast.)
Ponekad moe biti potrebno da samo podskup procesora
izvrava datu instrukciju (tj. samo neki podaci trebaju biti
obradjeni datom instrukcijom)
Ova informacija moe biti kodirana samom instrukcijom
ukazujui da li je
1. procesor aktivan ( izvrava instrukciju)
2. procesor pasivan ( eka na sledeu instrukciju)
U toku izvrenja programa na SIMD (i MIMD) javlja se potreba
za komunikacijom izmedju procesora da bi se razmenili
podaci ili rezultati.
Komunikacija se moe ostvariti korienjem deljive memorije i
deljivih promenljivih ili slanjem poruka kroz sprenu mreu.
Primeri SIMD:Illiac IV, MPP, DAP, CM-2, MasPar MP-2
SISD
A+B
+
*
A B MISD
+
A B SIMD
C D
A+B
C+D
+
*
A B MIMD
C D
+
A B
A+B
A*B
A+B
C*D
Interprocesorska komunikacija
Zajednika (deljiva) memorija
Deljiva memorija se sastoji od globalnog adresnog prostora.
Svi procesori mogu da itaju i vre upis u ovaj globalni
adresni prostor.
Memorija ne mora bizi jedinstvena (moe postojati vie
memorijskih banaka)
Procesori komuniciraju preko read i write operacija
Sistemi sa razmenom poruka
Svaki procesor ima odvojeni (sopstveni) adresni prostor.
Procesor ne moe pristupati adresnom prostoru drugog
procesora.
Procesi komunicraju razmenjujui poruke
i write operacija.
Zajednika memorija moe biti centralizovana
P
P
Sprena mrea
Sprena mrea
M
UMA
NUMA
(read/write operacije).
Svka komunikacija i sinhronizacija se obavlja slanjem poruka poreko
send/receive operacija.
Sprena mrea
Kljune osobine:
Slanje poruke podrazumeva niz aktivnosti :
Primer:
Pretpostavimo da se u deljivoj memoriji nalazi promenljiva x
ija je inicijalna vrednost 0.
Procesor P1 dodaje 1 promenljivoj x
Procesor P2 dodaje 2 promenljivoj x.
Koja je krajnja vrednost za x?
Deljiva memorija
X=0
Procesor 1
X=X+1
Ovo je primer
nedeterminisanosti u
izvrenju
Procesor 2
X=X+2
Nedeterminisanost
Nedeterminisanost je uzrokovana trkom.
Do trke dolazi kada dve naredbe u konkurentnim taskovima
(zadacima) pristupaju istoj memorijskoj lokaciji, pri emu je
bar jedna od naredbi upis u memoriju i pri tome nema
nikakvih garancija o redosledu pristupa memoriji.
Processor 2:
LOCK (X)
X=X+2
UNLOCK (X)
do problema.
sa najviim prioritetom..
Svim procesorima je dozvoljeno da izvre upis pod uslovom
da su sve vrednosti jednake.
Upisuje se max, min, sum, ili srednja vrednost podataka (ako
su u pitanju numeriki podaci)
Primer
Da bi pokazali kako se 4 podklase SM maina
ponaaju, razmotrimo sledei primer.
Problem:
Zadata je lista od m elemenata S = {L1, L2, ,Lm}.
Potrebno je nai indeks (redni broj) zadatog elementa x.
Element x se moe pojaviti vie puta u S i bilo koja
vrednost rednog broja je prihvatljiva. Na raspolaganju je
N procesora, 1< Nm.
Algoritam
procedure SM_search (S, x, k)
STEP 1: for i=1 to N do in parallel
read x
end for
STEP 2: for i=1 to N do in parallel
Si = {L((i-1)m/N+1), ...,L(im/N)}
obaviti sekvencijalno pretraivanje u podlisti Si
ERCW
ERCW
Step 1 traje O(N) vremena.
Step 2 traje O(m/N) vremena.
Step 3 konstantno vreme.
Ukupno: O(N)+O(m/N).
CREW
CREW
Step 1 konstantno vreme.
Step 2 traje O(m/N) vremena.
Step 3 traje O(N) vremena
Ukupno: O(N)+O(m/N).
CRCW
CRCW
Step 1 konstantno vreme.
Step 2 traje O(m/N) vremena.
Step 3 konstantno vreme.
Ukupno: O(m/N).
Ubrzanje sistema
Kod arhitektura kod kojih je uveden bilo koji vid
S(n)= T(1)
T(n)
Ubrzanje (nast.)
T (1) Ts T p
T (n ) Ts
Tp
n
To (n )
Tp
n
T (1)
(1 )T (1)
n
T (1)
n
T ( n ) 1 ( n 1)
1
lim n S ( n )
S (n)
n
limm S (n) limm
n
1 (n 1) (m)
Y Ax,
A (aij ) mm
x ( x j ) m1
hiperkub za n=8
yi
a x ,
ij
i 1,...,k
j 1
predaju vektora x
debalans u optereenju, ako m/n nije ceo broj
predaja komponenti vektora y jednom (prvom) procesoru
Trajanje koraka
2.
3.
1.
Ts T (1),
Ts
T (1)
T (1) O ( m 2 )
Ts O ( m log 2 n ) O ( m )
Ts
O ( m log 2 n ) O ( m )
1 log 2 n
T (1)
m
O(m 2 )
lim m ( m ) 0
ta je realnost
Ubrzanje
S(n)
n0
n
Broj procesora
Efikasnost
Definie se kao odnos ubrzanja i broja procesora
E(n)=S(n)/n,
0E1
Daje ocenu o srednjoj iskorienosti procesora u sistemu kada
su svi procesori angaovani na reavanju istog problema
ako se zanemare U/I aktivnosti, efikasnost jednoprocesorskig
sistema je 1 (100%)
Efikasnost i ubrzanje
E(n)
S(n)
100%
100%
n0
S(n)
E(n)
1
n0
A ai
i 1
1.
2.
3.
4.
5.
P=1
P=2
P=3
P=4
P=8 procesora
A=a1+a2+...+a16
T
15
T=15
B1=a1+a2+...+a8
2. korak
A=B1+B2
P2
B2=a9+a10+...+a16
T
7
T=8
P2
1. korak
B1=a1+...+a5
B2=a6+...+a10
2. korak
C1=B1+B2
C2=B3+a16
3. korak
A=C1+C2
P3
B3=a11+...+a15
1
1
T=6
P2
1. korak
B1=a1+...+a4
B2=a5+...+a8
2. korak
C1=B1+B2
C2=B3+B4
3. korak
A=C1+C2
P3
P4
B3=a9+...+a12
B4=a13+...+a16
1
1
T=5
1.
2.
3.
4.
korak
korak
korak
korak
P2
...
P8
B8=a15+a16
B1=a1+a2
B2=a3+a4
...
C1=B1+B2
C2=B3+B4
...
D1=C1+C2
D2=C3+C4
A=D1+D2
1
1
...
T=4
Hajdnov efekat
Poreenje performansi
P
Sp
Ep
SpEp
1.875
0.94
1.76
2.5
0.83
2.075
0.75
2.25
3.75
0.47
1.76