Top Banner
1 Entwurf von Ergebnisprüfern für parallel laufende Programme René Nissing
36

Entwurf von Ergebnisprüfern für parallel laufende Programme

Jan 12, 2016

Download

Documents

zona

Entwurf von Ergebnisprüfern für parallel laufende Programme. René Nissing. Gliederung. Einführung Grundlagen der Parallelrechnerarchitektur das parallele Ergebnisprüfer-Modell parallele Ergebnisprüfer Zusammenfassung. Gliederung. Einführung Grundlagen der Parallelrechnerarchitektur - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Entwurf von Ergebnisprüfern für parallel laufende Programme

1

Entwurf von Ergebnisprüfern für parallel laufende Programme

René Nissing

Page 2: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 2

Gliederung

Einführung Grundlagen der Parallelrechnerarchitektur das parallele Ergebnisprüfer-Modell parallele Ergebnisprüfer Zusammenfassung

Page 3: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 3

Gliederung

Einführung Grundlagen der Parallelrechnerarchitektur das parallele Ergebnisprüfer-Modell parallele Ergebnisprüfer Zusammenfassung

Page 4: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 4

Einführung

Methoden zur Prüfung der Fehlerfreiheit eines Programms: formaler Beweis

mathematischer Beweis aufstellen Nachteil

schwer auffindbar Ergebnisprüfer

Korrektheit des Ergebnis Realtime Beurteilung Nachteil:

Aufblähung des Programmcodes Verlängerung Laufzeit

Komplexität von parallelen Programmen parallele Mittel ausschöpfen Uneffektivität eines sequentiellen Ergebnisprüfers für parallele

Programme

Page 5: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 5

Gliederung

Einführung Grundlagen der Parallelrechnerarchitektur das parallele Ergebnisprüfer-Modell parallele Ergebnisprüfer Zusammenfassung

Page 6: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 6

Grundlagen der Parallelrechnerarchitektur

Zielsetzungen und Einsatzbereiche der Parallelverarbeitung Rechnermodelle

RAM PRAM CRCW PRAM

Page 7: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 7

Zielsetzungen der Parallelverarbeitung Rechenzeiten verringern höhere Zuverlässigkeit

Einsatzbereiche der Parallelverarbeitung Simulation komplexer Phänomene, wie z.B. im Bereich der

Bildverarbeitung, Halbleiterentwicklung oder Strömungssimulation.

Grundlagen der Parallelrechnerarchitektur

Page 8: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 8

Grundlagen der Parallelrechnerarchitektur

Einsatzbereich: Beispiel Verarbeitung und Visualisierung von meteorologischen Daten

(z.B. Wettervorhersage)

Berücksichtigung von Temperatur, Luftdruck, Windgeschwindigkeit … große Menge an Daten verarbeiten, um gute Prognosen zu machen

Page 9: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 9

Rechnermodelle RAM

Grundlagen der Parallelrechnerarchitektur

Page 10: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 10

Rechnermodelle PRAM

besteht aus mehreren RAM´s

n identische Prozessoren

Zugriff auf gemeinsamen Speicher

gemeinsamer Takt => gleichzeitige Ausführung von Operationen

Grundlagen der Parallelrechnerarchitektur

Page 11: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 11

Rechnermodelle PRAM

mögliche Konflikte Aufteilung des Befehlszyklus:

Speicher lesen, Operation ausführen und Speicher schreiben

Zugriffskonflikte Operation ausführen: unkritisch Konflikte beim gemeinsamen Lesen oder Schreiben verschiedene Optionen für PRAM´s

Grundlagen der Parallelrechnerarchitektur

Page 12: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 12

Grundlagen der Parallelrechnerarchitektur

Rechnermodelle CRCW PRAM

vier Optionen für PRAM´s: Exclusive read (ER) Exclusive write (EW) Concurrent read (CR) Concurrent write (CW)

durch Kombination vier PRAM-Varianten: EREW-PRAM CREW-PRAM ERCW-PRAM CRCW-PRAM

Page 13: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 13

Rechnermodelle CRCW PRAM

bei Schreibkonflikten vier Lösungsansätze: Common (C-CRCW) Arbitrary (A-CRCW) Minimum (M-CRCW) Priority (P-CRCW)

