106
. . . . . . Višeprocesorski i paralelni sustavi Izv. prof. dr. sc. Zoran Kalafatić Doc. dr. sc. Tomislav Hrkać [email protected], [email protected] ZEMRIS, 2013/14 VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 1 / 81

Višeprocesorski i paralelni sustavi

  • Upload
    vandieu

  • View
    257

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Višeprocesorski i paralelni sustavi

. . . . . .

Višeprocesorski i paralelni sustavi

Izv. prof. dr. sc. Zoran KalafatićDoc. dr. sc. Tomislav Hrkać

[email protected], [email protected]

ZEMRIS, 2013/14

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 1 / 81

Page 2: Višeprocesorski i paralelni sustavi

. . . . . .

Višeprocesorski i paralelni sustaviSadržaj predmeta

Klasifikacija arhitektura paralelnih računalnih sustava

Razine paralelizma

Paralelizam na razini instrukcije

Vektorska računala

Višeprocesorski sustavi

Dijeljena memorija i koherencija podataka

Prospojne mreže

Arhitektura grafičkih procesora

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 2 / 81

Page 3: Višeprocesorski i paralelni sustavi

. . . . . .

Literatura...1 D. E. Culler, J. Pal Singh, A. Gupta,

Parallel Computer Architecture, A Hardware/Software Approach,Morgan Kaufmann Publishers, Inc. San Francisco, 1999.

...2 J.L. Hennessy, D.A.Patterson,Computer Architecture - A Quantitative Approach. 3. ed.,Morgan Kaufman Publishers, Inc., 2003.

...3 S. Ribarić, Građa računala, Arhitektura i organizacija računarskihsustava, Algebra, Zagreb, 2011.

...4 Michel Dubois, Murali Annavaram, Per Stenström, ParallelComputer Organization and Design, Morgan Kaufmann, 2012.

...5 Kayvon Fatahalian, CMU, Parallel Computer Architecture andProgramming (link)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 3 / 81

Page 4: Višeprocesorski i paralelni sustavi

. . . . . .

Paralelni sustavUobičajena definicija paralelnog računala:

skup procesnih elemenata koji surađuju kako bi brzo riješiliračunski vrlo zahtjevne probleme

Neka tipična pitanja arhitekture paralelnih sustava:

dodjela resursaI broj procesnih elemenata (PE)I procesna moć pojedinog PEI veličina memorije

pristup podacima, komunikacija, sinkronizacijaI način suradnje PE i njihova komunikacijaI prijenos podataka među PEI apstrakcija i primitivi kooperacije

performansa, skalabilnostI utjecaj na performansuI ponašanje pri skaliranju sustava

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 4 / 81

Page 5: Višeprocesorski i paralelni sustavi

. . . . . .

Arhitektura paralelnih sustavaUloga ”arhitekta” računalnih sustava (computer architect)

oblikovati i podesiti različite razine računalnog sustava u ciljupoboljšanja performanse i programabilnosti u okviru ograničenjaraspoložive tehnologije i cijene

Uvođenje paralelizma:

nudi alternativu povećanju performanse ubrzanjem radnog takta

logično je performansu sustava povećati raspodjelom posla naviše procesnih jedinica

ideja prisutna od početaka računarstva

korištena u računalima posebne namjene – super-računala

napredak tehnologije – dovođenje visoke performanse ”na stol”

kuda dalje ?

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 5 / 81

Page 6: Višeprocesorski i paralelni sustavi

. . . . . .

UbrzanjeGlavna motivacija za korištenje paralelnih sustava: ubrzanje aplikacija(speedup)

Ubrzanje(p procesora) = Performansa(p procesora)Performansa(1 procesor)

Za konkretan računski problemPerformansa = 1/Vrijeme

Ubrzanje(p procesora) = Vrijeme(1 procesor)Vrijeme(p procesora)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 6 / 81

Page 7: Višeprocesorski i paralelni sustavi

. . . . . .

Zašto se baviti paralelnim arhitekturama?

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 7 / 81

Page 8: Višeprocesorski i paralelni sustavi

. . . . . .

Zašto paralelna obradaDo prije 10-tak godina

za posebno zahtjevne aplikacije za koje performansamikroprocesora nisu bile dovoljne

napredak u performansi mikroprocesora iz generacije u generaciju(Mooreov zakon, udvostručenje svakih 18 mjeseci)

nije se isplatilo paralelizirati kôd, jer se ubrzanje ostvarivalo i beznapora programera

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 8 / 81

