Redundanz und Replikation



Ähnliche Dokumente
Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System

Fehlertoleranz auf Basis des Hypervisors

Universität Karlsruhe (TH)

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

WSR Evolutionäre Umwandlung eines End-User Programms in eine profesionelle Software: Eine Fallstudie. Daniel Kulesz

Proling von Software-Energieverbrauch

Jan Parthey, Christin Seifert. 22. Mai 2003

Einführung in die technische Informatik

Manchester Codierung sowie Differenzielle Manchester Codierung

Softwarelösungen: Versuch 4

Grundlagen der Fehlerinjektion Lehrstuhl 12 Fakultät Informatik. Grundlagen der Fehlerinjektion

Grundlagen verteilter Systeme

Zuverlässige Systeme Fehlertoleranz

Prof. Dr. Norbert Pohlmann, Institut für Internet Sicherheit - if(is), Fachhochschule Gelsenkirchen. Lage der IT-Sicherheit im Mittelstand

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Virtualisierung in der Automatisierungstechnik

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

Zum Gebrauch mit QR Code-Scanner/Lesegeräten

Wasserfall-Ansätze zur Bildsegmentierung

Einführung in. Logische Schaltungen

Vorlesung Betriebstechnik/Netzplantechnik Operations Research

Risikosimulation zur Optimierung der Finanzierungsplanung von Projekten

Grundlagen der Verschlüsselung und Authentifizierung (2)

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

» Virtuelle Systeme reale Gefahren

Sehr geehrte/r Teilnehmer/in,

Software Defined Networking. und seine Anwendbarkeit für die Steuerung von Videodaten im Internet

Word-Vorlagen-System mit Outlookanbindung

Voice over IP (VoIP) PING e.v. Weiterbildung Blitzvortrag. Dennis Heitmann

26. November Dipl.- Inf. Holger Röder stuhgart.de

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

Eine molekulare Lösung des Hamiltonkreisproblems mit DNA

Comparison of Software Products using Software Engineering Metrics

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Virtuelle Maschinen Konzept von VMWare

Virtualisierung in der Automatisierungstechnik

BTD Antivirus Evasion: Von der Idee zum PoC. Daniel Sauder SySS GmbH

Testen mit JUnit. Motivation

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

Latein an der Bettinaschule

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)

emlp: e-learning Plattform und mobile Lösungen für Military Operations EUROKEY Software GmbH Ludwig Kuhn

Xesar. Die vielfältige Sicherheitslösung

ProSafe-RS sicherheitsgerichtete Technik

Applikationsvirtualisierung in der Praxis. Vortrag an der IHK Südlicher Oberrhein, Freiburg Thomas Stöcklin / 2007 thomas.stoecklin@gmx.

Verkettungen von optimalen algebraischen und sphärischen Codes bei Coderate 1/2

Grundlagen Digitaler Systeme (GDS)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

LineQuest-Leitfaden LineQuest Dialog-Portal. Generieren der LineQuest-Auswertungsdatei

Arbeitshilfe "Tipps für Gespräche mit Vorgesetzten und KollegInnen" Was gilt für mich?

Analyse und Darstellung der Protokollabläufe in IPv6-basierten Rechnernetzen

Hyper-V Replica in Windows Server 2012 R2. Benedict Berger Microsoft MVP Virtual Machine

Paravirtualisierung (2)

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester

Unterrichtsreihe: Freizeit und Unterhaltung

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Tag 2 Eingabe und Interrupts

Abrechnung via KV-SafeNet*-Portal an die KV Hessen übermitteln

Seminar: Fehlertolerante und Selbstheilende Systeme

DTS Systeme GmbH. IT Dienstleistungen das sind wir!

Von Perimeter-Security zu robusten Systemen

Aufgabenstellung für den Prüfling

Netzwerktechnologie 2 Sommersemester 2004

Redundante Dienste Idealfall und Notfalllösungen. Präsentation von Matthias Müller

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

Fragebogen zur Diplomarbeit von Thomas Friedrich

Sicherheitstage SS 2007

Einführung in die Systemprogrammierung

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Lehrer: Einschreibemethoden

Die Zukunft der Zukunftsforschung im Deutschen Management: eine Delphi Studie

Verteilte Systeme Prof. Dr. Stefan Fischer

Virtuelle Maschinen. von Markus Köbele

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Komfort vs. Sicherheit. Prof. Dr. Klaus-Peter Kossakowski HAW Hamburg // DFN-CERT Services GmbH

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

Next Generation IaaS von ProfitBricks

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

Fujitsu Siemens Computers GmbH

PIXMA MG3500. series. Einrichtungshandbuch

MÖGLICHKEITEN UND GRENZEN IN DER DYNAMISCHEN CODEANALYSE VON C++ SOFTWARE. Von Matthias Neumann

IMS - Learning Design

3.14 Die Programmieroberfläche Programmierung

Oracle 9i Real Application Clusters

Verteilte Paarprogrammierung mit Eclipse

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

