19
Arhitectura Sistemelor de Calcul Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare cs.ncit.pub.ro curs.cs.pub.ro

Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

Arhitectura Sistemelor de Calcul

Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare

cs.ncit.pub.rocurs.cs.pub.ro

Page 2: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

2

Cuprins

• Structura SIMD

• Probleme de Comunicatii intre Procesoareleunui Sistem SIMD

• Deplasarea Ciclica a Datelor intreProcesoare

• Intercalarea Perfecta – Shuffle

• Conectarea Inversa – Inverse Shuffle

• Permutari Elementare

Page 3: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

3

Structura SIMD – Probleme• Arhitecturile SIMD – adecvate prelucrarilor vectoriale1. Cresterea vitezei masinii SIMD:

– Datele trebuiesc plasate in module distincte de memorie2. Utilizarea eficienta a procesoarelor:

– Datele trebuiesc permutate pt a furniza operanzi pentru calcule• Pt rezolvarea celor doua probleme: necesare RC P-P si P-M

P1 M1

UCmdP2 M2

PnMn

FI

FD1

FD2

FDn

SistemI/O

SwitchP-PP-M

Page 4: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

4

Retele de Comutatie• Retelele de comutatie (RC) P-P sunt implementate

la nivelul procesoarelor

• Retelele de comutatie P-M pot fi implementate facilcu switch-uri Cross-Bar– Pt. n procesoare sunt necesare n(n-1)/2 SP → costul

devine prohibitiv (65k Procs → 4Mrd+ Switches)

• Sunt necesare RC adecvate fiecarei aplicatii (masinidedicate); aceste RC ofera:– Fiabilitate– Costuri reduse– Viteza mare de comutatie/transfer– Facilitati de intretinere

The Trade-off…Reduced Parallelism!

Page 5: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

5

Cuprins

• Structura SIMD

• Probleme de Comunicatii intre Procesoareleunui Sistem SIMD

• Deplasarea Ciclica a Datelor intreProcesoare

• Intercalarea Perfecta – Shuffle

• Conectarea Inversa – Inverse Shuffle

• Permutari Elementare

Page 6: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

6

Interconexiunea Circulara• Deplasarea ciclica a datelor intre procesoare

• Conexiunile sunt permise numai cu vecinii

• Nu exista conexiuni directe intre i si j • Sunt maxim [(i-j-1)% n] noduri intermediare

P1 P2

Pi-1

P0

Pi

Pn

Pi+1

• Exemple de domenii de aplicatie:– Adecvate rezolvarii ecuatiilor

diferentiale de ordinul 1: x[i] = x[i-1] + x[i+1] – 2x[i]

– Propagarea caldurii printr-o bara– Aplicatii meteo – prognoza vremii in

diferite puncte ale globului se face in paralel cu aceleasi date

Page 7: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

7

Interconexiunea Matriceala• Asigura comunicarea cu patru procs vecine• Daca dependenta este de felul: x[i,j] = x[i+1,j] + x[i-1,j] + x[i,j+1] + x[i,j-1] – 4x[i,j]→ de ex: evoluatiatemperaturii in volumul unui material

• ILLIAC 4 – primul SIMD (64 procs) – 90% la fel si acum

i,j i,j+1

i-1,j

i+1,j

i,j-1

Page 8: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

8

Cuprins

• Structura SIMD

• Probleme de Comunicatii intre Procesoareleunui Sistem SIMD

• Deplasarea Ciclica a Datelor intreProcesoare

• Intercalarea Perfecta – Shuffle

• Conectarea Inversa – Inverse Shuffle

• Permutari Elementare

Page 9: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

9

Intercalarea Perfecta – Shuffle• Este adecvata pentru:

– Transformata Fourier (FFT – Fast Fourier Transformation)– Algoritmi de sortare– Transpuneri de matrice

• Asigura conectarea intre procesoarele unei structuriSIMD de n procesoare cu:– n-2 comunicatii simultane– dupa log2n iteratii datele ajung pe procesorul sursa

…P1

P0

Pnlog2n times

…P1

P0

Pn

Switch

Page 10: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

10

Shuffle – 8 Procesoare

P1

P0

P3

P2

P4

P6

P5

P7

P1

P0

P3

P2

P4

P6

P5

P7

P1

P0

P3

P2

P4

P6

P5

P7t t + 1

Page 11: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

11

•Doua RC:–Shuffle–Adiacenta (pt F & G):

– F e pe Yi = pare– G e pe Yi+1 = impare

–log2n iteratii

•Utilizare: sortari, FFT, transpuneri, functii cu operatii recurente

Shuffle – 8 Procesoare

P1

P0

P3

P2

P4

P6

P5

P7

P1

P0

P3

P2

P4

P6

P5

P7t t + 1

G

F

G

F

F

F

G

G

for i = 1 to log2nshuffle[y]Yi = F[Yi,Yi+1]Yi+1 = G[Yi,Yi+1]