Page 9: Višeprocesorski i paralelni sustavi

. . . . . .

Performansa jednoprocesorskih sustavaDo prije 10-tak godina stalni napredak...1 povećanje frekvencije takta...2 iskorištavanje paralelizma na razini instrukcija

I međusobno neovisne instrukcije mogu se izvršavati simultano (uzodgovarajuće sklopovlje)

I ta se nezavisnost instrukcija može ustanoviti tijekom prevođenjaprograma (VLIW)

I ispitivanje i iskorištavanje nezavisnosti instrukcija može se obaviti itijekom izvođenje (superskalarno izvođenje)

I stalan napredak tehnologije omogućuje sve više resursa(tranzistora), koji omogućuju sve sofisticiranija rješenja upravljačke iizvršnih jedinica, povećanje priručne memorije i sl.

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 9 / 81

Page 10: Višeprocesorski i paralelni sustavi

. . . . . .

Primjene paralelnog računarstvaprimjena računarstva u znanostima (scientific computing)

I simulacija fizikalnih, kemijskih i bioloških fenomena koje je teško iliskupo promatrati empirijski

I izuzetno zahtjevni proračuni – najveći zahtjevi za performansomI modeliranje klimatoloških promjena, evolucije galaksija, strukturematerijala, analiza strukture DNA, . . .

inženjerske primjene (engineering computing)I modeliranje naftnih bušotinaI simulacija sudara, analiza efikasnosti motora, analizaelektromagnetskih utjecaja

I analiza lijekova, molekularna analizaI vizualizacija, filmska industrija,. . .

poslovne primjene (comercial computing)I propusnost – broj transakcija u minuti

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 10 / 81

Page 11: Višeprocesorski i paralelni sustavi

. . . . . .

Zahtjevne aplikacije

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 11 / 81

Page 12: Višeprocesorski i paralelni sustavi

. . . . . .

Veliki računski centri i superračunala

BlueGene/L (No.1 2008/2009)Lawrence Livermore National Laboratory

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 12 / 81

Page 13: Višeprocesorski i paralelni sustavi

. . . . . .

Kraj povećanja jednoprocesorske performanseograničena mogućnost iskorištenja paralelizma na razini instrukcije

resursi rastu, ali teško je naći dovoljan broj nezavisnih instrukcijakoje bi ga iskoristileistovremeno izvođenje više od 5 instrukcija (u jednominstrukcijskom slijedu!) je vrlo rijetko moguće, pa se daljnjaubrzanja ne mogu postići na ILP razini

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 13 / 81

Page 14: Višeprocesorski i paralelni sustavi

. . . . . .

Kraj povećanja jednoprocesorske performansenemogućnost daljnjeg povećanja frekvencije (”power wall”)

dinamička snaga po tranzistoru ∝ f × U2

snaga → toplinasnaga je postala najznačajniji faktor u oblikovanju modernihračunala

Intel Core i7 (desktop CPU): 95WNVIDIA GTX 780 GPU: 250WProcesor u mobitelu: 1-2WSuperračunalo: MW

Mikrovalna pećnica: 700W

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 14 / 81

Page 15: Višeprocesorski i paralelni sustavi

. . . . . .

Kraj povećanja jednoprocesorske performanse

daljnje povećanje performanse kroz višejezgrenost→ nema više ”izvlačenja” za programere

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 15 / 81

Page 16: Višeprocesorski i paralelni sustavi

. . . . . .

Zašto paralelne arhitekture?Odgovor danas:

nema nam druge :-)

to je sada jedini način za postizanje ubrzanja aplikacija!

moramo naučiti kako graditi aplikacije koje će iskoristiti mogućnostivišeprocesorskih arhitektura koje su danas sveprisutne

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 16 / 81

Page 17: Višeprocesorski i paralelni sustavi

. . . . . .

Procesori za stolna i prijenosna računalaIntel Haswell (2013) – quad core CPU + multi-core GPU na čipu

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 17 / 81

Page 18: Višeprocesorski i paralelni sustavi

. . . . . .

Grafičke kartice i GPGPUNVIDIA Kepler GTX 780 GPU (2013)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 18 / 81

Page 19: Višeprocesorski i paralelni sustavi

. . . . . .

Mobilni uređajiEnergetska učinkovitost određuje arhitekturu mobilnih uređaja

Apple A7 (iPhone 5s, iPad)Dual-core CPU + GPU + image

processor

NVIDIA Tegra 4Quad core CPU + GPU +

image processor

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 19 / 81

