Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte.

Ähnliche Präsentationen


Präsentation zum Thema: "WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte."—  Präsentation transkript:

1 WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte Programmierung von Lutz Kramer

2 WIRTSCHAFTS INFORMATIKBeispiel 2 A x B = C

3 WIRTSCHAFTS INFORMATIKBeispiel 2 A x B = C 1 x 8 = 8

4 WIRTSCHAFTS INFORMATIKBeispiel 2 A x B = C 1 x 8 = x 3 = 9

5 WIRTSCHAFTS INFORMATIKBeispiel 2 A x B = C 1 x 8 = x 3 = x 0 = 0

6 WIRTSCHAFTS INFORMATIKBeispiel 2 A x B = C 1 x 8 = x 3 = x 0 = x 1 = -2

7 WIRTSCHAFTS INFORMATIKBeispiel 2 A x B = C 1 x 8 = x 3 = x 0 = x 1 = -2 = 15

8 WIRTSCHAFTS INFORMATIKAgenda Theoretische Grundlagen Sequentielle Algorithmen ­ Intuitiver Algorithmus ­ Strassen-Algorithmus Parallele Algorithmen ­ Schleifenparallelisierung ­ Cannons Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick 3

9 WIRTSCHAFTS INFORMATIKAgenda Theoretische Grundlagen Sequentielle Algorithmen ­ Intuitiver Algorithmus ­ Strassen-Algorithmus Parallele Algorithmen ­ Schleifenparallelisierung ­ Cannons Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick 3

10 WIRTSCHAFTS INFORMATIK Theoretische Grundlagen Matrix mit n Zeilen und m Spalten -> Ordnung (n,m) Kennzeichnung Großbuchstabe (z.B. A) und Größe n x m Quadratische Matrizen haben Ordnung (n,n) bzw. Größe n x n Es gilt: c ij = a ik b kj für alle k 4 x =

11 WIRTSCHAFTS INFORMATIKAgenda Theoretische Grundlagen Sequentielle Algorithmen ­ Intuitiver Algorithmus ­ Strassen-Algorithmus Parallele Algorithmen ­ Schleifenparallelisierung ­ Cannons Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick 5

12 WIRTSCHAFTS INFORMATIK Sequentielle Algorithmen - Intuitiver Algorithmus - Intuitive, erste Lösung Lösung über 3 Schleifen Laufzeit: Θ(n 3 ), für A (n x n) und B (n x n) Laufzeit für nicht quadratische Matrizen Θ(l n m) 6

13 WIRTSCHAFTS INFORMATIK Sequentielle Algorithmen - Strassen-Algorithmus - Zerlegung der Matrix A in Submatrizen A 11, A 12, A 21, A 22 Gleiches Vorgehen bei Matrix B Berechnung von Zwischenmatrizen P 1 bis P 7 Berechnung von Teilergebnismatrizen C 11, C 12, C 21, C 22 aus P 1 bis P 7 Zusammensetzen der Endmatrix C 7

14 WIRTSCHAFTS INFORMATIK Sequentielle Algorithmen - Strassen-Algorithmus - 8 Zwischenmatrizen: P 1 = (A 11 + A 22 ) x (B 11 + B 22 ) P 2 = (A 21 + A 22 ) x B 11 P 3 = A 11 x (B 12 - B 22 ) P 4 = A 22 x (B 21 - B 11 ) P 5 = (A 11 + A 12 ) x B 22 P 6 = (A 21 - A 11 ) x (B 11 + B 12 ) P 7 = (A 12 - A 22 ) x (B 21 + B 22 )

15 WIRTSCHAFTS INFORMATIK Sequentielle Algorithmen - Strassen-Algorithmus - 9 Blöcke der Zielmatrix: C 11 = P 1 + P 4 - P 5 + P 7 C 12 = P 3 + P 5 C 21 = P 2 + P 4 C 22 = P 1 + P 3 – P 2 + P 6

16 WIRTSCHAFTS INFORMATIK Sequentielle Algorithmen - Strassen-Algorithmus - Veröffentlicht im Jahr 1968 Bisher schnellster bekannter Algorithmus Laufzeit von ca. (n 2,81 ) bei quadratischen Matrizen 10