DWA-140: Betrieb unter Mac OS X Über dieses Dokument. Vorbereitungen. Laden der Treiber aus dem Internet - 1 -

Standard Inhaltsverzeichnis für Testvorschrift

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

MULTI-TIER RECHENZENTRUM - EIN DESIGN DER ZUKUNFT? Patrick Pulvermüller

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

OpenProposal: Anwendervorschlägen für. 27. November 2008 WIR FORSCHEN FÜR SIE. Asarnusch Rashid Herbert Schäfler FZI Forschungszentrum

Grundlagen der Technischen Informatik. 2. Übung

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Transkript:

Redundanz und Replikation Fehlertoleranz auf Systemebene Kurt Kanzenbach Friedrich Alexander Universität Erlangen-Nürnberg 25. November 2014 1 / 29

Redundanz und Replikation Replikation Replikation: Koordinierter Einsatz von strukt. Redundanz Prinzip: Eingabe replizieren Ausführung Ausgabe vergleichen Abbildung: Replikation [1] 2 / 29

Redundanz und Replikation Motivation Redundante/Fehlertolerante Hardware ist teuer Software Lösungen für Fehlertoleranz notwendig Abbildung: Redundante Hardware [2] 3 / 29

Redundanz und Replikation Probleme bei Replikation Replikdeterminismus Deterministisches Verhalten der Replikate Gleiche Eingaben gleiche Ausgaben? Häufigkeit von Überprüfungen Wann wird repliziert? Wann wird verglichen? Isolation Wie gut sind Replikate voreinander geschützt? 4 / 29

Redundanz und Replikation Agenda 1 Instruktions-Ebene SWIFT TRUMP 2 Prozess-Ebene 3 Redundante Virtuelle Maschinen 4 Vergleich 5 Zusammenfassung 5 / 29

Instruktions-Ebene SWIFT Software-Implemented Fault Tolerance Compiler-Erweiterung Replikation von Instruktionen Duplizierte Instruktionen verwenden eigene Register Implementiert im Compiler vor Registervergabe Fehlererkennung: Vergleich von Registern 6 / 29

Instruktions-Ebene SWIFT Software-Implemented Fault Tolerance - Ein- und Ausgabe Eingabe load-instruktionen Rückgabewerte von Funktionsaufrufen Annahme: Hauptspeicher/Caches mit ECC geschützt Ausgabe store-instruktionen Argumente für Funktionsaufrufe 7 / 29

Instruktions-Ebene SWIFT Software-Implemented Fault Tolerance - Beispiel ld r3 = [r4] add r1 = r2, r3 st [r1] = r2 1: br faultdet, r4!= r4 ld r3 = [r4] 2: mov r3 = r3 add r1 = r2, r3 3: add r1 = r2,r3 4: br faultdet, r1!= r1 5: br faultdet, r2!= r2 st [r1] = r2 (a) Original Code (b) SWIFT Code Abbildung: SWIFT Beispiel [3] 8 / 29

Instruktions-Ebene SWIFT Software-Implemented Fault Tolerance - Recovery SWIFT-R = SWIFT + Recovery Dreifache Ausführung von Instruktionen Fehlermaskierung: durch Mehrheitsentscheid br faultdet majority(r, r, r ) 9 / 29

Instruktions-Ebene SWIFT Software-Implemented Fault Tolerance - Bewertung Vorteile + Universell anwendbar + Kurze Recovery-Zeiten Nachteile - Bandbreite - Isolation - Fehler in Stack Pointer/Opcodes 10 / 29

Instruktions-Ebene TRUMP Triple Redundancy Using Multiplication TRUMP Idee: Einsparung von einem Replikat 2. Replikat mit Prüfsumme versehen Basis: AN-Codes AN-Codes A ist konstant Codewort: Original A Für TRUMP: A = 3 11 / 29

Instruktions-Ebene TRUMP Triple Redundancy Using Multiplication - Beispiel ld r3 = [r4] add r1 = r2, r3 st [r1] = r2 1: call recovery, 3*r4!= r4t ld r3 = [r4] 2: mul r3t = 3, r3 add r1 = r2, r3 3: add r1t = r2t, r3t 4: call recovery, 3*r1!= r1t 5: call recovery, 3*r2!= r2t st [r1] = r2 (a) Original Code (b) TRUMP Code Abbildung: TRUMP Beispiel [3] 12 / 29

Instruktions-Ebene TRUMP Triple Redundancy Using Multiplication - Bewertung Wie bei SWIFT, zusätzlich: Vorteile + Niedrigerer Ressourcenverbrauch + Bessere Performance Nachteile - Nicht einsetzbar bei logischen Operationen - Niedrigere Zuverlässigkeit Hybrid-Techniken? [3] 13 / 29

Prozess-Ebene Überblick 1 Instruktions-Ebene SWIFT TRUMP 2 Prozess-Ebene 3 Redundante Virtuelle Maschinen 4 Vergleich 5 Zusammenfassung 14 / 29