Alle Beispiele aus Techniken sind (A-) oder (P-) CRCW PRAM

Grundlagen der Parallelrechnerarchitektur

Page 14: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 14

Gliederung

Einführung Grundlagen der Parallelrechnerarchitektur das parallele Ergebnisprüfer-Modell parallele Ergebnisprüfer Zusammenfassung

Page 15: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 15

Das parallele Ergebnisprüfer-Modell

Definition: probabilistischer Ergebnisprüfer Voraussetzungen:

P ein Programm (auch Orakel genannt), das eine Funktion f berechnen soll

x der betrachtete Eingabewert α der Konfidenzparameter

Page 16: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 16

Definition: Ein probabilistischer Ergebnisprüfer für die Funktion f ist ein

probabilistisches Orakel-Programm RPf mit Orakel P, das

verifiziert, ob P das richtige Ergebnis bei einem gegebenen Eingabewert x ausgibt, wenn:

P(x) <> f(x), dann gibt RPf mit einer Wahrscheinlichkeit ≥

1- α "FAIL" aus P korrekt ist für jeden Eingabewert, dann gibt RP

f mit einer Wahrscheinlichkeit ≥ 1- α "PASS" aus

dabei darf der Ergebnisprüfer nur eine polynomielle Anzahl an Prozessoren benutzen

Das parallele Ergebnisprüfer-Modell

Page 17: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 17

Das parallele Ergebnisprüfer-Modell

P so oft wie gewünscht aufrufen P ist Black-Box Mehrfachausführung des Programms P kein Argument Ergebnisprüfer <> Programm

Page 18: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 18

Ergebnisprüfer muss sich vom zu prüfenden Programm unterscheiden

Definition: quantifiably different Annahmen:

d(n) ist die Laufzeit des parallelen Programms, das f berechnet bei einer Größe n des Eingabewerts

p(n) ist die Anzahl an genutzten Prozessoren bei einer Laufzeit d(n)

Der Ergebnisprüfer RPf ist quantifiably different , wenn:

die Prüfungslaufzeit o(d(n)) ist oder gleichzeitig die Prüfungslaufzeit O(d(n)) ist und die Anzahl der

Prozessoren zum Überprüfen o(p(n)) ist. alle behandelten Ergebnisprüfer sind quantifiably different

Das parallele Ergebnisprüfer-Modell

Page 19: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 19

Gliederung

Einführung Grundlagen der Parallelrechnerarchitektur das parallele Ergebnisprüfer-Modell parallele Ergebnisprüfer Zusammenfassung

Page 20: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 20

parallele Ergebnisprüfer

Techniken 1. Berechnung durch zufällige Eingabewerte (random inputs) 2. Konsistenzbeweis

Page 21: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 21

parallele Ergebnisprüfer

1. Technik: Berechnung durch zufällige Eingabewerte Programm P berechnet Funktion f bei Eingabewert x „kompatible“ Eingabewerte symmetrische Funktionen

Page 22: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 22

parallele Ergebnisprüfer

Berechnung durch zufällige Eingabewerte Definition (symmetrische Funktionen):

Symmetrische Funktionen sind n-Bit Funktionen, deren Ausgabewert nur von der Anzahl 1´en aus der Eingabe abhängt

Wertetabelle t0,...,tn ti: Ausgabewert der symmetrischen Funktion, wenn genau i der

Eingabebits 1´en sind Beispiel: Majoritäts-Funktion

Page 23: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 23

parallele Ergebnisprüfer

Permutationen des Eingabewerts Beispiel Berechnung durch zufällige Eingabewerte

symmetrische Funktion f Eingabewerte: Eine Liste von n Bits â = a1,a2,...,an und eine

Wertetabelle t0,...,tn

Ausgabewert: b = tl wobei

Page 24: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 24

parallele Ergebnisprüfer

Berechnung durch zufällige Eingabewerte Partitionieren in n+1 Äquivalenzklassen Zuteilung Äquivalenzklasse Phase 1: Prüft, ob Ergebnis mit mehr als ½ der Elemente aus

Äquivalenzklasse konsistent Phase 2: Prüft, ob P bei mehr als ½ der Elemente aus jeder