17 WIRTSCHAFTS INFORMATIKAgenda Theoretische Grundlagen Sequentielle Algorithmen ­ Intuitiver Algorithmus ­ Strassen-Algorithmus Parallele Algorithmen ­ Generelle Annahmen ­ Schleifenparallelisierung ­ Cannons Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick 11

18 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Generelle Annahmen - p verschiede Prozesse Auf unterschiedlichen Prozessoren Quadratische Matrizen der Ordnung (n,n) n ist ein Vielfache von p Für das Beispiel gilt: n = 4 und p = 4 12

19 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Schleifenparallelisierung - Multiplikation eines (n / p) x (n / p) Blocks aus A mit einem (n / p) x n Block aus B Anzahl der Iterationen ist p Zeit für Multiplikation und Addition Zeit für gesamte Berechnung für einzelnen Prozess: (n / p) (n / p) n p = n 3 / p Neben Berechnungszeit noch Kommunikationszeit 13

20 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Schleifenparallelisierung - Kommunikationszeit Latenzzeit Übertragung von (n / p) x n aus Matrix B Transaktionszeit Zeit pro Kommunikationsvorgang: + (( n / p ) n ) / 14

21 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Schleifenparallelisierung - Kommunikationszeit Latenzzeit Übertragung von (n / p) x n aus Matrix B Transaktionszeit Zeit pro Kommunikationsvorgang: + (( n / p ) n ) / Bearbeitungszeit Berechnungszeit + Zeit p. Kommunikationsvorgang Anzahl Vorgänge Anzahl der Vorgänge p Gesamtbearbeitungszeit: n 3 / p + p + n 2 / Berechnungszeit: Θ(n 3 ), Kommunikationszeit: Θ(n 2 ) 14

22 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - Aufteilung in Submatrizen, ähnlich denen von Strassen Submatrizen haben Ordnung (b,b) mit b = n / p Pro Block (Submatrix) aus C ein Prozess Blöcke von A werde nach Links, Blöcke von B nach Rechts weitergegeben Dabei Multiplikation und Aufsummierung Problem: Anfangsaufteilung 15

23 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - 16

24 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - 16

25 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - 16

26 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - 16

27 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - 16

28 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - 16

29 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - 16

30 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - Berechnungszeit Multiplikation von ( n / p ) x ( n / p ) Elemente aus Matrix A mit ( n / p ) x ( n / p ) aus Matrix B pro Iteration Anzahl der Iterationen p Zeit für Multiplikation und Addition Gesamte Berechnungszeit pro Prozess: ( n / p ) 3 p = n 3 / p 17

31 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - Berechnungszeit Multiplikation von ( n / p ) x ( n / p ) Elemente aus Matrix A mit ( n / p ) x ( n / p ) aus Matrix B pro Iteration Anzahl der Iterationen p Zeit für Multiplikation und Addition Gesamte Berechnungszeit pro Prozess: ( n / p ) 3 p = n 3 / p Anfangs-Aufteilungszeit Zeit zur Übertragung eines Matrixelements 1 / Zeit für Anfangs-Aufteilung 2 ( + n 2 / ( p )) 17

32 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - Kommunikationszeit Empfang und Versand eines Blockes von A und B bei jeder der p Iterationen Benötigte Zeit: p * 2 * ( + n 2 / ( p )) 18

33 WIRTSCHAFTS INFORMATIK Parallele Algorithmen - Cannons Algorithmus - Kommunikationszeit Empfang und Versand eines Blockes von A und B bei jeder der p Iterationen Benötigte Zeit: p * 2 * ( + n 2 / ( p )) Bearbeitungszeit Anfangszeit + Berechnungszeit + Kommunikationszeit Gesamtbearbeitungszeit n 3 / p + 2 ( p + 1 ) ( + n 2 / ( p )) 18

34 WIRTSCHAFTS INFORMATIKAgenda Theoretische Grundlagen Sequentielle Algorithmen ­ Intuitiver Algorithmus ­ Strassen-Algorithmus Parallele Algorithmen ­ Schleifenparallelisierung ­ Cannons Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick 19