Page 20: Višeprocesorski i paralelni sustavi

. . . . . .

SuperračunalaPrvi na listi Top500.org (11/2013): Tianhe-2 (MilkyWay-2)National Super Computer Center in Guangzhou, China

Cores 3,120,000Linpack 33,862.7 TFlop/sPower 17,808.00 kWMemory 1,024,000 GBInterconnect TH Express-2OS Kylin Linux

16.000 čvorova, svaki se sastoji od 2 procesora Intel Xeon (IvyBridge) i 3 koprocesora Xeon Phiukupno 3.120.000 jezgrisvaki čvor ima 88 GiB memorije (64 GiB za Xeone i 8 GiB za svakiXeon Phi) → ukupno 1.34 PiB

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 20 / 81

Page 21: Višeprocesorski i paralelni sustavi

. . . . . .

Zelena superračunalaPrvi na listi Green500.org (11/2013): TSUBAME-KFCGSIC Center, Tokyo Institute of Technology

4,5 GFLOPS/W

ukupno 27,78 kW

svaki čvor sadrži 2 procesora Intel Ivy Bridge i 4 grafičkaprocesora NVIDIA Kepler GPUs

za usporedbu, Tianhe-2 postiže učinkovitost od 1.9 GFLOPS/W

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 21 / 81

Page 22: Višeprocesorski i paralelni sustavi

. . . . . .

Paralelizam na razini instrukcije

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 22 / 81

Page 23: Višeprocesorski i paralelni sustavi

. . . . . .

Protočno izvođenje instrukcijarazlaganje izvođenja instrukcije na faze koje se mogu obavljatiistovremeno (za različite instrukcije)

problemi s hazardima u protočnoj strukturi (”protočni mjehurići”) –strukturni (resursni), upravljački (uvjetno grananje), podatkovni

napredni prevodioci – preslagivanje instrukcija

sofisticirane tehnike predviđanja grananja

spekulativno izvršavanje

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 23 / 81

Page 24: Višeprocesorski i paralelni sustavi

. . . . . .

Protočna arhitektura

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 24 / 81

Page 25: Višeprocesorski i paralelni sustavi

. . . . . .

Protočna arhitektura

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 25 / 81

Page 26: Višeprocesorski i paralelni sustavi

. . . . . .

Superskalarno izvršavanje instrukcijaprocesor sadrži veći broj funkcijskih jedinica na čipu (integer, FP,upravljanje memorijom, upravljanje grananjima)

procesor pribavlja veći broj različitih instrukcija koje seistovremeno izvršavaju na različitim funkcijskim jedinicama kadgod je to moguće (dinamičko raspoređivanje!)

opskrba procesora instrukcijama i podacima mora biti dovoljnobrza kako bi se procesni resursi učinkovito koristili

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 26 / 81

Page 27: Višeprocesorski i paralelni sustavi

. . . . . .

Izvršavanje instrukcija van programskog slijedainstrukcija se pribavlja i pohranjuje u red (instruction buffer)

instrukcija čeka trenutak kada su raspoloživi njeni operandi, i tadase prosljeđuje odgovarajućoj funkcijskoj jedinici

rezultati se pohranjuju u red i čekaju svoj red za zapisivanje

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 27 / 81

Page 28: Višeprocesorski i paralelni sustavi

. . . . . .

Raspoređivanje instrukcija prilikom prevođenjavrlo duga instrukcijska riječ (VLIW, very long instruction word)

superskalarno izvođenje, kao i izvođenje van programskog slijedazahtijeva vrlo složenu sklopovsku podršku za dinamičkoodređivanje koje se instrukcije mogu istovremeno izvoditi

slijed izvođenja instrukcija, te moguće istovremeno izvođenjeodređuje se prilikom prevođenja

sklopovlje može biti jednostavnije, složenost preuzima prevodilac

u VLIW pristupu instrukcija kodira veći broj operacija koje se mogusimultano izvršavati u većem broju funkcijskih jedinica

Explicitly Parallel Instruction Computing (EPIC) – Intel Itanium

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 28 / 81

Page 29: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer raspoređivanja resursa

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 29 / 81

Page 30: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer paralelnog računanjaDiskretna Fourierova transformacija (DFT)

X(k) = 1

N

N−1∑n=0

x(n)e−j2Πnk/N

Brza Fourierova transformacija (FFT)I koristi se restrukturiranje slijeda operacija

I prikaz operacija leptirastim dijagramom (butterfly structure)I graf protoka podataka (data flow graph)I dvije operacije:⊕

