You are on page 1of 46

SIMD

Sprene mree

Sprene mree
Slue za povezivanje
PE i PE
PE i memorijskih modula
Statike SM veze izmednju PE su fiksne i ne

mogu se menjati u toku izvrenja programa


Dinamike SM veze izmedju PE-ova nisu
striktno dodeljene, ve se mogu menjati u toku
rada postavljenjem aktivnih mrenih
komponenti (komutacioni elementi)
jednostepene
viestepene

Parametri SM
Dijametar SM maksimalno minimalno

rastojanje izmedju dva vora u mrei


proirljivost dali se vorovi mogu dodavati?
Redundantnost koloko puteva postoji izmedju
svakog para vorova
rutiranje koliko je komplikovano
propusnost koliko podataka u jedinici
vremena
latentnost koliko je vremena potrebno da se
podatak prenese od vora do vora

Statike SM
Jednodimenzionalne (linearne)
dvodimenzionalne
trodimenzionalne

dijametar 2

dijametar n-1
dijametar n/2

dijametar 1
dijametar 2logn
dijametar

O( n )

dijametar logn

Statike SM
Linearne
dijametar n-1

Ring
dijametar n/2

Zvezda (star)
dijametar 2

Reetka (mesh)
dijametar O( n )
Stablo
dijametar 2logn

potpuno povezana
dijametar 1

Hiperkub
dijametar logn

Statike mree

Linearno polje (1D polje)


0

...

N-2

N-1

Br. vorova = N
Dijametar =N-1

Rutiranje - samorutirajue
U procesu komunikacije svaki
vor zna kome da poalje
primljenu poruku

i j

(S)

(D)

vor i poredi svoj ID sa odredinim ID


if dest.ID >, poalji
if dest ID <, poalji

Statike mree

Ring
dobija se povezivanjem krajnjih
vorova u 1D polju
Br vorova = N, dijametar = n/2
15

14

2
3

13

12
11

5
10

Statike mree

Mesh - reetka (2D polja)


0

0
1

n-1

...
...
...

m-2

m-1

Br.vorova N = m x n
Dijameter = m-1+n-1
Stepeni vorova
nodes)

...

= 2 (na uglovima)
3 (boni)
4 (sredinji)

Rutiranje
Izvor poredi prvo broj vrste svog i odredinog vora
if Dest vrsta <, poalji
if Dest vrsta >, poalji

Zatim poredi redne brojeve kolona


if Dest kol >, poalji
if Dest kol <, poalji

Hiperkub

broj vorova stepen 2


Adrese vorova 0, 1, , 2k-1
vor i povezan direktno sa k vorova ije se adrese razlikuju samo
na jednoj bitskoj poziciji.
01

00

10

d =4

000

11

d=0

100

110
010

101
111

d=1

d=2

001

d = 3 011

Rutiranje u hiperkubu
Algoritam:
Ne ka je s(i) adresa izvora, d(i) adresa odredita i

(i)

adresa vora koji je na putu od s(i) do d(i)


Uporediti bitove adresa d(i) sa (i) s leva u desno
Identifikovati prvu bit poziciju na kojoj se ove dve
adrese razlikuju
Proslediti paket susedu n(i) tako da se adrese n(i) i (i)
razlikuju samo na uoenoj bitskoj poziciji.
Npr. s(i)=(1,0,1,0), d(i)=(0,1,0,1) ide preko vorova
(1,0,1,0) > (0,0,1,0) > (0,1,1,0) -> (0,1,0,0) -> (0,1,0,1)

Dinamike SM - jednostepene
Sastoji se od N ulaznih i

N izlaznih jedinica (N je
broj PE )

ulazne jedinice DMUX 1xD


izlazne jedinice MUX Mx1
1<=D,M<=N, za D=M=N
crossbar SM
recirkularne podaci mogu

da krue vie puta kroz


mreu da stignu od izvora
do odredita

broj kruenja zavisi od


povezanosti (to je vee D i N-1
M vea je povezanost)

N-1

Sprene funkcije
Dinamike SM se definiu skupom sprenih

funkcija

Sprena f-ja Sf preslikava adresu X jednog PE u adrseu

Sf(X) drugog PE sa kojim se ostvaruje povezivanje

kada se sperna f-ja primeni na adresu jedne komponente