35 WIRTSCHAFTS INFORMATIK Sequentielle Algorithmen Intuitiver Algorithmus Prinzip: 3 Schleifen Leicht zu implementieren Verständlich Laufzeit: Θ(n 3 ) Vergleichszeit für andere Algorithmen Auch in rekursiver Variante Möglich, dadurch aber keine andere Laufzeit 20 Strassen-Algorithmus Veröffentlicht: 1968 Prinzip: Aufteilung in Submatrizen und geschickte Addition, Subtraktion und Multiplikation Laufzeit: (n 2,81 ) Algorithmus mit der schnellsten bekannten Berechnungszeit Für Ein-Prozessor-Rechner bisher ideal

36 WIRTSCHAFTS INFORMATIK Sequentielle Algorithmen Intuitiver Algorithmus Prinzip: 3 Schleifen Leicht zu implementieren Verständlich Laufzeit: Θ(n 3 ) Vergleichszeit für andere Algorithmen Auch in rekursiver Variante Möglich, dadurch aber keine andere Laufzeit 20 Strassen-Algorithmus Veröffentlicht: 1968 Prinzip: Aufteilung in Submatrizen und geschickte Addition, Subtraktion und Multiplikation Laufzeit: (n 2,81 ) Algorithmus mit der schnellsten bekannten Berechnungszeit Für Ein-Prozessor-Rechner bisher ideal

37 WIRTSCHAFTS INFORMATIK Parallele Algorithmen Schleifenparallelisierung Prinzip: Multiplikation eines (n / p) x (n / p) Blocks mit einem (n / p) x n Block pro Iteration Anzahl Iterationen p Berechnungszeit Θ(n 3 ) n 3 / p Kommunikationszeit Θ(n 2 ) p + n 2 / 21 Cannons Algorithmus Prinzip: Multiplikation eines (n / p) x (n / p) Blocks mit einem (n / p) x (n / p) Block pro Iteration Anzahl Iterationen p Berechnungszeit Θ(n 3 ) n 3 / p Kommunikationszeit Θ(n 2 ) 2 ( p + 1 ) ( + n 2 / ( p ))

38 WIRTSCHAFTS INFORMATIK Parallele Algorithmen p + n 2 / > 2 ( p + 1 ) ( + n 2 / ( p )) 22

39 WIRTSCHAFTS INFORMATIK Parallele Algorithmen p + n 2 / > 2 ( p + 1 ) ( + n 2 / ( p )) p > 2 ( p + 1 ) p > 2 ( p + 1 ) 22

40 WIRTSCHAFTS INFORMATIK Parallele Algorithmen p + n 2 / > 2 ( p + 1 ) ( + n 2 / ( p )) p > 2 ( p + 1 ) p > 2 ( p + 1 ) n 2 / > 2 ( p + 1 ) n 2 / ( p )) 22

41 WIRTSCHAFTS INFORMATIK Parallele Algorithmen p + n 2 / > 2 ( p + 1 ) ( + n 2 / ( p )) p > 2 ( p + 1 ) p > 2 ( p + 1 ) n 2 / > 2 ( p + 1 ) n 2 / ( p )) Gilt, sofern p > ,46410 und > 0 und > 0 ist. Damit ist Cannons Algorithmus ab 8 parallelen Prozessens besser. 22

42 WIRTSCHAFTS INFORMATIK Parallele Algorithmen Schleifenparallelisierung Prinzip: Multiplikation eines (n / p) x (n / p) Blocks mit einem (n / p) x n Block pro Iteration Anzahl Iterationen p Berechnungszeit Θ(n 3 ) n 3 / p 2 Kommunikationszeit Θ(n 2 ) p + n 2 / 23 Cannons Algorithmus Prinzip: Multiplikation eines (n / p) x (n / p) Blocks mit einem (n / p) x (n / p) Block pro Iteration Anzahl Iterationen p Berechnungszeit Θ(n 3 ) n 3 / p Kommunikationszeit Θ(n 2 ) 2 ( p + 1 ) ( + n 2 / ( p ))

