Vortrag im Rahmen des Seminars

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Fast Fourier Transformation
Matrixmultiplikation
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Vorlesung Programmieren II
Polynomial Root Isolation
Statistische Aspekte der PSG
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. W. Conen 15. November 2004
Merkblatt zur Berechnung der Gesamtqualifikation gemäß APO-GOSt B(C) gültig ab Schuljahr 2010/11 für die G8-Jahrgänge in der gymnasialen Oberstufe.
Genetische Algorithmen für die Variogrammanpassung
Hauptseminar Modellüberprüfung Kathrin Ott
Marco Barz Seminar über Algorithmen SoSe2007
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Algorithmentheorie 04 –Hashing
Algorithmentheorie 7 – Bin Packing
Kapitel 5 Stetigkeit.
Kapitel 1 Das Schubfachprinzip
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Kapitel 4 Geometrische Abbildungen
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Seminar: Architekturbeschreibungssprachen
Christian Schindelhauer
Christian Schindelhauer
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Dieter Bergmann, Lichtenfels
Recovery AIFB SS (1/8) Sicherungspunkte (Checkpoints) (1/8) (1) Transaktions-Orientierte Sicherungspunkte Transaction-Oriented Checkpoint.
Grundschutztools
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Grundkurs Theoretische Informatik
Vorlesung: Biometrie für Studierende der Veterinärmedizin
5 Methoden und Werkzeuge zur Prozessmodellierung
Subnetting – einfach! Die Grundlagen werden
Neue variable Lernkontrollen mit Diagnose und Förderplanung
1 Fachtagung am Seniorenorientiertes Design und Marketing ThyssenKrupp Immobilien Design for all - Anpassungen im Wohnungsbestand 1.Demographie.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Beschreibung der energetischen Zustände der Elektronen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Polynome und schnelle Fourier-Transformation
Fehler in Rechnernetzen
Auslegung eines Vorschubantriebes
Analyse von Ablaufdiagrammen
UML-Kurzüberblick Peter Brusten.
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Zustandsübergangsdiagramme (1)
Analyseprodukte numerischer Modelle
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Analyse der Laufzeit von Algorithmen
Stochastik Grundlagen
Vs41 4 Verteilte Algorithmen. vs42 Prozesse als Systemkomponenten:  Spezifikation eines Prozesses ? (Vgl. Spezifikation eines ADT) syntaktisch:z.B. Ports.
Der Wiener Prozess und seltene Ereignisse
Detaillierte Beschreibung der Vorgehensweise in der Ablaufplanung und Terminplanung Abbildung: Vorgehensweise bei der Ablauf- und Terminplanung.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
 Präsentation transkript:

Vortrag im Rahmen des Seminars Verteilte Snapshots Vortrag im Rahmen des Seminars Parallele und verteilte Programmierung Matthias Bedarff

Agenda Einleitung Grundlagen Festhalten von globalen Zuständen Globale Zustände in verteilten Systemen Modell eines verteilten Systems Festhalten von globalen Zuständen Chandy-Lamport Algorithmus Eigenschaften festgehaltener Schnappschüsse Zusammenfassung

Agenda Einleitung Grundlagen Festhalten von globalen Zuständen Globale Zustände in verteilten Systemen Modell eines verteilten Systems Festhalten von globalen Zuständen Chandy-Lamport Algorithmus Eigenschaften festgehaltener Schnappschüsse Zusammenfassung

Einleitung „Computersysteme durchleben eine Revolution“ (A. Tanenbaum 2004) bis in die Mitte der 80er-Jahre waren Computer groß und teuer Unternehmen hatten nur wenige Computer Computer arbeiten unabhängig voneinander Fortschritte in der Entwicklung günstigere Mikroprozessoren leistungsfähigere Computernetzwerke  günstige Computer zu Computersystemen zusammenstellen Verteilte Systeme Globaler Zustand: Zustand des gesamten verteilten Systems zu einem gewissen Zeitpunkt Schnappschuss: festgehaltener globaler Zustand

Agenda Einleitung Grundlagen Festhalten von globalen Zuständen Globale Zustände in verteilten Systemen Modell eines verteilten Systems Festhalten von globalen Zuständen Chandy-Lamport Algorithmus Eigenschaften festgehaltener Schnappschüsse Zusammenfassung

Globale Zustände in verteilten Systemen (1/2) Gründe für das Erstellen von Schnappschüssen Ermittlung globaler Prädikate Deadlock Terminierung der Berechnung Erstellung von Rücksetzpunkten Wiederaufnahme der Berechnung nach Absturz Testen von verteilten Anwendungen Debuggen und Testen während Entwicklung und Wartung Prozesse physikalisch getrennt kein gemeinsamer Speicher keine gemeinsame Uhr Nachrichtenkanäle besitzen abweichende Verzögerungen  perfekt synchronisierter Schnappschuss nicht möglich

Globale Zustände in verteilten Systemen (2/2) Schnappschuss einer Überweisung Nach dem Fortsetzen der Berechnung mit dem festgehaltenen Zustand:  100 € zuviel im verteilten System

