EMES: Eigenschaften mobiler und eingebetteter Systeme. Gruppenkommunikation. Dr. Siegmar Sommer, Dr. Peter Tröger Wintersemester 2009/2010

Ähnliche Dokumente
Gruppenkommunikation. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Grundlagen verteilter Systeme

Motivation. Gruppenkommunikation. Verteilte Anwendung. Gruppenkommunikation. HW-Multicast div. GC-Impl totale Ord. Kommunikationsnetz

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

5 Verteilte Algorithmen. vs5 1

Überblick. Multicast Motivation Grundlagen Zustellungsgarantien Ordnungsgarantien Paxos. c td VS (SS17) Multicast 7 1

Zeit als Mittel der Reihenfolgebestimmung

Grundlagen: Überblick

Übung 4 Gruppe Hosebei

KEY AGREEMENT IN DYNAMIC PEER GROUPS

Aufgabe 2.1: Lamports Uhren

Überblick. Verteilte Systeme

Verteilte Systeme. 6. Multicast. Multicast. Vorlesung "Verteilte Systeme" Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1

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

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

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase

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

Uberblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS- Ubung (SS13) Verteilte Synchronisation 11 1

Verteilte Systeme - Übung

Realisierung von atomarem Broadcast. Atomarer bzw. totaler Broadcast

Verteilte Algorithmen

Verteilte Systeme. Fehlertoleranz. Prof. Dr. Oliver Haase

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt.

Uberblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS- Ubung (SS15) Verteilte Synchronisation 10 1

Literatur. VA SS Teil 5/Messages

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 9. Verteilte Algorithmen

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Verteilte Systeme - 5. Übung

Grundlagen: Überblick

Überblick. Replikation Motivation Grundlagen Aktive Replikation Passive Replikation. c td VS (SS16) Replikation 6 1

Kommunikation im lokalen Netz

Vorlesung "Verteilte Systeme" Sommersemester 1999

3. Übung zur Vorlesung Verteilte Betriebssysteme

Spezifikation von Kommunikationssystemen

Grundlagen verteilter Systeme

Zusammenschlüsse in verteilten Systemen. Überblick. Virtual Synchrony. Gruppenkommunikation

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

PROJEKTIEREN DER HW UND DER VERBINDUNGEN...

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

Uhrensynchronisation. Dipl.-Inf. J. Richling Wintersemester 2003/2004

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

Vorlesung "Verteilte Systeme" Winter 2002

Grundlagen verteilter Systeme

Programmieren 2 12 Netzwerke

Verteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group

Praktikable Einigungsalgorithmen

Multicasting. Weitere Definitionen

Verteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017

Dynamische Spiele mit unvollständiger Information. Perfektes Bayesianisches Gleichgewicht

Elementare Systemkomponenten:

Algorithmen für eingebettete Systeme

Induktion nach der Länge n von x

Flusskontrolle. Grundlagen der Rechnernetze Übertragungssicherung 68

Grundlagen der Rechnernetze. Internetworking

Überblick. Zeit in verteilten Systemen. Echtzeit-basierte Uhren. Synchronsation von Echtzeit-Uhren: NTP, PTP

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

Einführung: Verteilte Systeme - Remote Method Invocation -

Hauptdiplomklausur Informatik März 2001: Internet Protokolle

Betriebssysteme Teil 11: Interprozess-Kommunikation

Thomas Schirrmann Nebenläufigkeit. Nebenläufigkeit. Vortrag Thomas Schirrmann. Seminar Systementwurf Dozentin Daniela Weinberg

Verteilte Systeme. Übereinstimmung und Koordination

5.3.2 Sequentielle Konsistenz. Def.: Sequentielle Konsistenz (sequential consistency):

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Uhrensynchronisation & Gruppenkommunikation. Jan-Arne Sobania Seminar Prozesssteuerung und Robotik 10. Dezember 2008

Verteilte Betriebssysteme

Computergestützte Gruppenarbeit

5.1 Verteilung von Aktualisierungshinweisen

Verhaltensbeschreibung und Spezifikationssprachen

Rechnernetze und verteilte Systeme (BSRvS II)

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Rechnernetze 2. Grundlagen

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Verteilte Systeme - Java Networking (Sockets) -

Algorithmische Graphentheorie

Kommunikationsmodelle

Seminar Mobile Computing Routing in Ad Hoc Netzen

Leitfaden für das -Forum des ÖVGD

Informationen zur Verwendung von Visual Studio und cmake

ATM LAN Emulation. Prof. Dr. W. Riggert

2.3 Basis und Dimension

Klausur Verteilte Systeme

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 8. Verteilte Terminierung

Die mathematische Seite

Klausur Rechnernetze für Studierende des Studiengangs Scientific Programming und Auszubildende zum Beruf des Math.-Tech. Software-Entwicklers