43 WIRTSCHAFTS INFORMATIK Sequentielle vs. Parallele Algorithmen Strassen-Algorithmus Aufteilungsprinzip Schnellste Berechnungszeit Keine Kommunikationszeit benötigt 24 Cannons Algorithmus Aufteilungsprinzip Verbesserung der Bearbeitungs- zeit durch Aufteilung der Berechnungszeit Kommunikation kann parallel zur Berechnung erfolgen, sofern genug Speicher vorhanden

44 WIRTSCHAFTS INFORMATIK Sequentielle vs. Parallele Algorithmen Strassen-Algorithmus Aufteilungsprinzip Schnellste Berechnungszeit Keine Kommunikationszeit benötigt 24 Cannons Algorithmus Aufteilungsprinzip Verbesserung der Bearbeitungs- zeit durch Aufteilung der Berechnungszeit Kommunikation kann parallel zur Berechnung erfolgen, sofern genug Speicher vorhanden Bearbeitungszeit bei Cannons Algorithmus < Berechnungszeit beim Strassen-Algorithmus

45 WIRTSCHAFTS INFORMATIK Sequentielle vs. Parallele Algorithmen Strassen-Algorithmus Aufteilungsprinzip Schnellste Berechnungszeit Keine Kommunikationszeit benötigt 24 Cannons Algorithmus Aufteilungsprinzip Verbesserung der Bearbeitungs- zeit durch Aufteilung der Berechnungszeit Kommunikation kann parallel zur Berechnung erfolgen, sofern genug Speicher vorhanden Bearbeitungszeit bei Cannons Algorithmus < Berechnungszeit beim Strassen-Algorithmus

46 WIRTSCHAFTS INFORMATIKAgenda Theoretische Grundlagen Sequentielle Algorithmen ­ Intuitiver Algorithmus ­ Strassen-Algorithmus Parallele Algorithmen ­ Schleifenparallelisierung ­ Cannons Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick 25

47 WIRTSCHAFTS INFORMATIKZusammenfassung 26 Überblick über Algorithmen der Matrixmultiplikation Vergleich sequentieller und paralleler Algorithmen Ziel

48 WIRTSCHAFTS INFORMATIKZusammenfassung 26 Überblick über Algorithmen der Matrixmultiplikation Vergleich sequentieller und paralleler Algorithmen Vorstellung von zwei sequentiellen Algorithmen: Intuitiv und Strassen Vorstellung von zwei parallelen Algorithmen: Schleifen- parallelisierung und Cannon ZielVorgehen

49 WIRTSCHAFTS INFORMATIKZusammenfassung 26 Überblick über Algorithmen der Matrixmultiplikation Vergleich sequentieller und paralleler Algorithmen Vorstellung von zwei sequentiellen Algorithmen: Intuitiv und Strassen Vorstellung von zwei parallelen Algorithmen: Schleifen- parallelisierung und Cannon Bei Paralleler Verarbeitung: Cannon, sofern mehr als acht parallele Prozesse vorhanden sind Ohne Parallele Verarbeitung: Strassen ABER: Bester Algorithmus für die Multiplikation von Matrizen ist noch immer nicht gefunden worden. (Sedgewick, S. 604) ZielVorgehen Ergebnis

50 WIRTSCHAFTS INFORMATIKQuellen Freemann, L.; Philips, C.: Parallel numerical algorithms. Hofer, E.; Lunderstädt, R.: Numerische Methoden der Optimierung. Pacheco, P. S.: Parallel programming with MPI. Quinn, M. J.: Parallel computing: theory and practice. Quinn, M. J.: Prallel programming in C with MPI and OpenMP. Rauber, T.; Rünger, G.: Parallele Programmierung. Schwandt, H.: Parallele Numerik: eine Einführung. Sedgewick, R.: Algorithmen. Sydsæter, K.; Hammond, P.; Böker, F.: Mathematik für Wirtschafts- wissenschaftler. 27


Herunterladen ppt "WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte."

Ähnliche Präsentationen


Google-Anzeigen