sistema, dobija se adresa druge komponente koja moe
direktno primiti podatak
Da bi se preneo podatak od jednog PE do drugog PE mora
se izvriti programirana sekvenca jedne ili vie sprenih f-ja
Kod SIMD sistema svi aktivni PE-ovi moraju izvravati istu
sprenu f-ju u datom trenutku
Sprene f-je su deo SIMD programa

Primeri SM: reetka (ILLIAC IV)


Definisana sa 4 sprene f-je:
M+1(x)=(x+1)modN
M-1(x)=(x-1)modN
M+r(x)=(x+r)modN
r N
M-r(x)=(x-r)modN,
za N=64 dobija se ILLIAC IV SM

Primer: reetka za N=16


M+1(x)=(x+1)mod16

10

11

12

13

14

15

Primer: reetka za N=16 (nast.)


M-1(x)=(x-1)mod16

10

11

12

13

14

15

Primer: reetka za N=16 (nast.)


M+4(x)=(x+4)mod16,

10

11

12

13

14

15

Primer: reetka za N=16 (nast.)


M-4(x)=(x-4)mod16,

10

11

12

13

14

15

SM meanje zamena (shuffleexcange)


F-ja meanja odgovara savrenom meanju pila
karata

S (bm 1 , bm 2 , , b1 , b0 ) bm 2 , , b1 , b0 , bm 1

F-ja zamene

E (bm 1 , bm 2 , , b1 , b0 ) bm 1 , bm 2 , , b1 , b0

Meanje-zamena primer

Primer izraunavanje vrednosti polinima


n

P (n) ai x

i 0

Izraunavanje je mogue obaviti


procesorskim poljem sa N=n+1 PE
spregnutim SM meanje-zamena u 2logN
koraka:
dve faze:
1. svaki PE rauna aixi
2. svi PE vre sumiranje dobijenih rezultata i dobijaju

P(x)

posmatraju se sadraji 3 registra: registar koeficijenata, Ai,


registar promenljive x, registar maske, Mi

I faza (mnoenje)

for j:=1 to logN


for i:=0 to N-1 do inparallel
if Mi=1 then
Ai:=Ai*x
endif;
x:=x*x;
shuffle(Mi);
endfor;
endfor;
Mi je registar maske (Mi=1
znai da je PE aktivan)

II faza (sabiranje)

for j:=1 to logN


for i:=0 to N-1 do inparallel
Ti:=Ai;
shuffle(Ti);
Ai:=Ti;
exchange(Ti);
Ai:=Ai+Ti;
enfor;
endfor;

Ti je transportni registar
iji se sadraj razmenjuje
u komunikaciji

I faza - mnoenje
inicijalno

nakon I koraka

nakon II koraka

nakon III koraka

II faza - sabiranje

Kub mrea
Definisana sa m=log2N sprenih f-ja

Ci (bm 1 , , bi , .b1 , b0 ) bm 1 , , bi , .b1 , b0 ,


i 0,1, , m 1
0

C0

C1
C2

Viestepene SM

Sastoje se od komutacionih elemenata (KE) i komunikacionih kanala


KE ine stepene mree
Veze izmedju stepena su fiksne
KE se mogu dinamiki postavljati da bi se ostvarila veza izmedju
eljenog ulaza i izlaza
Viestepenu SM karakterie
izgled KE
nain povezivanja susednih stepena
nain upravljanja

p-1

Komutacioni element
U optem sluaju moe imati a ulaza i b izlaza
a, b teorijski ne moraju biti jednaki
najee je a=b=2k, k>=1
sa brojem ulaza i izlaza raste sloenost KE, pa je
najee a=b=2 (tipa 2x2)
KE tipa 2x2
dvofunkcijski
etvorofunkcijski
dvo funkcijski

u0
u1

i0
i1

u0
u1

direktno
u0
u1
gornja emisija

i0
i1
ukrteno

i0
i1

u0
u1

i0
i1
donja emisija

4-funk.

Izgled dvo-funkcijskog KE
S

U0
I0

U1

I1

S=0, direktno
S=1, ukrteno

Viestepene SM
Viestepena SM koja treba da povee N=2m PE-

ova sastoji se od log2N=m stepena i N/2 KE u