Modell eines verteilten Systems (1/5) Bestandteile eines verteilten Systems Prozesse (Anzahl begrenzt) Nachrichtenkanäle zwischen Prozessen (Anzahl begrenzt) gerichtet (Übertragung nur in eine Richtung möglich) Nachrichtenpuffer ist unbegrenzt Empfangsreihenfolge entspricht Absendereihenfolge (FiFo) Lokale Zustände Prozess besitzt einen Anfangszustand  { Anfangszustand }  { alle eingetretenen Ereignisse } Nachrichtenkanal zu Beginn einer verteilten Berechnung leer  { seit Beginn verschickte Nachrichten } \ { bereits empfangene Nachrichten }

Modell eines verteilten Systems (2/5) Ereignis unteilbare Aktivität, die den lokalen Zustand verändert gehört zu einem einzigen Prozess betrifft höchstens einen Kanal (falls ein Kanal betroffen, dann Versand oder Empfang einer Nachricht) Formal: Ein Ereignis e für einen Prozess p s ist der lokale Zustand von p unmittelbar vor dem Eintreten von e s' ist der lokale Zustand von p unmittelbar nach dem Eintreten von e falls kein Kanal betroffen: c und M sind null falls ein Kanal betroffen: c ist der veränderte Kanal M ist die versendete oder empfangene Nachricht

Modell eines verteilten Systems (3/5) Globaler Zustand setzt sich aus lokalen Zuständen aller Prozesse und Nachrichten-kanäle zusammen  Globalen Anfangszustand: alle Prozesse befinden sich in ihrem jeweiligen Anfangszustand alle Nachrichtenkanäle sind leer Nächster globaler Zustand Funktion next(S, e) beschreibt die Auswirkung des Ereignisses e Voraussetzungen verteiltes System befindet sich in dem globalen Zustand S Ereignis e kann in S eintreten (d. h. Prozess p befindet sich in s)

Modell eines verteilten Systems (4/5) Kanal c geht aus Prozess p heraus Kanal c geht in Prozess p herein

Modell eines verteilten Systems (5/5) Berechnung Abfolge von n Ereignissen aller Prozesse eines verteilten Systems falls jedes ei in Si eintreten kann  stellt seq die Berechnung eines verteilten Systems dar und es gilt

Konsistente Schnappschüsse (1/3) Grund für Inkonsistenz im Überweisungsbeispiel Konto 1 kennt Nachricht nicht Konto 2 hat Nachricht bereits empfangen, die sich noch im Kanal 1 befindet

Konsistente Schnappschüsse (2/3) Voraussetzungen für Konsistenz für die Prozesse p und q und einen Kanal c zwischen p und q gilt: 1. n = | { verschickte Nachrichten im festgehaltenen lokalen Zustand von p } | 2. n' = | { verschickte Nachrichten im festgehaltenen lokalen Zustand von c } | 3. m = | { empfangene Nachrichten im festgehaltenen lokalen Zustand von q } | 4. m' = | { empfangene Nachrichten im festgehaltenen lokalen Zustand von c } | (Erfassung erfolgt unmittelbar vor Aufzeichnung) Hiermit muss gelten: 1. n = n' 2. m = m' 3. n'  m'  Konsistenter Zustand: n  m „Anzahl der von p gesendeten Nachrichten muss mindestens so groß sein wie die Anzahl der von q empfangenen Nachrichten“

Konsistente Schnappschüsse (3/3) Schnappschüsse im Prozess-Zeit-Diagramm sij ist der j-te lokale Zustand des Prozesses pi {s11, s21, s31} ist ein streng konsistenter Schnappschuss {s11, s22, s32} ist ein inkonsistenter Schnappschuss {s12, s23, s33} ist ein konsistenter Schnappschuss

Agenda Einleitung Grundlagen Festhalten von globalen Zuständen Globale Zustände in verteilten Systemen Modell eines verteilten Systems Festhalten von globalen Zuständen Chandy-Lamport Algorithmus Eigenschaften festgehaltener Schnappschüsse Zusammenfassung

Chandy-Lamport Algorithmus (1/3) Pseudo-Code Darstellung des Algorithmus

Chandy-Lamport Algorithmus (2/3) Terminierung des Algorithmus Voraussetzungen: 1. kein Marker darf endlos in einem eingehenden Kanal verbleiben 2. Aufzeichnung eines lokalen Zustands muss in endlicher Zeit erfolgen 3. Prozessgraph muss zusammenhängend sein (Weg von einem beliebigen Prozess zu jedem anderen existiert)  Marker wird von allen Prozessen über jeden eingehenden Kanal empfangen Verteilung der lokalen Zustände Verschiedene Strategien: Jeder Prozess sendet seinen lokalen Zustand … nur in Richtung des initiierenden Prozesses über alle ausgehenden Kanäle an alle Prozesse an eine Gruppe von Prozessen

Chandy-Lamport Algorithmus (3/3) Aufwand des Algorithmus Betrachtung der Aufzeichnung der lokalen Zustände O(e) Nachrichten, wobei e die Anzahl der Nachrichtenkanäle ist O(d) Zeit, wobei d der Durchmesser des Prozessgraphs darstellt Aufwand für Verteilung hängt von gewählter Strategie ab