Äquivalenzklasse das richtige Ergebnis liefert

Page 25: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 25

Algorithmus

Page 26: Entwurf von Ergebnisprüfern für parallel laufende Programme

26

Eingabe EProgramm

PAusgabe A

E1

E2

Ek

ProgrammP

ProgrammP

ProgrammP

A1

A2

Ak

Comparer

A <> A1, A2, …, Ak ?

Gib „PASS“ aus

Gib „FAIL“ ausja

nein

Phase 1

…… …

ParalleleBerechnung von

kPermutationen

Page 27: Entwurf von Ergebnisprüfern für parallel laufende Programme

27

j=1100…00

Phase 2

……

…Parallele

Berechnung vonk

Permutationen

j=n-1111…10

j=2110…00

j=n111…11

Prozessor 1 von kπ1(100…00)

Prozessor 1 von kπ2(100…00)

Prozessor 1 von kπk(100…00)

P

P

P

A1 = t1

A2 = t2

Ak = tk

Gib „FAIL“ ausGib „PASS“ aus

ja nein

Page 28: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 28

parallele Ergebnisprüfer

Berechnung durch zufällige Eingabewerte Beweis der Korrektheit des Ergebnisprüfers

P korrekt: „PASS“ zu prüfen: wenn P fehlerhaft: „FAIL“ Annahme: P liefert bei der Berechnung des Eingabewertes â

einen falschen Wert zu zeigen: Der Ergebnisprüfer gibt mit einer Wahrscheinlichkeit

≥ 1-α "FAIL" aus

Page 29: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 29

parallele Ergebnisprüfer

Berechnung durch zufällige Eingabewerte Beweis der Korrektheit des Ergebnisprüfers

Sei r die Anzahl der 1´en des Eingabewertes â 1. Annahme: P liefert bei mehr als ½ der Eingabewerte mit r 1

´en die richtige Antwort Wahrscheinlichkeit ≥ 1-α: eine Inkonsistenz in Phase 1 2. Annahme: P gibt bei mehr als ½ der Eingabewerte mit r 1

´en die falsche Antwort aus Wahrscheinlichkeit ≥ 1- α: die r-te Gruppe Prozessoren findet in

Phase 2 heraus, dass das Programm P fehlerhaft ist

Page 30: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 30

parallele Ergebnisprüfer

Berechnung durch zufällige Eingabewerte Laufzeitanalyse Ergebnisprüfer

Prüflaufzeit ist O(log*n) Anzahl der Prozessoren ist O(n2).

Page 31: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 31

parallele Ergebnisprüfer

2. Technik: Konsistenz gewährleisten dynamische Programmierung Aufteilen der Eingabemenge Ausgabewert zusammenbauen Wertetabelle füllen Konsistenz der Einträge

Page 32: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 32

parallele Ergebnisprüfer

Konsistenz gewährleisten Longest Common Subsequence-Problem Eingabewert: Zwei Zeichenfolgen x = x1x2x3...xn und y = y1y2y3...yn Ausgabewert: Die Länge der längsten gemeinsamen

Zeichensequenz lcs(l,k) die längste gemeinsame Zeichensequenz von xlxl+1...xn und

ykyk+1...yn

Wertetabelle aufbauen

Page 33: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 33

Algorithmus

Page 34: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 34

parallele Ergebnisprüfer

Konsistenz gewährleisten Laufzeitanalyse:

die Prüflaufzeit ist O(1) die Anzahl der Prozessoren ist O(n3)

Page 35: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 35

Gliederung

Einführung Grundlagen der Parallelrechnerarchitektur das parallele Ergebnisprüfer-Modell parallele Ergebnisprüfer Zusammenfassung

Page 36: Entwurf von Ergebnisprüfern für parallel laufende Programme

parallele Ergebnisprüfer René Nissing 36

Grundlagen der Parallelrechnerarchitektur RAM PRAM CRCW PRAM

das parallele Ergebnisprüfer-Modell probabilistischer Ergebnisprüfer quantifiably different

parallele Ergebnisprüfer 1.Technik: Berechnung durch zufällige Eingabewerte 2.Technik: Konsistenz prüfen

Zusammenfassung