svakom stepenu.
U odnosu na strategiju upravljanja mogu se
razlikovati mree sa:
individualnim upravljanjem stepena (potrebno je m

linija za upravljanje)
individualno upravljanje KE (potrebno je N/2*m linija
za upravljanje)
nezavisno upravljanje na nivou grupe u jednom
stepenu

Viestepena kub mrea (generalizovani


kub)

Sastoji se od log2N=m stepena i N/2 KE


Svaki stepen realizuje jednu sprenu f-ju kub
mree
Stepen S0 sprenu f-ju C0
Stepen S1 sprenu f-ju C1
Stepen Sm-1 sprenu f-ju Cm-1

Stepeni su oznaeni od izlaza ka ulazu sa S 0,..., Sm-1

Generalizovani kub primer N=8


0

C2
0

C1
0

C0
0

7
S0

S2

konflikt

S1

Generalizovani kub - osobine


Moe povezati proizvoljni par PE
Jedinstveni put izmedju svakog para izvor-

odredite
Blokirajua mrea mogu nastupiti konflikti

Generalizovani kub odredjivanje puta


poruka

Jedan-na-jedan

pomou EX-OR zaglavlja


pomou odredine adrese

Jedan izvor u 2k odredita (emisija)


varijanta EX-OR
Odreddjivanje puta pomou EX-OR zaglavlja
poruci se dodaje zaglavlje duine m bitova (2 m PE-ova)
zaglavlje se dobija primenom EX-OR operacija na binarnim
adresama izvora i odredita
adresa izvora S=sm-1sm-2...s1s0
0, diredktno
ti
adresa odredita D=dm-1dm-2...d1d2
1, ukrsteno

zaglavlje T=SD=tm-1tm-2...t1t0
da bi se odredio poloaj KE (direktno ili ukrteno) u stepenu
i, potrebno je ispitati ti

Odredjivanje puta - primer


0

3
t1=1
4

5
t2=1
2

t0=0
4

S=2= 010, D=4= 100, T=010100=110=t2t1t0 (ukrteno, ukrteno, direktno)

Zato ovo funkcionie?


Odgovor se krije u strukturi SM i definiciji

sprenih funkcija:

Ako se S i D razlikuju na i-toj bit poziciji, s idi=ti =1,

neophodno je primeniti sprenu f-ju C i da bi se ostvarilo


povezivanje (preslikavanje) izvora S i odredita D
Postavljanje KE u stepenu i u poloaj ukrteno implementira
sprenu f-ju Ci

Ako se adrese S i D ne razlikuju u i-toj bit poziciji,

sidi=ti =0, f-ja Ci ne treba da se primeni

postavljanjem prekidaa u poloaj direktno f-ja C i se ne


implementira

Dobra osobina ovog naina odredjivanja puta


na osnovu poruke sa zaglavljem mogue je odrediti
odakle je poruka pristigla jer vai S=T D
korisno ako je potrebno potvrdjivanje prispelih poruka

Odredjivanje puta na osnovu adrese


odredita

Kao zaglavlje moe se koristiti adresa


odredita
0, gornji izlaz KE
di
1, donji izlaz KE

Primer:
S=2= 010, D=4= 100 donji izlaz, gornji izlaz, gornji izlaz

Osobine

mogue je na osnovu zaglavlja utvrditi da li poruka stie po


korektnom mrenom izlazu (poredjenjem adrese odredita i
zaglavlja poruke)
nije mogue odediti adresu izvora (problem ako je potrebno
potvrdjivanje)

Primer odredjivanje puta na osnovu odredine


adrese
0

3
4

5
d2=1
2 010
110

3
d1=0
4 100
6

110

d0=0
4
5

100

101

Zato ovo funkcionie: gornji izlaz u stepenu i na i-toj bit poziciji uvek ima vrednost 0, a
donji izlaz vrednost 1

Odredjivanje puta za sluaj


emisije
Koristi se proirena ema sa EX-Or zaglavljem

da bi emisija bila mogua broj odredita mora

biti stepen dvojke, 2j


odredine adrese se moraju razlikovati na j
pozicija, a poklapati na m-j pozicija
PRIMER

S adresa izvora, E i F adrese odredita