Prozess-Ebene Process-level Recovery Zweite Möglichkeit: Prozessinkarnationen replizieren Process-level Recovery (PLR) nach Alex Shye et al. [4] SoR: Anwendung und Bibliotheken Erzeugung von redundanten Prozessinkarnationen pro Anwendung Isolation der Prozesse durch das Betriebsystem 15 / 29

Prozess-Ebene Process-level Recovery - Prinzip Abbildung: Process-level Recovery [4] 16 / 29

Prozess-Ebene Process-level Recovery - Ein- und Ausgabe Eingabe Lesende Systemaufrufe einmal ausführen Ergebnis replizieren Ausgabe Schreibende Systemaufrufe einmal ausführen Ergebnis vergleichen 17 / 29

Prozess-Ebene Process-level Recovery - Bewertung Vorteile + Frequenz der Vergleiche geringer + Keine Modifikation von Anwendung/Betriebssystem + Isolation Nachteile - Höhere Fehlererkennungslatenz - Fehler im PLR-Code/Betriebssystem - Kritische Performance bei speicherintensiven Anwendungen 18 / 29

Redundante Virtuelle Maschinen Überblick 1 Instruktions-Ebene SWIFT TRUMP 2 Prozess-Ebene 3 Redundante Virtuelle Maschinen 4 Vergleich 5 Zusammenfassung 19 / 29

Redundante Virtuelle Maschinen Hypervisor-basierte Fehlertoleranz Dritte Möglichkeit: Virtuelle Maschinen replizieren Replikation von kompletten Systemen Hypervisor-basierte Fehlertoleranz nach Bressoud und Schneider [5] SoR: Virtuelle Maschinen 20 / 29

Redundante Virtuelle Maschinen Hypervisor-basierte Fehlertoleranz - Prinzip Abbildung: RVM-System mit zwei Virtuellen Maschinen 21 / 29

Redundante Virtuelle Maschinen Hypervisor-basierte Fehlertoleranz - Protokoll Instruktionen Deterministische an Hardware weitereichen Nicht-deterministische nur einmal ausführen Interrupts Aufteilung der Ausführung in Epochen Interrupts puffern und zum gleichen Zeitpunkt weitereichen 22 / 29

Redundante Virtuelle Maschinen Hypervisor-basierte Fehlertoleranz - Bewertung Vorteile + Keine Modifikation von Anwendung/Betriebssystem + Isolation Nachteile - Hohe Anzahl an Ein- und Ausgaben - Fehler im Hypervisor - Performance 23 / 29

Vergleich Überblick 1 Instruktions-Ebene SWIFT TRUMP 2 Prozess-Ebene 3 Redundante Virtuelle Maschinen 4 Vergleich 5 Zusammenfassung 24 / 29

Vergleich Replikation auf unterschiedlichen Ebenen Replikation auf verschiedenen Ebenen hat Vor- und Nachteile Hohe Ebene: Erkennungslatenz von Fehlern Flexibilität Häufigkeit von Vergleichen Niedrige Ebene: Replikationskomplexität Recovery Zeit 25 / 29

Vergleich Gegenüberstellung Ebene: Instruktion Prozess Virtualisierung Replikate Instruktionen Prozesse Virtuelle Maschinen SoR Prozessor Anwendung System Vergleiche stores Systemaufrufe E/A Operationen Replikation loads Systemaufrufe Interrupts Isolation - - + ++ Komplexität ++ o + Zuverlässigkeit o +? Performance - - + - - Recovery ++ o o Tabelle: Vergleich von Replikation auf unterschiedlichen Ebenen 26 / 29

Zusammenfassung Zusammenfassung Software Techniken erfreuen sich Beliebtheit Grundlage: Redundanz und Replikation Prinzip: Eingabe replizieren Ausführung Ausgabe vergleichen Replikation auf unterschiedlichen Ebenen hat Vor- und Nachteile 27 / 29

Literatur Literatur I S. Mukherjee, Archtitecture Design For Soft Errors. Morgan Kaufmann Publishers Inc, 2008. Woodcrest Cluster, http://www.rrze.fau.de/dienste/ arbeiten-rechnen/hpc/systeme/woodcrest-cluster.jpg, 2014, online; accessed 15-Nov-2014. G. A. Reis, J. Chang, and D. I. August, Automatic instruction-level software-only recovery, IEEE Micro, vol. 27, no. 1, pp. 36 47, Jan. 2007. [Online]. Available: http://dx.doi.org/10.1109/mm.2007.4 28 / 29

Literatur Literatur II A. Shye, T. Moseley, V. J. Reddi, J. Blomstedt, and D. A. Connors, Using process-level redundancy to exploit multiple cores for transient fault tolerance, in Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, ser. DSN 07. Washington, DC, USA: IEEE Computer Society, 2007, pp. 297 306. [Online]. Available: http://dx.doi.org/10.1109/dsn.2007.98 T. C. Bressoud and F. B. Schneider, Hypervisor-based fault tolerance, ACM Trans. Comput. Syst., vol. 14, no. 1, pp. 80 107, Feb. 1996. [Online]. Available: http://doi.acm.org/10.1145/225535.225538 29 / 29