: Im⊕

In = Im + In, 1 vremenska jedinica⊗: Im

⊗In = (Im − In)e−j 2Πk

8 , 5 vrem. jedinica

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 30 / 81

Page 31: Višeprocesorski i paralelni sustavi

. . . . . .

Graf protoka podatakas(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 31 / 81

Page 32: Višeprocesorski i paralelni sustavi

. . . . . .

Proizvoljan broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

sekvencijalno (jednoprocesorsko) računanje:

T1 = 12 ∗ 5 + 12 ∗ 1 = 72

maksimalno paralelno računanje (proizvoljan broj procesora):

T∞ = 3 ∗ 5 = 15 −→ S∞ =T1

T∞=

72

15= 4.8

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 32 / 81

Page 33: Višeprocesorski i paralelni sustavi

. . . . . .

Proizvoljan broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

sekvencijalno (jednoprocesorsko) računanje:

T1 = 12 ∗ 5 + 12 ∗ 1 = 72

maksimalno paralelno računanje (proizvoljan broj procesora):

T∞ = 3 ∗ 5 = 15 −→ S∞ =T1

T∞=

72

15= 4.8

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 32 / 81

Page 34: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 35: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 36: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 37: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 38: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 39: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 40: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 41: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 42: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 43: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 44: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 45: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 46: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 47: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 48: Višeprocesorski i paralelni sustavi

. . . . . .

Manji broj procesoras(0)

s(1)

s(2)

s(3)

s(4)

s(5)

s(6)

s(7)

S(0)

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

S(7)

A

C

D

E

F

G

H P

O

N

M

L

K

I Q

R

S

T

U

V

W

X

B J

-0 5 10 15 20 25

P1

P2

P3

A

B

C

D

E F

G

H

I

J

K

L

M

N

O

P

Q R

S

T

U

V

W

X

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 33 / 81

Page 49: Višeprocesorski i paralelni sustavi

. . . . . .

Iskoristivost procesoraza primjer s 3 procesora

I trajanje obrade Tp = T3 = 25

I ubrzanje Sp = T1

Tp= 72

25 = 2.88 < S∞ = 4.8

I iskoristivost procesora = omjer ubrzanja i broja procesora

Ep =Spp =

2.88

3= 0.96

za 24 procesora

Ep =S∞p =

4.8

24= 0.2

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 34 / 81

Page 50: Višeprocesorski i paralelni sustavi

. . . . . .

Iskoristivost procesoraza primjer s 3 procesora

I trajanje obrade Tp = T3 = 25

I ubrzanje Sp = T1

Tp= 72

25 = 2.88 < S∞ = 4.8

I iskoristivost procesora = omjer ubrzanja i broja procesora

Ep =Spp =

2.88

3= 0.96

za 24 procesora

Ep =S∞p =

4.8

24= 0.2

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 34 / 81

Page 51: Višeprocesorski i paralelni sustavi

. . . . . .

Aktivnost procesoraaktivnost procesora može se prikazati grafički

za primjer s proizvoljnim brojem procesora

4

8

3 5 7 10 11 15t

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 35 / 81

Page 52: Višeprocesorski i paralelni sustavi

. . . . . .

Optimiranje broja procesorakoliko je procesora dovoljno za postizanje maksimalno mogućegubrzanja (S∞ – svojstvo algoritma) ?

za naš primjer FFT i 8 procesora: E8 =4.88 = 0.6 > E24

0 5 10 15

A I Q

B L

J R

X

T

C K S

D N V

E M U

F P

G O W

H

P1

P2

P3

P4

P6

P7

P8

P5

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 36 / 81

Page 53: Višeprocesorski i paralelni sustavi

. . . . . .

Optimiranje broja procesoraza zadani algoritam (graf protoka podataka) treba odrediti takavbroj procesora da ubrzanje bude S∞, a pritom Ep → 1

bilo bi dobro postići p = ⌈S∞⌉ = ⌈4.8⌉ = 5

F J P X

M L W

G I K U

O S T

H Q R V

A

B

C

D

E

P1

P2

P3

P4

P5 N

0 5 10 15 17

S5 =7217 = 4.235 < S∞

E5 =4.2355 = 0.847

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 37 / 81

Page 54: Višeprocesorski i paralelni sustavi

. . . . . .

Optimiranje broja procesoramože li bolje ?

raspoređivanje zadataka je NP-težak problem

za naš jednostavan primjer moguće je postići

A

H P X

F O W

V

B K U

C E G M I Q R S TJ

P1

P2

P3

P4

P5

0 5 10 15

D

N

L

S5 =7215 = 4.8 = S∞

E5 =4.85 = 0.96

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 38 / 81

Page 55: Višeprocesorski i paralelni sustavi

. . . . . .

Amdahlov zakon

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 39 / 81

Page 56: Višeprocesorski i paralelni sustavi

. . . . . .

Amdahlov zakonGene Amdahl, 1967

zakon govori o mogućnosti ubrzanja sustava koji se sastoji od višekomponenti od kojih se samo neke ubrzavaju

p dio posla koji se može ubrzati N puta

s dio posla koji se ne može ubrzati

T1 = p + s

T2 = p/N + s

speedup =T1

T2=

p + sp/N + s

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 40 / 81

Page 57: Višeprocesorski i paralelni sustavi

. . . . . .

Amdahlov zakonu kontekstu paralelnih sustava N je broj procesora koji nam je naraspolaganju

zakon govori o ograničenju ubrzanja aplikacija koje nisu savršenoparalelne

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 41 / 81

Page 58: Višeprocesorski i paralelni sustavi

. . . . . .

Amdahlov zakonako postavimo T1 = 1 = p + s, onda je s vremenski udio instrukcijaprograma koje se ne mogu paralelizirati a p je udio instrukcija kojese mogu paralelno izvoditi

speedup =1

s + p/Nmaksimalno moguće ubrzanje, uz N = ∞ je 1/sspeedup ≤ 1/s

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 42 / 81

Page 59: Višeprocesorski i paralelni sustavi

. . . . . .

Amdahlov zakon

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 43 / 81

Page 60: Višeprocesorski i paralelni sustavi

. . . . . .

Amdahlov zakonovo razmatranje nas može navesti na pomisao da se MPParhitekture ne isplate

vrlo malo problema se može tako dobro paralelizirati da ubrzanjebude veliko

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 44 / 81

Page 61: Višeprocesorski i paralelni sustavi

. . . . . .

Gustafsonov zakonmeđutim, stvarne izvedbe pokazuju vrlo dobra ubrzanja (npr. 1020na MPP s 1024 procesora)

potrebno je problem sagledati s druge strane

John Gustafson, 1988 (Sandia National Laboratories)

Amdahlov zakon temelji se na pretpostavci da je udioparaleliziranog posla p neovisan od broja procesora Nu stvarnosti se ne uzima fiksna veličina problema, već se problemskalira s brojem procesora kako bi se resursi iskoristili

realističnija je pretpostavka da je vrijeme izvođenja konstantno, ane veličina problema

pokazuje se da serijska komponenta s obično ne raste skaliranjemproblema

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 45 / 81

Page 62: Višeprocesorski i paralelni sustavi

. . . . . .

Gustafsonov zakonpretpostavke:

I veličina problema se skalira proporcionalno s brojem procesora

I serijski dio posla se ne povećava

ako se krene od skaliranog problema – koji se može izvoditi naparalelnom računalu, može se odrediti vrijeme potrebno zaizvođenje istog problema na serijskom računalu i tako procijenitiubrzanje

s′ i p′ : udio serijskog i paralelnog posla pri izvođenju naparalelnom računalu

T2 = s′ + p′

serijskom računalo bi za obavljanje istog posla bilo potrebnovrijeme

T1 = s′ + p′ × N

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 46 / 81

Page 63: Višeprocesorski i paralelni sustavi

. . . . . .

Gustafsonov zakonstoga je skalirano ubrzanje

Scaled speedup =s′ + p′ × N

s′ + p′

uz s′ + p′ = 1

Scaled speedup = s′ + p′ ×N = s′ + (1− s′)×N = N+ (1−N)× s′

rezultat je linearna funkcija s nagibom (1− N)

za s′ = 0 ubrzanje je Nza s′ = 1 ubrzanje je 1

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 47 / 81

Page 64: Višeprocesorski i paralelni sustavi

. . . . . .

Flynnova taksonomija arhitektura

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 48 / 81

Page 65: Višeprocesorski i paralelni sustavi

. . . . . .

Flynnova taksonomija arhitekturaFlynn, 196x

temelji se na toku podataka i toku instrukcija

SISD (single instruction stream over a single data stream)I jednostruki tok instrukcija nad jednostrukim tokom podataka

I von Neumannovo računalo

I jednoprocesorski sustavi

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 49 / 81

Page 66: Višeprocesorski i paralelni sustavi

. . . . . .

Flynnova taksonomija arhitekturaSIMD (single instruction stream over multiple data stream)

I jednostruki tok instrukcija nad višestrukim tokom podataka

I jednostavne i pravilne aplikacije s izraženom lokalnošću podataka

I vektorska računala – matrične operacijeI multimedijska proširenja skupa instrukcija modernih mikroprocesora(MMX, VIS,...)

I grafički sustavi

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 50 / 81

Page 67: Višeprocesorski i paralelni sustavi

. . . . . .

Flynnova taksonomija arhitekturaMISD (multiple instruction stream over single data stream)

I višestruki tok instrukcija nad jednostrukim tokom podataka

I nije fizički izvediva / nema realizacije koja bi se mogla svrstati u ovukategoriju

I uvjetno se u ovu kategoriju svrstavaju protočna računala i sistoličkearhitekture

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 51 / 81

Page 68: Višeprocesorski i paralelni sustavi

. . . . . .

Flynnova taksonomija arhitekturaMIMD (multiple instruction stream over multiple data stream)

I višestruki tok instrukcija nad višestrukim tokom podataka

I višeprocesorski sustavi

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 52 / 81

Page 69: Višeprocesorski i paralelni sustavi

. . . . . .

Vektorska računala (SIMD)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 53 / 81

Page 70: Višeprocesorski i paralelni sustavi

. . . . . .

Vektorska računala (SIMD)vektorski procesori podržavaju operacije visoke razine, koje djelujunad linearnim poljima brojeva – ”vektorima”

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 54 / 81

Page 71: Višeprocesorski i paralelni sustavi

. . . . . .

Vektorska računala (SIMD)vektorski procesori su bili vrlo značajni u 70-tim i 80-tim godinamaprošlog stoljeća

I superračunala (Seymour Cray, CDC Star-100)

I potisnula su ih masivno paralelna računala

ova vrsta arhitekture koristi se i danasI grafički i multimedijski procesori

I procesori namijenjeni igraćim konzolama (Cell)

I multimedijske funkcijske jedinice modernih mikroprocesora, uzodgovarajući multimedijska proširenja skupa instrukcijaMMX, SSE, SSE2, AVX

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 55 / 81

Page 72: Višeprocesorski i paralelni sustavi

. . . . . .

Vektorske instrukcijekoncept – operacije se obavljaju nad vektorima

petlja se zamjenjuje jednom vektorskom instrukcijom

for (i=0; i<n; i++) {a[i] = b[i] + c[i];

}

ADDV.D V10, V8, V6 // a = b + c;

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 56 / 81

Page 73: Višeprocesorski i paralelni sustavi

. . . . . .

Prednosti vektorskih instrukcijapojedinačna vektorska instrukcija inicira puno posla (petlja)

I manji broj pribavljanja instrukcija

pojedini prolaz kroz petlju (iteracija) nema podatkovnumeđuzavisnost s ostalim iteracijama

I nema potrebe za provjeravanjem podatkovnog hazarda

I dugačka protočna struktura (u vektorskim računalima je protočnost iuvedena)

I visoka taktna frekvencija

I pojednostavljenje upravljanja dubokom protočnom strukturom

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 57 / 81

Page 74: Višeprocesorski i paralelni sustavi

. . . . . .

Prednosti vektorskih instrukcijavektorske instrukcije pristupaju memoriji u poznatim sljedovima

I memorija može biti isprepletenaI ublažavaju se memorijska kašnjenja (latencija)

I nepotrebna podatkovna priručna memorija

manja uporaba grananja – smanjenje problema u protočnojstrukturi

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 58 / 81

Page 75: Višeprocesorski i paralelni sustavi

. . . . . .

Osobine vektorskih arhitekturavektorske arhitekture tipa memorija-memorija

I sve vektorske instrukcije obavljaju se nad operandima (vektorima)smještenim u memoriji

I CDC Star100, Cyber203, Cyber205, 370 vector extensions

vektorske arhitekture s vektorskim registrimaI vektorska varijanta load-store arhitektureI sve vektorske instrukcije (izuzev load i store) obavljaju se nadoperandima smještenim u vektorskim registrima

I koncept uveden s Cray-1

I praktički sve vektorske arhitekture od kasnih 80-tih su ovog tipa

I Cray, Convex, Fujitsu, Hitachi, NEC

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 59 / 81

Page 76: Višeprocesorski i paralelni sustavi

. . . . . .

Komponente vektorskog procesoravektorski registar – banka fiksne duljine, sadrži jedan vektor

I ima barem 2 pristupa za čitanje i 1 za pisanje

I tipično 8–32 vektorska registra, svaki sadrži 64–128 64-bitnaelementa

vektorske funkcijske jedinice (FU) – potpuno protočne, svakimtaktom pokreće se nova operacija

I tipično 4–8 FU: FP add, FP mult, FP reciprocal (1/X), integer add,logical, shift;

vektorska load-store jedinica (LSU) – potpuno protočna jedinica zaučitavanje ili pohranjivanje vektora

skalarni registri – za pohranu FP skalara ili adresa

prospojna mreža koja povezuje FU, LSU i registre

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 60 / 81

Page 77: Višeprocesorski i paralelni sustavi

. . . . . .

Programski model

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 61 / 81

Page 78: Višeprocesorski i paralelni sustavi

. . . . . .

Implementacijaskup vektorskih registara

I svaki registar je polje elemenata

I veličina registra određuje maksimalnu duljinu vektora

I koristi se registar duljine vektora – određuje duljinu vektora zapojedinu vektorsku operaciju

višestruke izvršne jedinice = lanes – staza, traka

pojedinačna izvršna jedinica = pipeline – protočna struktura

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 62 / 81

Page 79: Višeprocesorski i paralelni sustavi

. . . . . .

Višestruke funkcijske jediniceprimjena višestrukih funkcijskih jedinica za istu vektorsku operaciju– povećanje performanse (multiple lanes)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 63 / 81

Page 80: Višeprocesorski i paralelni sustavi

. . . . . .

Višestruke funkcijske jedinice4 staze, 2 vektorske funkcijske jedinice

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 64 / 81

Page 81: Višeprocesorski i paralelni sustavi

. . . . . .

Vrijeme izvršavanja vektorskih instrukcijaneki pojmovi

Convoy – skup vektorskih instrukcija koje potencijalno moguzapočeti s izvršavanjem u istom taktu

I konvoj nema podatkovnih ni strukturnih hazardaI slično VLIW pristupuI pretpostavka: konvoj mora završiti prije nego što sljedeći započne sizvršavanjem

Chime – vremenska jedinica koja označava izvršavanje konvojaI izražavanje trajanja neovisno o duljini vektoraI vektorska sekvenca koja se sastoji od m konvoja izvršava se u mchimes

I vektorska sekvenca koja se sastoji od m konvoja s duljinom vektoran izvršava se u približno m × n ciklusa takta (ako je samo jednastaza, zanemareno je punjenje strukture)

Start-up time – vrijeme punjenja protočne strukture, ovisi o njenojdubini (pipeline latency time)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 65 / 81

Page 82: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer formiranja ”konvoja”

1: LV V1,Rx ;load vector X2: MULV V2,F0,V1 ;vector-scalar mult.

LV V3,Ry ;load vector Y3: ADDV V4,V2,V3 ;add4: SV Ry,V4 ;store the result

4 konvoja

vektorsko množenje i vektorsko učitavanje mogu se odvijatiistovremeno

uz 1 stazu i duljinu vektora VL=64 =⇒ 4 x 64 = 256 ciklusa takta(4 ciklusa po komponenti rezultata)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 66 / 81

Page 83: Višeprocesorski i paralelni sustavi

. . . . . .

Isprepletenost memorijememorija je na vektorskim računalima tipično organizirana u višebanki

pristup memoriji za red veličine sporiji od procesorskog takta

umanjuje se latencija memorije sklopovskim preklapanjemvišestrukih zahtjeva za podacima

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 67 / 81

Page 84: Višeprocesorski i paralelni sustavi

. . . . . .

Isprepletenost memorijeisprepletenost memorije - primjer s 8 memorijskih banki

I pretpostavimo da je memorijskoj banki potrebno 6 ciklusa daisporuči podatak

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 68 / 81

Page 85: Višeprocesorski i paralelni sustavi

. . . . . .

Isprepletenost memorije

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 69 / 81

Page 86: Višeprocesorski i paralelni sustavi

. . . . . .

Ulančavanje vektorskih instrukcijaMULV V1,V2,V3ADDV V4,V1,V5 ; moraju li u različite konvoje ?

ulančavanjeI vektorski registar V1 nije samo jedan entitet, već se sastoji od grupepojedinačnih registara

I napredovanje kroz protočnu strukturu je individualno za svakielement – uz pomak elemenata moguće je spojiti obje instrukcije ulanac

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 70 / 81

Page 87: Višeprocesorski i paralelni sustavi

. . . . . .

Ulančavanje vektorskih instrukcijabez ulančavanja mora se čekati na zapisivanje zadnjeg elementarezultata prije pokretanja sljedeće (zavisne) instrukcije

s ulančavanjem – zavisna instrukcija može se pokrenuti čim sepojavi prvi rezultat

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 71 / 81

Page 88: Višeprocesorski i paralelni sustavi

. . . . . .

Ulančavanje vektorskih instrukcija

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 72 / 81

Page 89: Višeprocesorski i paralelni sustavi

. . . . . .

Ulančavanje vektorskih instrukcijanekoliko različitih vektorskih instrukcija može se istovremenoizvoditi (u različitim funkcijskim jedinicama)

I primjer – vektori s 32 elementa, 8 staza =⇒ vektorska operacijaizvodi se u 4 takta

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 73 / 81

Page 90: Višeprocesorski i paralelni sustavi

. . . . . .

Sistoličke arhitekture

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 74 / 81

Page 91: Višeprocesorski i paralelni sustavi

. . . . . .

Sistoličke arhitektureVLSI tehnologija omogućava jeftine čipove posebne namjene

prikladno je algoritme implementirati izravno na čipu,povezivanjem procesnih elemenata u pravilnu strukturu

zamjena jednog procesora poljem procesnih elemenata

usklađivanje (orkestracija) protoka podataka kako bi se postiglavisoka propusnost s malim brojem dohvata memorije

ritmičko obavljanje operacije i prosljeđivanje međurezultatasljedećem PE

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 75 / 81

Page 92: Višeprocesorski i paralelni sustavi

. . . . . .

Sistoličke arhitekture

obrada u sistoličkom polju ima značajke protočne obrade, nopristup je ipak različit

I struktura ne mora biti linearna (2D polje procesnih elemenata –pravokutno, trokutasto, heksagonalno)

I svaki procesni element može imati (mali) skup instrukcija i lokalnupodatkovnu memoriju

I putevi podataka između procesnih elemenata mogu biti višesmjerni

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 76 / 81

Page 93: Višeprocesorski i paralelni sustavi

. . . . . .

Sistoličke arhitekture

ne može se svrstati u SIMDI svaki PE može obavljati različitu funkciju

često se svrstava u MISDI obavlja se niz različitih operacija nad ”istim” tokom podataka

praktične izvedbe (npr. iWARP) koriste procesne elemente sodređenom razinom programabilnosti – gotovo opće namjene

omogućuje se izvedba različitih algoritama na istom sklopovlju

prospojni putevi su fiksni i prilagođeni problemu

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 77 / 81

Page 94: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 95: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 96: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 97: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 98: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 99: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 100: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 101: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

y1 = w1x1 + w2x2 + w3x3

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 102: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

y2 = w1x2 + w2x3 + w3x4

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 103: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureSistoličko polje za računanje 1-D konvolucije

y(i) = w1 × x(i) + w2 × x(i + 1) + w3 × x(i + 2)

y3 = w1x3 + w2x4 + w3x5

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 78 / 81

Page 104: Višeprocesorski i paralelni sustavi

. . . . . .

Primjer sistoličke arhitektureprimjer 2D sistoličkog polja za računanje produkta matrica

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 79 / 81

Page 105: Višeprocesorski i paralelni sustavi

. . . . . .

Problem sinkronizacijeproblem: ritmičko prosljeđivanje podataka upravljano signalomtakta

zbog sinkronizacije potrebna su dodatna kašnjenja – dodatnisklopovi, smanjenje propusnosti

sistolička polja upravljana podacimaI PE je aktivan kada su mu na raspolaganju svi potrebni podaci

I polja valne fronte – wavefront array

I identični procesni elementi, pravilan uzorak lokalnih veza

I visok stupanj paralelizma obrade svojstven problemu (algoritmu)

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 80 / 81

Page 106: Višeprocesorski i paralelni sustavi

. . . . . .

Primjene sistoličke arhitekturematrične operacije

I množenje vektora s matricamaI množenje matricaI triangulacija matrica – rješavanje linearnih sustavaI LU i QR dekompozicija

digitalna obrada signalaI FIR, IIR, konvolucijaI interpolacijaI DFTI podudaranje uzoraka

http://www.ttu.ee/users/nalle/SoC/socaX1 02.pdf

N. Gupta, A VLSI Architecture for Image Registration in Real Time,IEEE trans. VLSI Systems, 2007

VIPS, 2013/14 Višeprocesorski i paralelni sustavi 9.6.2014. 81 / 81