Eigenschaften festgehaltener Schnappschüsse (1/6) Festgehaltener Schnappschuss  globaler Zustand

Eigenschaften festgehaltener Schnappschüsse (2/6) Fragestellung 1. Lässt sich der festgehaltene Zustand vom Initiierungszustand des Algorithmus erreichen? 2. Lässt sich der Zustand bei Terminierung des Algorithmus vom festgehaltenen Zustand erreichen? Formale Definitionen verteilte Berechnung seq = (ei, 0  i) Si globaler Zustand unmittelbar vor Eintritt von ei, 0  i S globaler Zustand bei Initiierung des Algorithmus S globaler Zustand bei Terminierung des Algorithmus S* festgehaltener Schnappschuss Zu beweisen: 1. S* ist erreichbar von S 2. S ist erreichbar von S*

Eigenschaften festgehaltener Schnappschüsse (3/6) Behauptung verteilte Berechnung seq' = (ei', 0  i) existiert, für die gilt: 1. i, i    i : ei' = ei 2. (ei',   i  ) ist Permutation von (ei,   i  ) 3. i, i    i : Si' = Si 4. k,   k   : S* = Sk' Vorgehensweise Einteilung aller Ereignisse in zwei Gruppen: 1. vor Aufzeichnung stattfindende Ereignisse, falls der lokale Zustand des betroffenen Prozesses nach dem Eintreten aufgezeichnet wurde 2. nach Aufzeichnung stattfindende Ereignisse, falls der lokale Zustand des betroffenen Prozesses vor dem Eintreten aufgezeichnet wurde  ei, i   sind vor Aufzeichnung stattfindende Ereignisse ei, i   sind nach Aufzeichnung stattfindende Ereignisse

Eigenschaften festgehaltener Schnappschüsse (4/6) Vorgehensweise (Fortsetzung) nach Aufzeichnung stattfindendes ej-1 kann vor einem vor Aufzeichnung stattfindendem ej stattfinden mit   j    Bedingung: ej-1 und ej ereignen sich auf verschiedenen Prozessen Permutation der Ereignisse Ziel: alle vor Aufzeichnung stattfindenden Ereignisse liegen vor den nach Aufzeichnung stattfindenden Ereignissen  durch Verschieben von e0 gilt S* = S2'  Ist diese Permutation erlaubt? Wird immer S* erreicht?

Eigenschaften festgehaltener Schnappschüsse (5/6) Beweis, dass … Permutation erlaubt ist: Voraussetzung: ej-1 beeinflusst nicht ej  in ej wird keine in ej-1 verschickte Nachricht empfangen  Prozess des ej müsste zuvor einen Marker von dem Prozess des ej-1 erhalten haben ein zu S* äquivalenter globaler Zustand erreicht wird: lokale Zustände der Prozesse nach Definition muss der lokale Zustand eines Prozesses aus den vor Aufzeichnung stattfindenden Ereignissen bestehen lokale Zustände der Nachrichtenkanäle nur bei Prozessen mit mehreren eingehenden Kanälen relevant Aufzeichnung eines Kanals c … beginnt nach Empfang eines Markers über den ersten weiteren Kanal und endet mit Empfang eines Markers über Kanal c selbst  ergibt sich nach dem letzten vor Aufzeichnung stattfindenden Ereignis

Eigenschaften festgehaltener Schnappschüsse (6/6) Gültigkeit globaler Prädikate in Schnappschüssen Betrachtung eines globalen Prädikats y(S) y(S)  endgültig und endgültig  y(S)  Prädikat kann nur auf wahr wechseln Betrachtung eines Schnappschusses S* y(S)  y(S*)  y(S) Begründung, da S* von S und S von S* erreichbar ist  ein in S* gültiges Prädikat ist auch nach Terminierung gültig

Agenda Einleitung Grundlagen Festhalten von globalen Zuständen Globale Zustände in verteilten Systemen Modell eines verteilten Systems Festhalten von globalen Zuständen Chandy-Lamport Algorithmus Eigenschaften festgehaltener Schnappschüsse Zusammenfassung

Zusammenfassung Bedarf nach Möglichkeit Schnappschüsse zu erstellen Fortschritte in der Entwicklung machten verteilte Systeme möglich Gründe: globale Prädikate, Rücksetzpunkte und Testen Chandy-Lamport Algorithmus konsistenter Schnappschuss Schnappschuss muss keinem realen globalen Zustand entsprechen aber aufgezeichneter Schnappschuss und Zustand bei Terminierung sind von dem Zustand bei Initiierung erreichbar  globale Prädikate sind auch nach Terminierung gültig Modifikationen und Erweiterungen des Algorithmus bei schwächeren Annahmen an Nachrichtenkanäle parallele Ausführung des Algorithmus wiederholte Ausführung des Algorithmus

Vielen Dank für Ihre Aufmerksamkeit! Bestehen noch Fragen?