Verteilte Systeme. 7. Fehlertoleranz

Ähnliche Dokumente
Motivation für Fehlertoleranz in VS Fehlermodelle Erreichen von Fehlertoleranz. Verteilte Systeme. 7. Fehlertoleranz

Verteilte Systeme Prof. Dr. Stefan Fischer. Überblick. Sinn der Replikation. TU Braunschweig Institut für Betriebssysteme und Rechnerverbund

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 13. Fehlertoleranz. Verteilte Systeme, Sommersemester 1999 Folie 13.

Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit Frank Mattauch

Fehlertolerante Systeme

Verteilte Systeme F. Fehlertoleranz

The Byzantine Generals' Problem

Verteilte Systeme - 5. Übung

Ziele der Replikation Unterschiedliche Replikationsanforderungen Replikationsmodelle. Verteilte Systeme. 6. Konsistenz und Replikation

Vor- und Nachteile der Fehlermaskierung

Geschichte der Netze und verteilten Systeme. Gründe für die Nutzung verteilter Systeme. Wünschenswerte Eigenschaften verteilter Systeme

Fehlertolerante und Selbstheilende Systeme. Redundanztechniken

Die Byzantinischen Generäle

Algorithmus von Berkeley (1989)

Grundlagen des Datenschutzes und der IT-Sicherheit

VS2 Slide 1. Verteilte Systeme. Vorlesung 2 vom Dr. Sebastian Iwanowski FH Wedel

Redundanzen. Verfügbarkeit = MTBF / (MTBF + MTTR)

Formale Grundlagen der Fehlertoleranz in verteilten Systemen

Seminar: Fehlertolerante und Selbstheilende Systeme

conjectmi Sicherheitskonzept

Verteilte Systeme. 6. Konsistenz und Replikation

Dipl.-Inf. (FH) Thomas Noone

Klausur Verteilte Systeme SS 2004 Iwanowski

Fehlertolerante verteilte Systeme, Peer-To-Peer Netzwerke

Atomare Commit-Protokolle. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1

Die Dienstleistung Servermanagement umfasst die Bereitstellung und den Betrieb von Servern an der ETH.

Verteilte Betriebssysteme

Virtualisierung und Hochverfügbarkeit

Überblick. Zeit Motivation Konvergenz-Algorithmus CNV Network Time Protocol (NTP) Logische Uhren. c td VS (SS17) Zeit 8 1

TAV Übung 3. Übung 3: Verteilte Datenhaltung

Fehlertoleranzmechanismen in hochverfügbaren Clustersystemen

1.1 IPSec - Sporadische Panic

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011. Tabellen mit ASIL Zuordnungen

Verteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase

Verteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme NTP) Verteilte Systeme, Sommersemester 1999 Folie 4.2

Entwurfsmuster und Softwarearchitekturen für sicherheitskritische Systeme

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Überblick. Zeit Motivation Network Time Protocol (NTP) Logische Uhren. c td VS (SS16) Zeit 9 1

Neuer Funkrufmaster: DAPNET Folien: Daniel Sialkowski und Ralf Wilke. 2. Hamnettagung in Aachen,

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci

Servicebeschreibung Serverhousing physischer Kundensysteme in den zentralen Serverräumen des ZIM

Exchange Server Der schnelle Einstieg

Modellbasierte Software- Entwicklung eingebetteter Systeme

Klausur zu Verteilte Anwendungen SS 2004 (Prof. Dr. J.Schlichter, Dr. W.Wörndl)

Intern: Ceph Kurzeinführung in die verteile Storage-Lösung

Zeitgesteuerte Kommunikationssysteme für Hard-Real-Time Anwendungen. Jörn Sellentin

Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner

1-2. Gründe für die Nutzung verteilter Systeme. Wünschenswerte Eigenschaften verteilter. Definition des Begriffs Verteilte Systeme

Inhalt. 1 Einleitung (Introduction) 3 2 Voraussetzungen für diesen Service 3 3 Leistungsbeschreibung (Service Description) 4 4 Service Transition 5

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Internetanwendungstechnik. TCP/IP- und OSI-Referenzmodell. Gero Mühl

Anbei ist die Auflistung der Themen, die ich noch in Erinnerung habe:

Zuverlässige Systeme Fehlertoleranz