- Man versieht die Nachricht mit der Adresse des Empfängers und schickt Sie per Knopfdruck ab.

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

EMES: Eigenschaften mobiler und eingebetteter Systeme. Uhrensynchronisation. Dr. Siegmar Sommer, Dr. Peter Tröger Wintersemester 2009/2010

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

Betriebssysteme und Netze

7 Fehlertoleranz. vs7 1

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

Multicast-Kommunikation Teleseminar Wintersemester 1999/2000. MOSPF (Multicast Open Shortest Path First)

Verteilte Systeme SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 7.

Transkript:

EMES: Eigenschaften mobiler und eingebetteter Systeme 00101111010010011101001010101 Gruppenkommunikation Dr. Siegmar Sommer, Dr. Peter Tröger Wintersemester 2009/2010

00101111010010011101001010101 Motivation Häufig ist eine Aufgabe von einer Gruppe zu erledigen Gruppenmitglieder: Rechner, Prozesse Anwendung: Fehlertoleranz Client-Server-Anwendungen. Beispiele für Gruppen in EMES: Prozessoren/verteilte Prozesse eines eingebetteten Systems Anzahl mobiler Geräte in einer drahtlosen Umgebung (Handys, Verkehrsüberwachung) 1 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Probleme Konsistente Sicht (alle Mitglieder sehen die Welt in gleicher Weise) Gruppenzustand kann sich ändern (ausscheidende und neue Mitglieder) Gruppenmitglieder können fehlerhaft sein 2 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Gemeinsame Weltsicht Gemeinsame Weltsicht wird meist so verstanden: Zum gleichen Zeitpunkt werden die gleichen Ereignisse wahrgenommen. Diese Art von gemeinsamer Weltsicht ist i.a. nicht möglich: Es gibt keine gemeinsame Zeit Durch räumliche Trennung gibt es unterschiedliche Ereignishorizonte Problem 1: Uhrensynchronisation (nächste Vorlesung) Problem 2: Virtuelle Zeiten (Ordnung von Ereignissen) 3 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Das Problem des Ereignishorizontes Zeit Ereignis Beobachter A Beobachter B Ereignis wird gesehen wird gesehen wird gesehen wird gesehen 4 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Ansätze zur Kommunikation Kommunikation undsynchronisation Gemeinsamer Speicher Nachrichtenaustausch Semaphore Monitore Pfadausdrücke Nachrichten RPC Rendezvous virtueller gemeinsamer Speicher 5 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Modell Gruppenmitglieder kommunizieren ausschließlich über Nachrichten miteinander Ereignisse sind entweder das Senden/Empfangen von Nachrichten, oder mitgliedsintern Mitglieder können lokale Uhren besitzen; es existiert aber keine globale Uhr Über die Dauer einer Nachrichtenübertragung wird (zunächst) keine Annahme getroffen, aber Nachricht wird immer vor ihrem Empfang gesendet verschiedene Anforderungen an Konsistenz (Nachrichtenordnung) im folgenden diskutiert 6 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Kommunikationsmuster P1 1-zu-1- Kommunikation P2 P1 P2 P3 P4.... Pn Broadcast (1 zu alle) P1 P2 P3 P4.... Pn Multicast (1 zu mehrere) 7 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