end i loop

RC Shuffle RC F & G

Page 12: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

12

• Pentru sortari:– F calculeaza maximul celor doi operanzi– G calculeaza minimul celor doi operanzi

• Pentru FFT:– F produce suma ponderata– G produce diferenta ponderata– Ponderile sunt calculate dinamic la fiecare pas al iteratiei

• Pentru transpunerea matricelor:– Organizarea directa a matricei– F = Yi

– G = Yi+1

Shuffle – Aplicatii

Page 13: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

13

•Suma elementelor unui vector•Daca vectorul e intr-o singuramemorie → secvential:

•Se poate reduce O(n) pe SIMD?•Distribuim vectorul intre memorii•Probleme:

–Incarcarea neechilibrata a procs–La fiecare pas trebuie schimbata RC in mod dinamic

Shuffle – Aplicatii Iterative

sum = 0for i = 0 to n-1

sum += aiend i loop O(n)

A1

A0

A3

A2

A4

A6

A5

A7

+

+

+

+

+

+

+

Ai

O(log2n)

Page 14: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

14

Shuffle – Aplicatii Iterative (cont)

• Sunt necesare– Comunicare liniara– RC statica

• Reconfigurareaconexiunilor e maisimpla

• Dezavantaj: este in continuare necesarareconfigurarea la fiecare pas!

• Complexitate:O(log2n)

A1

A0

A3

A2

A4

A6

A5

A7

+

+

+

+

+

+

+ Ai

+

+

+

+

+

+

+

+

+

+ Sumepartiale

Page 15: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

15

Cuprins

• Structura SIMD

• Probleme de Comunicatii intre Procesoareleunui Sistem SIMD

• Deplasarea Ciclica a Datelor intreProcesoare

• Intercalarea Perfecta – Shuffle

• Conectarea Inversa – Inverse Shuffle

• Permutari Elementare

Page 16: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

16

Inverse Shuffle• Adecvat pentru operatii

recurente, calculabile in log2n pasi

• Suma elementelor unui vector:

• Legatura identica pentru toateiteratiile:– O legatura directa– Un Inverse Shuffle

Yi = Ai (0 ≤ i ≤ n-1)for j = 1 to log2n

Yj = Yj + Yj-1invshuffle[Y], MASK compute MASK

end j loop

P1

P0

P3

P2

P4

P6

P5

P7

P1

P0

P3

P2

P4

P6

P5

P7t t + 1

Page 17: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

17

Inverse Shuffle – Aplicatii Iterative

1

0

3

2

4

6

5

7

+

+

+

+

+

+

+

+

1

0

3

2

4

6

5

7

•Legatura (RC) identica pentru toate iteratiile:

–O legatura directa: Yj = Yj + Yj-1–Un Inverse Shuffle

•Mastile se modifica si ele prin Inverse Shuffle la fiecare iteratie

–MASK = 0 → procesor inactiv–MASK = 1 → procesor activ: (F & G = +)

•La anumite iteratii, unele procesoare pot fi inactivate de masti•Notam

j

ikij kAY )( O(log2n)

Page 18: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

18

Inverse Shuffle – RC

1

0

1

1

1

1

1

1

A1

A0

A3

A2

A4

A6

A5

A7

P1

P0

P3

P2

P4

P6

P5

P7

Y11

Y00

Y33

Y22

Y44

Y66

Y55

Y77

MASK

Y01

Y00

Y23

Y12

Y34

Y56

Y45

Y67

IS 1

Y12

Y00

Y56

Y34

Y01

Y45

Y23

Y67

1

0

1

1

0

1

1

1

MASK

Y02

Y00

Y36

Y14

Y01

Y25

Y03

Y47

IS 2

Y14

Y00

Y25

Y01

Y02

Y03

Y36

Y47

1

0

1

0

0

0

1

1

MASK

Y04

Y00

Y05

Y01

Y02

Y03

Y06

Y07

IS 3

Y01

Y00

Y03

Y02

Y04

Y06

Y05

Y07

Page 19: Arhitectura Sistemelor de Calcul - catalina.mancasace.catalinamancas.ro/ACE/AASC-Curs8.pdf · 2016. 6. 16. · • Permutari Elementare. 3 Structura SIMD – Probleme • Arhitecturile

19

Concluzii Structuri SIMD

• Probleme adecvate structurilor SIMD:– Calculele trebuiesc descrise de iteratii de tip vector a.i.

majoritatea timpului sa fie ocupat cu operatii cu caracteridentic

– Operanzii (simultani) trebuiesc repartizati in module diferite de memorie

– Trebuiesc identificate conexiunile intre operanzi a.i. ele safie cat mai aproape de conexiunile fizice intre procesoare

• Clasa problemelor SIMD nu este universala → doarprobleme dedicate se preteaza!

• Algoritmii, sistemele de interconectare si structuradatelor trebuiesc adaptate in consecinta