Upload
josef-lange
View
217
Download
0
Embed Size (px)
Citation preview
Rechneraufbau & Rechnerstrukturen, Folie 13.1 © 2006 W. Oberschelp, G. Vossen
Rechneraufbau & Rechnerstrukturen, Folie 13.2 © 2006 W. Oberschelp, G. Vossen
Kapitel 13: Grund-Konzepte und -Modelle für die Parallelverarbeitung
Rechneraufbau & Rechnerstrukturen, Folie 13.3 © 2006 W. Oberschelp, G. Vossen
Übersicht
• VLSI-Algorithmen. Systolische Netze• SIMD-Rechner. Das Speicherproblem. Die PRAM• Kommunikation bei verteiltem Speicher:
Superkonzentratoren• Spezielle Permutationsnetze• Beispiel: Matrix-Multiplikation auf dem Hypercube• Routing in programmierbaren Permutationsnetzen• Universalität von Permutationsnetzen
Rechneraufbau & Rechnerstrukturen, Folie 13.4 © 2006 W. Oberschelp, G. Vossen
13.1 VLSI-„Prozessor“.
Rechneraufbau & Rechnerstrukturen, Folie 13.5 © 2006 W. Oberschelp, G. Vossen
13.2 Prozessor-Pipeline.
Rechneraufbau & Rechnerstrukturen, Folie 13.6 © 2006 W. Oberschelp, G. Vossen
13.3 (Quadratisches) Prozessor-Feld.
Rechneraufbau & Rechnerstrukturen, Folie 13.7 © 2006 W. Oberschelp, G. Vossen
13.4 Hexagonales Prozessor-Feld.
Rechneraufbau & Rechnerstrukturen, Folie 13.8 © 2006 W. Oberschelp, G. Vossen
aaaa
a11aaaa
aaaa
aaaaa
aaa
a
aa
a aa
a
213141
1222324252
2333435363
3444546474
4555657585
566676
67
...
.....
q
p
O
OA =
...
......
...
Differenz der Indizes:
-10
12
3
Indizes haben gleiche Summen:
23
45
67
13.5 (2,4)-Bandmatrix.
Rechneraufbau & Rechnerstrukturen, Folie 13.9 © 2006 W. Oberschelp, G. Vossen
Matrix-Vektor-Produkt
Rechneraufbau & Rechnerstrukturen, Folie 13.10 © 2006 W. Oberschelp, G. Vossen
13.6 Fünfelementige Prozessor-Pipeline.
Rechneraufbau & Rechnerstrukturen, Folie 13.11 © 2006 W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 13.12 © 2006 W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 13.13 © 2006 W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 13.14 © 2006 W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 13.15 © 2006 W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 13.16 © 2006 W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 13.17 © 2006 W. Oberschelp, G. Vossen
aa
a
a
a
a
a
a
aa
a
a
a
P P P P Px x xy
1231 0=-1 31 20
34
23
12
11
22
33
43
32
21
42
31
52
41
...
. . .
13.7 Organisation der (syst.) Matrix-Vektor-Multiplikation.
Rechneraufbau & Rechnerstrukturen, Folie 13.18 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
Matrix-Vektor-Multiplikation: Takt 1
a11
a12 a21
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
y1=0y1
Rechneraufbau & Rechnerstrukturen, Folie 13.19 © 2006 W. Oberschelp, G. Vossen
a11
a12 a21
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
P P P P P-1 31 20 y1y1
Matrix-Vektor-Multiplikation: Takt 2
Rechneraufbau & Rechnerstrukturen, Folie 13.20 © 2006 W. Oberschelp, G. Vossen
a11
a12 a21
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
P P P P P-1 31 20 y1
x1
x1
y2=0y2y1
Matrix-Vektor-Multiplikation: Takt 3
Rechneraufbau & Rechnerstrukturen, Folie 13.21 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
a11
a12 a21
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
x1
y1a11
y2 y2y1
x1
Matrix-Vektor-Multiplikation: Takt 4
Rechneraufbau & Rechnerstrukturen, Folie 13.22 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
a12 a21
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
y1= a11 * x1 + y1
a44 a53
y2
x1
Matrix-Vektor-Multiplikation: Takt 4
Rechneraufbau & Rechnerstrukturen, Folie 13.23 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
a12 a21
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
a44 a53
y1
y1
x2
x2
a12 x1 x1
a21
y2 y2
y3=0y3
Matrix-Vektor-Multiplikation: Takt 5
Rechneraufbau & Rechnerstrukturen, Folie 13.24 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
a44 a53
y1= a12 * x2 + y1
a45 a54 a63
y2= a21 * x1 + y2
y3
x2 x1
Matrix-Vektor-Multiplikation: Takt 5
Rechneraufbau & Rechnerstrukturen, Folie 13.25 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20x2 x2
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
a44 a53
a45 a54 a63
y2y2a22 x1
y3y3
x1
a31
Ausgabe: y1
Matrix-Vektor-Multiplikation: Takt 6
Rechneraufbau & Rechnerstrukturen, Folie 13.26 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
a23 a32 a41
a33 a42
a34 a43 a52
a44 a53
a45 a54 a63
x1
y3 =a31* x1 + y3
y2 =a22* x2 + y2
x2
a55 a64
Matrix-Vektor-Multiplikation: Takt 6
Rechneraufbau & Rechnerstrukturen, Folie 13.27 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
a23 a32 a41
a33 a42
a34 a43 a52
a44 a53
a45 a54 a63
a55 a64
x1x2
y2 y3
y2 y3
x2 x1x3
x3
a23 a32 a41
y4=0y4
Matrix-Vektor-Multiplikation: Takt 7
Rechneraufbau & Rechnerstrukturen, Folie 13.28 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
a33 a42
a34 a43 a52
a44 a53
a45 a54 a63
a55 a64
y2 = a23*x3+y2 x2 x1x3
y3 = a32*x2+y3 y4 = a41*x1+y4
a56 a65 a74
Matrix-Vektor-Multiplikation: Takt 7
Rechneraufbau & Rechnerstrukturen, Folie 13.29 © 2006 W. Oberschelp, G. Vossen
P P P P P-1 31 20
a33 a42
a34 a43 a52
a44 a53
a45 a54 a63
a55 a64
a56 a65 a74
Ausgabe: y2
x3 x2x3 x2
y3 y4a33 a42y3 y4y2
u.s.w.
Matrix-Vektor-Multiplikation: Takt 8
Rechneraufbau & Rechnerstrukturen, Folie 13.30 © 2006 W. Oberschelp, G. Vossen
Teilweiser Ablauf der Matrix-Vektor-Multiplikation
Rechneraufbau & Rechnerstrukturen, Folie 13.31 © 2006 W. Oberschelp, G. Vossen
13.8 Hexagonales Prozessor-Feld für die Matrix-Multiplikation.
Rechneraufbau & Rechnerstrukturen, Folie 13.32 © 2006 W. Oberschelp, G. Vossen
13.9 Prinzip der Vernetzung von Prozessoren.
Rechneraufbau & Rechnerstrukturen, Folie 13.33 © 2006 W. Oberschelp, G. Vossen
13.10 Vernetzte Prozessoren mit globalem Speicher.
Rechneraufbau & Rechnerstrukturen, Folie 13.34 © 2006 W. Oberschelp, G. Vossen
13.11 4 x 4-Crossbar Switch G1.
Rechneraufbau & Rechnerstrukturen, Folie 13.35 © 2006 W. Oberschelp, G. Vossen
13.12 Graph G2 zu Beispiel 13.2 ((3,2)-Konzentrator).
Rechneraufbau & Rechnerstrukturen, Folie 13.36 © 2006 W. Oberschelp, G. Vossen
13.13 Graph G3 zu Beispiel 13.3 (4-Superkonzentrator).
Rechneraufbau & Rechnerstrukturen, Folie 13.37 © 2006 W. Oberschelp, G. Vossen
13.14 Nicht-universelles Permutationsnetz (4-Superkonzentrator).
Rechneraufbau & Rechnerstrukturen, Folie 13.38 © 2006 W. Oberschelp, G. Vossen
13.15 (Offene) Prozessor-Pipeline.
Rechneraufbau & Rechnerstrukturen, Folie 13.39 © 2006 W. Oberschelp, G. Vossen
13.16 (Geschlossene) Prozessor-Pipeline (Ring).
Rechneraufbau & Rechnerstrukturen, Folie 13.40 © 2006 W. Oberschelp, G. Vossen
13.17 (Geschlossene) Prozessor-Speicher-Pipeline.
Rechneraufbau & Rechnerstrukturen, Folie 13.41 © 2006 W. Oberschelp, G. Vossen
13.18 Perfect-Shuffle-Netzwerk.
Rechneraufbau & Rechnerstrukturen, Folie 13.42 © 2006 W. Oberschelp, G. Vossen
13.19 Perfect-Shuffle-Netzwerk mit separaten Ziel-Prozessoren.
Rechneraufbau & Rechnerstrukturen, Folie 13.43 © 2006 W. Oberschelp, G. Vossen
13.20 Shuffle-Exchange-Netzwerk.
Rechneraufbau & Rechnerstrukturen, Folie 13.44 © 2006 W. Oberschelp, G. Vossen
13.21 Array-Netzwerk.
Rechneraufbau & Rechnerstrukturen, Folie 13.45 © 2006 W. Oberschelp, G. Vossen
13.22 Hypercube der Dimension m = 3.
Rechneraufbau & Rechnerstrukturen, Folie 13.46 © 2006 W. Oberschelp, G. Vossen
13.23 Hypercube der Dimension m = 4.
Rechneraufbau & Rechnerstrukturen, Folie 13.47 © 2006 W. Oberschelp, G. Vossen
13.24 Cube-Connected Cycles.
Rechneraufbau & Rechnerstrukturen, Folie 13.48 © 2006 W. Oberschelp, G. Vossen
13.25 Anordnung der 64 Hypercube-Prozessorenzur Multiplikation von (4 x 4)-Matrizen
(dezimale Indizierung).
Rechneraufbau & Rechnerstrukturen, Folie 13.49 © 2006 W. Oberschelp, G. Vossen
13.26 Anordnung der 64 Hypercube-Prozessorenzur Multiplikation von (4 x 4)-Matrizen
(duale Indizierung).
Rechneraufbau & Rechnerstrukturen, Folie 13.50 © 2006 W. Oberschelp, G. Vossen
Beispiel zur Matrix-Multiplikation
2 0 4 22 4 0 2
0 2 2 44 2 2 0
A
1 1 5 31 1 3 5
5 3 1 13 5 1 1
B
?AB
Rechneraufbau & Rechnerstrukturen, Folie 13.51 © 2006 W. Oberschelp, G. Vossen
Initialisierung
Rechneraufbau & Rechnerstrukturen, Folie 13.52 © 2006 W. Oberschelp, G. Vossen
13.27 Beispiel: Initialisierung der Hypercube-Prozessoren zur Multiplikation von (4 x 4)-Matrizen.
Rechneraufbau & Rechnerstrukturen, Folie 13.53 © 2006 W. Oberschelp, G. Vossen
13.28 Beispiel: Speicherbelegung der Prozessorennach Beendigung der Phase 2.
Rechneraufbau & Rechnerstrukturen, Folie 13.54 © 2006 W. Oberschelp, G. Vossen
nach Phase 2
Rechneraufbau & Rechnerstrukturen, Folie 13.55 © 2006 W. Oberschelp, G. Vossen
13.29 Beispiel: Speicherbelegung der Prozessoren nach Durchführung des Schrittes 3.
Rechneraufbau & Rechnerstrukturen, Folie 13.56 © 2006 W. Oberschelp, G. Vossen
nach Schritt 3
Rechneraufbau & Rechnerstrukturen, Folie 13.57 © 2006 W. Oberschelp, G. Vossen
13.30 Beispiel: Speicherbelegung derProzessoren am Ende der Rechnung.
Rechneraufbau & Rechnerstrukturen, Folie 13.58 © 2006 W. Oberschelp, G. Vossen
Ergebnis
Rechneraufbau & Rechnerstrukturen, Folie 13.59 © 2006 W. Oberschelp, G. Vossen
Ergebnis
Rechneraufbau & Rechnerstrukturen, Folie 13.60 © 2006 W. Oberschelp, G. Vossen
13.31 Prinzip der programmierbaren Vernetzung.
Rechneraufbau & Rechnerstrukturen, Folie 13.61 © 2006 W. Oberschelp, G. Vossen
13.32 Kreuzschienenschalter (Crossbar Switch).
Rechneraufbau & Rechnerstrukturen, Folie 13.62 © 2006 W. Oberschelp, G. Vossen
13.33 „Exchange-Modul“.
Rechneraufbau & Rechnerstrukturen, Folie 13.63 © 2006 W. Oberschelp, G. Vossen
13.34 Programmierbares Shuffle-Exchange-Netzwerk.
Rechneraufbau & Rechnerstrukturen, Folie 13.64 © 2006 W. Oberschelp, G. Vossen
13.35 (Dreistufiges) Ω-Netzwerk.
Rechneraufbau & Rechnerstrukturen, Folie 13.65 © 2006 W. Oberschelp, G. Vossen
13.36 Das Butterfly-Netzwerk.
Inputs Outputs
Rechneraufbau & Rechnerstrukturen, Folie 13.66 © 2006 W. Oberschelp, G. Vossen
13.37 Das Beneš-Netz als universelles Permutationsnetz.
Inputs Outputs
Rechneraufbau & Rechnerstrukturen, Folie 13.67 © 2006 W. Oberschelp, G. Vossen
13.38 Clos-Netz als dynamisches Permutations-Netz.
Inputs Outputs