Anforderungen in 00101111010010011101001010101 Kommunikationsgruppen S 1 S 2 E 1 E 2 E 3 E 4 E 5 E 6 Gruppen können kreiert und gelöscht werden Gruppenmitgliedschaft ist dynamisch Gruppen können sich überlappen 8 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Typische Gruppenfunktionen Create Group Erzeugen einer Gruppe Join Group Hinzufügen eines Gruppenmitgliedes Leave Group Entfernen eines Gruppenmitgliedes Destroy Group Explizites Löschen einer Gruppe SendTo Group Multicast an eine Gruppe ReceiveFrom Group Empfangen einer Nachricht 9 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Offene v. geschlossene Gruppen Geschlossene Gruppe Gruppenmitglied verboten Prozeß ist nicht Gruppenmitglied Offene Gruppe Gruppenmitglied erlaubt Prozeß ist nicht Gruppenmitglied 10 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Synchronität und Auslieferung Synchronität von Senden und Empfangen synchron: nur zu bestimmten Zeiten möglich Blockierung asynchron: jederzeit möglich Hier wird Asynchronität der Kommunikation angenommen Zwischenspeicherung von Nachrichten (Pufferung), bis sie an den eigentlichen Prozeß ausgeliefert werden (deliver()) 11 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Zuverlässiger Multicast Gültigkeit (validity) Führt ein korrekter Prozeß multicast(msg) für eine Gruppe g aus, so führt in Folge jeder korrekte Prozeß deliver(msg) durch. Zustimmung (Agreement) Führt ein korrekter Prozeß einer Gruppe deliver(msg) durch, so führen irgendwann alle korrekten Prozesse der Gruppe deliver(msg) durch. Integrität (integrity) Für jede Nachricht msg gilt, daß sie jeder korrekte Prozeß höchstens einmal ausliefert und das auch nur, wenn irgendein Prozeß multicast(msg) durchgeführt hat. 12 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Beliebige Auslieferungsreihenfolge P1 : 1 2 3 (correct) P2 : 2 3 1 (correct) P3 : 1 2 3 (correct) P4 : 1 (faulty) Die Bedingungen des zuverlässigen Multicast verlangen keine bestimmte Reihenfolge der Auslieferung t 13 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Mögliche Ordnungsanforderungen FIFO (first in first out) kausale Ordnung totale Ordnung totale FIFO-Ordnung totale Kausalordnung globale Ordnung 14 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 FIFO FIFO-Ordnung Wenn ein korrekter Prozeß multicast(m 1 ) vor multicast(m 2 ) ausführt, dann führt kein korrekter Prozeß deliver(m 2 ) durch, bevor er nicht m 1 ausgeliefert hat. Idee: Nachricht wird in der Regel in einem Kontext abgearbeitet Eine per Multicast gesendete Nachricht sollte bei jedem Empfänger den gleichen Kontext (senderbezogen) vorfinden Beispiel: File-Öffnen vor File-Schreiben 15 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Kausale Ordnung (I) FIFO-Ordnung bezieht sich nur auf einen Sender Aber: Ein Empfänger kann aufgrund der empfangenen Nachricht m 1 selbst wieder eine Nachricht m 2 senden, die bei einem dritten Mitglied vor m 1 ausgeliefert wird. Bei komplexeren Kontexten (Abhängigkeit von mehreren Sendern) nicht erwünscht 16 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Happens-before-Relation Zwei Ereignisse e 1 und e 2 erfüllen die Happens-before-Relation (e 1 e 2 ), wenn folgendes gilt: e 1 und e 2 treten bei einem Prozeß genau in dieser Reihenfolge auf, oder e 1 ist multicast einer Nachricht und e 2 ihre Auslieferung, oder es gibt ein Ereignis e, so daß e 1 e und e e 2 gilt Man sagt dann: e 2 ist von e 1 kausal abhängig 17 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Kausale Ordnung (II) Kausale Ordnung Gilt multicast(m 1 ) multicast(m 2 ), dann führt kein korrekter Prozeß deliver(m 2 ) durch, ehe er m 1 ausgeliefert hat. Kausale Ordnung ist stärker als FIFO: Jede kausale Ordnung ist auch FIFO geordnet Umkehrung gilt nicht Kausalität ist hier hypothetisch: Jede mögliche Kausalität wird bewahrt Es ist möglich, daß kausal geordnete Ereignisse gar nicht voneinander abhängig sind 18 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Beispiel für kausale Ordnung P1 : 1 10 2 11 P2 : 1 10 11 2 P3 : 1 10 2 11 P4 : 1 10 11 2 t 19 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Totale Ordnung Totale Ordnung Wenn die beiden korrekten Prozesse P und Q die Nachrichten m 1 und m 2 ausliefern, dann liefert P die Nachricht m 1 genau dann vor m 2 aus, wenn Q dies auch tut. Mit anderen Worten: korrekte Prozesse liefern die gleiche Sequenz von Nachrichten aus Beachte: Es wird keine Aussage über die Sequenz an sich gemacht. Insbesondere kann die Kausalität verletzt sein Ein Broadcast mit totaler Ordnung wird manchmal auch atomarer Broadcast genannt 20 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Beispiel für totale Ordnung P1 : 1 3 P2 : 2 P3 : 3 2 1 P4 : 3 2 1 t 21 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Totale FIFO- und Kausalordnung Totale FIFO-Ordnung Eine Ordnung, die sowohl first-in-first-out als auch total geordnet ist. Totale Kausalordnung Eine Ordnung, die sowohl kausal als auch total geordnet ist. 22 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Beispiel für totale FIFO-Ordnung P1 : 1 3 P2 : 2 4 P3 : 1 2 4 3 P4 : 1 2 4 3 t 23 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Ordnung der Ordnungen Zuerlässiger Multicast FIFO- Multicast Kausaler Multicast Atomarer Multicast Atomarer FIFO-Multicast Atomarer und kausaler Multicast 24 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Beispiel: ISIS (I) Programmier-Toolkit, entwickelt an der Cornell Universität (Ithaka, USA) Ursprünglich als UNIX-Bibliothek implementiert, später für Mach und Chorus ISIS bietet an: Multicast-Protokolle Erhaltung der Gruppensicht Zustandsübertragung Die Multicast-Protokolle sind: FBCAST (ungeordneter Multicast) CBCAST (kausal geordneter Multicast) ABCAST (total geordneter Multicast) GBCAST (global synchronisationsgeordneter Multicast) 25 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101Beispiel: ISIS (II) Als Kommunikationsgrundlage wird UDP/IP benutzt Nachrichten werden bestätigt (acknowledged) und gegebenenfalls erneut gesendet zuverlässige Übertragung Wenn IP-Multicast vorhanden ist (z.b. Ethernet), dann wird es genutzt, sonst Punkt-zu-Punkt-Kommunikation Ordnung(en) werden mit Hilfe von Ereigniszählervektoren (Zeitstempelvektoren) erzielt: Jeder Prozeß P i (i = 1...n) besitzt einen Vektor V i = {V i [1],..., V n [n] Alle Prozesse starten mit einem Nullvektor 26 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 ISIS: CBCAST-Protokoll Update eines Nachrichtenvektors: 1. Wenn P i eine neue Nachricht senden will, wird zunächst V i [i] inkrementiert und dann V i mit der Nachricht mitgesendet 2. Wenn ein Prozeß P j eine Nachricht von P i mit dem Vektor V i empfängt, so wird sein Vektor V j wie folgt aktualisiert: k = 1...n : P j [k] = max(p j [k], P i [k]) Auslieferung einer Nachricht von P i bei P j Lokale Nachrichten werden sofort ausgeliefert (d.h. i = j) Alle anderen Nachrichten werden solange zurückgehalten, bis: 1. Die Nachricht muß die nächste in einer Sequenz von P i sein, d.h. V i [i] = V j [i] + 1 2. Alle kausal vorhergehenden Nachrichten die an P i gesendet wurden, sollten bei P j ausgeliefert sein, d.h. V j [k] V i [k] für k = i 27 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 ISIS: ABCAST-Protokoll (I) Idee: Zentraler Sequenzer ABCAST nutzt CBCAST-Nachrichten, die aber als ABCAST- Nachrichten gekennzeichnet sind In der Gruppe wird ein Token-Halter gewählt Der Token-Halter empfängt ABCAST-Nachrichten und liefert sie bei sich kausal geordnet aus Von Token-Halter gesendete Nachrichten enthalten die Ordnungsnummer der Nachricht innerhalb der totalen Ordnung Von Zeit zu Zeit sendet der Token-Halter eine sogenannte sets-order Nachricht, die die Sequenz-Nummer für eine oder mehrere von ihm empfangene ABCAST-Nachrichten enthält 28 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 ISIS: ABCAST-Protokoll (II) Alle anderen Mitglieder verzögern ABCAST-Nachrichten, bis: Sie die entsprechende Sets-order-Nachricht empfangen haben Sie alle ABCAST-Nachrichten, auf die in der Set-order-Nachricht bezug genommen wird, empfangen haben Sie alle kausal vorhergehenden CBCAST-Nachrichten ausgeliefert haben Das Token kann weitergegeben werden: Vorteil: Wenn nur Token-Halter ABCAST-Nachrichten versenden, sind keine Sets-order-Nachrichten notwendig 29 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101Beispiel: TOTEM Entwickelt an der University of California at Santa Barbara (USA) TOTEM = total ordered and temporal predictability (außerdem: Protokollstack hat Ähnlichkeit mit Totempfahl) Bietet zwei zuverlässige Multicastdienste mit totaler Ordnung Agreed delivery Safe delivery Im Gegensatz zu ISIS hält TOTEM die gewünschten Ordnungseigenschaften auch bei Gruppenpartitionierung und Verschmelzung bei Die Autoren behaupten, daß TOTEM echtzeitfähig ist 30 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 Agreed und safe delivery Agreed delivery garantiert, daß eine Nachricht nur ausgeliefert wird, wenn alle vorhergehenden Nachrichten (in dieser Konfiguration) bereits ausgeliefert wurden Safe delivery garantiert darüber hinaus, daß diese Nachricht von jedem anderen Prozeß empfangen wurde, ehe sie lokal ausgeliefert wird. Safe delivery ist z.b. in Transaktionssystemen nützlich, in denen eine Transaktion von allen oder keinen Prozeß ausgeführt werden muß 31 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK

00101111010010011101001010101 TOTEM und Echtzeit Bedingt echtzeitfähig im fehlerfreien Fall Bei Vorhandensein von Fehlern nur stochastische Zeitgarantien 1 0.8 Probability Distribution 0.6 0.4 0.2 0 no fault/load injection send and receive faults burst and transmission faults compiler simulated processor crashes combination of all factors 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Latency in ms 32 EMES: Eigenschaften mobiler und eingebetteter Systeme c ROK