Abkürzungen. Kapitel 1 - Einleitung Stand der Automobilelektronik Historische Entwicklung Gegenwärtige Probleme 2

Einsatz von Replikation. Florian Munz

Einleitung Performance Netzwerk Leistungsaufnahme Skalierbarkeit Sicherheit Zuverlässigkeit Kompatibilität. Ziele und Maße. Dr.-Ing.

das Haus - Vokabeln der Schornstein die Toilette Verben wohnen Andere Wörter die Einfahrt

100 Trying Ein Anruf wird zu vermitteln versucht. Anruf wird weitergeleitet

Synchroner Spiegel & Applikationsverfügbarkeit. Johan van den Boogaart

8.4 Das Andrew File System Ausblicke Zusammenfassung 410 Übungen 411

Fehlercodes an der Maschine

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL02: Einführung in die Virtualisierung

Management Cluster und MU-Redundanz

TCP Teil 2. TCP Teil 2: Tilmann Kuhn Betreuer: Dr. Thomas Fuhrmann 1/18

Thomas Schön Albert-Ludwigs-Universität Freiburg

Adressauflösung. IP Adresse Physikalische Adresse :FF:AA:36:AB: :48:A4:28:AA:18

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91

Architektur von SOAP basierten Web Services

Nicht-funktionale Anforderungen

Rechnernetze Übung 11

1. Einführung, Problemstellung und Überblick Rechnernetze

Transkript:

Verteilte Systeme 7. Fehlertoleranz Sommersemester 2011 Institut für Betriebssysteme und Rechnerverbund TU Braunschweig Dr. Christian Werner Bundesamt für Strahlenschutz

7-2 Überblick Motivation für Fehlertoleranz in VS Fehlermodelle Erreichen von Fehlertoleranz Ausfallsicherheit von Prozessen Zuverlässiger Remote Procedure Call

7-3 Fehlertoleranz Charakteristische Eigenschaft verteilter Systeme: partielle Fehler/Ausfälle (anders als Ein-Maschinen-Systeme) Durch partielle Fehler können Komponenten beeinflusst werden, während andere problemlos weiter arbeiten können Daher Ziel in vert. Systemen: konstruiere System so, dass es partielle Ausfälle verkraften kann, ohne dass die Leistungsfähigkeit zu sehr leidet Insbesondere sollte es während der Reparatur weiter arbeiten Das System ist dann fehlertolerant (fault-tolerant)

7-4 Verlässliche Systeme Fehlertoleranz hängt eng mit verlässlichen Systemen zusammen. Verlässlichkeit umfasst mehrere Konzepte: Verfügbarkeit: das System ist sofort benutzbar Zuverlässigkeit: das System läuft fortwährend ohne Fehler Sicherheit (Safety): nothing bad happens Wartbarkeit: sagt aus, wie leicht und schnell ein ausgefallenes System repariert werden kann Die Fähigkeit, verlässliche Systeme zu bauen, hängt stark von der Fähigkeit ab, auf Ausfälle reagieren zu können.

7-5 Fehlermodelle Zweck: Klassifikation von Fehlern Angabe der Fehlertoleranz von Programmen mit Bezug auf die Fehlerklassen Type of failure Crash failure Omission failure Receive omission Send omission Timing failure Response failure Value failure State transition failure Arbitrary failure Description A server halts, but is working correctly until it halts A server fails to respond to incoming requests A server fails to receive incoming messages A server fails to send messages A server's response lies outside the specified time interval The server's response is incorrect The value of the response is wrong The server deviates from the correct flow of control A server may produce arbitrary responses at arbitrary times

7-6 Maskierung von Fehlern Beste Vorgehensweise: Verbergen der Fehler vor anderen Komponenten (Maskierung) Wird erreicht durch Redundanz Informationsredundanz: - Verwendung zusätzlicher Bits, um den möglichen Ausfall anderer Bits abzufangen - Beispiele: Forward Error Correction, Audio-CD Zeitliche Redundanz: - Wiederholung von Aktionen - Beispiel: Transaktionen Physische Redundanz - Zusätzliche Hardware oder Prozesse

7-7 Maßnahmen zur Steigerung der Fehlertoleranz Wie kann man Fehlertoleranz erreichen? Basismechanismus: Replikation, daher enger Zusammenhang zu Fehlertoleranz!