Individualna zaglavlja za destinacije E i F, TE=SE, TF=SF
S=101 (5), E=100 (4), F=110 (6), T E=001, TF=011
Zaglavlja se slau u svim bit pozicijama izuzev na mestu gde se
razlikuju odredine adrese
putevi kroz mreu su identini u stepenu 2, granaju se (dolazi do
emisije) u stepenu 1, i paralelni su na dalje (koriste isto postavljanje KE
u stepenu 0)
Da bi se odredilo zaglavlje za sluaj emisije potrebno je poznavati
informaciju o putu pre i posle grananja i take grananja
Zaglavlje za sluaj emisije odredjeno je skupom {R,B}
R=rm-1...r1r0 sadri informaciju o putua, B=bm-1...b1b0 informacije o
takama grananja

Odredjivanje puta za sluaj emisije


nast.
I TE i TF sadre informaciju o putu, pa se za R
moe odabrati bilo koji, npr. R= TE.
Da bi se odredilo B=bm-1...b1b0 potrebno je
nai B=TETF=E F
Za S=101 (5), E=100 (4), F=110 (6), {R=001, B=E

F=010}
Da bi se odredilo u koiji poloaj se postavlja KE u
stepenu i potrebno je ispitati ri i bi.
ako je bi=1, ri se ignorie i obavlja se emisija (grnja ili
donja)
bi=0, ri se koristi da se odredi poloaj KE

Emisija iz PE5 u PE4 i PE6


0

Emisija iz PE5 u PE2, PE3, PE6 PE7


1
1

R=S D2=101 010=111, B=D2 D7=010 111=101


kada se odredjuje B potrebno je potraiti odredinih adresa koje se razlikuju na
svim dozvoljenim pozicijama

Omega mrea
Sastoji se od log2N=m stepena i N/2 KE
Veze izmedju stepena su ostvarene po principu

savrenog meanja, a KE obavljaju f-ju zamene


kada su postavljeni u poloaj ukrteno

S (bm 1 , bm 2 , , b1 , b0 ) bm 2 , , b1 , b0 , bm 1

E (bm 1 , bm 2 , , b1 , b0 ) bm 1 , bm 2 , , b1 , b0
Put poruke se odredjuje na osnovu EX-OR

adrese izvora i odredita po istom principu kao


kod generalizovanog kuba

Omega mrea primer za N=8


T=S D=010 100=110 (ukrteno, ukrteno, direktno)
2 2 switch elements
(straight-through or
crossover connections)
000
001

0
1

0
1

0
1

010
011
Inputs

2
3

2
3

2
3

100

4
5

4
5

4
5

6
7

6
7

6
7

101
110
111

000
001
010
011
Outputs
100
101
110
111

Generalizovani kub sa ekstra


stepenom(ESC)

Ako nastupi greka na nekom kom. kanalu ili u


KE, vezu izmedju odredjenog para izvorodredite nije mogue uspostaviti (jer postoji
jedinstveni put)
Problem je mogue reti dodavanjem ekstra
stepena na ulaz mree (stepen Sm)
ekstra stepen obavlja sprenu f-ju C 0
potrebno je dodati i MUX i DMUX na ulaze ekstra

stepena (stepena m) i poslednjeg stepena (stepena 0)


sada postoje dva stepena koji obavljaju spr. f-ju C 0
dodavanjem ekstra stepena dobijaju se dva puta
izmedju svakog para izvor-odredite koji ne koriste iste
KE i kom. kanale u stepenima 1,2,...,m-1
mrea postaje otporna na jednostruke greke

ESC
0

ESC
Mrea je normalno konfigurisana da je stepen

m premoen, a stepen 0 aktivan


analiza greke

mrea se testira za poznate test oblike


ako se detektuje jednostruka greka preduzimaju se

sledee akcije

ako je greka u stepenu m, stepen 0 je aktivan


ako je greka u stepenu 0, stepen 0 je premoen a m
aktivan
ako je greka u stepenu i, 0<i<m, stepeni 0 i m su aktivni
kada su stepeni 0 i m aktivni u mrei postoje dva
disjunktna puta izmedju T
svakog
p 0t m izvora
1 ...t1t 0 i odredita (primarni
i sekundarni)
Ts 1t m 1...t1t0
Zaglavlje za primarni put
Zaglavlje za sekundarni put

ESC
0

zeleno primarni put, uto sekundarni put

You might also like