7-8 Prozess-Ausfallsicherheit Generelles Vorgehen: Replikation von Prozessen (die dann die gleiche Aufgabe erfüllen) Zusammenfassung in Prozessgruppen Ergebnis: fehlertolerante Gruppe von Prozessen Wird eine Nachricht an die Gruppe geschickt, bekommt jeder Prozess die Nachricht Wir betrachten Organisation der Gruppen Fehlermaskierung und Replikation Erzielung von Übereinstimmung in fehlerhaften Systemen

7-9 Gruppenorganisation Dynamische Gruppen Können erzeugt und gelöscht werden Prozesse können ein- und austreten Prozesse können Mitglied mehrerer Gruppen sein Zweck des Einsatzes von Gruppen: Abstraktion von den Einzelprozessen, Darstellung gegenüber der Außenwelt als eine Einheit Gruppenorganisation: strukturlos oder Hierarchisch (ein Koordinator)

7-10 Gruppenorganisation Kein single-point-of-failure Jede Entscheidung erfordert Abstimmung Schneller im Normalbetrieb Problem bei Ausfall des Koordinators

7-11 Maskierung von Fehlern Anwendung der Replikationsstrategien Primary-Based: - Koordinator, der alle Write-Operationen koordiniert - Wenn der Koordinator abstürzt, wählen die übrigen Prozesse einen neuen Active Replication: - Passt gut zu flachen Gruppen Wichtige Frage: wieviel Replikation ist nötig? Hängt stark vom Fehlerverhalten ab Wenn Prozesse byzantinische Fehler zeigen, dann benötigt man 2k+1 Prozesse, um k Fehler abfangen zu können Kann man aber so genau sagen, dass maximal k Fehler auftreten? -> statistische Analysen

7-12 Übereinstimmung in fehlerhaften Systemen Problem: wie kommt man zu einer Übereinstimmung über eine durchzuführende Aktion im Fall Perfekte Prozesse, aber fehlerhafte Kommunikationskanäle Fehlerhafte Prozesse, aber perfekte Kommunikation Analogien: Das 2-Armeen-Problem Das Problem der byzantinischen Generäle

7-13 Das 2-Armeen-Problem A B Blau will rot angreifen, kann aber nur gemeinsam gewinnen (Überzahl) Notwendig: Abstimmung über Zeitpunkt des Angriffs Bote muss durch das rote Lager, kann gefangen werden -> unzuverlässige Übertragung Welches Problem hat B, wenn der Bote sicher bei A angekommen ist? Man kann zeigen, dass die beiden Prozesse nicht zu einer Übereinstimmung kommen können.

7-14 Die byzantinischen Generäle Szenario: rote Armee im Tal, n blaue Armeeteile in den Hügeln Kommunikation über zuverlässige Verbindung (Telefon) Problem: m der n Generäle sind Verräter, versuchen die Übereinstimmung der anderen zu verhindern Frage: können die loyalen Generäle trotzdem eine Übereinstimmung erzielen? Unser Freund Lamport hat auch hierzu eine Lösung. Funktioniert, wenn mehr als 2/3 aller Generäle loyal sind. Beispiel: Übereinstimmung über die Truppenzahl soll erreicht werden

7-15 Lösung für die Generäle Szenario: n=4, m=1 G1, G2 und G4 nennen die korrekte Stärke, G3 lügt zu allen 4 Schritte Schritt 1 (Bild (a)): alle Generäle melden ihre Stärke an alle anderen in Schritt 2 Ergebnis in Vektor Bild (b) Schritt 3: jeder General meldet seinen Vektor aus (b) an alle anderen (G3 lügt wieder heftig) Ergebnis in (c) Schritt 4: Jeder General überprüft die Spalten, wenn es eine Mehrheit gibt, ist der Wert korrekt Übereinstimmung: (1,2,unknown, 4)

7-16 Zusammenfassung Fehlertoleranz ist ein wichtiges Konzept in verteilten Systemen Es gibt viel mehr Fehlerquellen als in zentralisierten Systemen Das System funktioniert möglicherweise trotz teilweiser Fehler. Wir haben exemplrisch Lösungen betrachtet für die Koordination von redundanten Prozessen.

7-17 Diskussion