Vs41 4 Verteilte Algorithmen. vs42 Prozesse als Systemkomponenten:  Spezifikation eines Prozesses ? (Vgl. Spezifikation eines ADT) syntaktisch:z.B. Ports.

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 15 Verteilte Datenbanken
Advertisements

Rechnernetze und verteilte Systeme (BSRvS II)
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Hauptseminar Modellüberprüfung Kathrin Ott
Kapitel 4 Datenstrukturen
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
6.3 Ereignisbasierte Systeme Ereignis (event) : eine Ereignis-Quelle (event source, publisher) generiert Benachrichtigung (event notification), an der.
4 Verteilte Algorithmen
2 Kommunikationssysteme bieten Kommunikationsdienste an, die das Senden und Empfangen von Nachrichten erlauben (sending & receiving messages) bestehen.
4.2 Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozeßgruppe (process.
Vs Klassifizierung von Kommunikationsdiensten synonym:Nachrichtensystem/dienst(message service) Kommunikationssystem/dienst(communication service)
Multivariate Datenanalyse Datum: Betreuer: Dr. Bellmann Quellen: Multivariate Statistik, Hartung/Elpelt 1989 Stochastik für Ingenieure und Naturwissenschaftler,
SAP R/3 - Speichermanagement
Agenda 1. Wie funktionieren Netzwerke ? 2. Agenda 3.
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak.
Numerik partieller Differentialgleichungen
Abhängigkeitsbeziehung
Tiny TP Tiny TP gehört zwar zu den optionalen Komponenten wird aber dringend empfohlen. Tiny TP erfüllt folgende Aufgaben: 1.Zerlegung von großen Nachrichten.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
Vortrag im Rahmen des Seminars
Architektur von Netzwerken
7 Verteilungsabstraktion
Bs Kommunikation Kommunikation zwischen Benutzerprozessen (IPK) stellt andere Anforderungen als auftragsorientierte Kommunikation in mikrokernbasierten.
3.1.7 Korrektheit von Objekten Voraussetzung für die Diskussion der Korrektheit von nichtsequentiell benutzten abstrakten Objekten: Modellbasierte Spezifikation:
Datentyp  Zusammenfassung von Mengen von "Werten" mit auf
Übersetzung durch Mensch und Maschine Einleitung Einleitung Entwicklungsgechichte der MÜ Entwicklungsgechichte der MÜ Entwicklungsphasen der MÜ Entwicklungsphasen.
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Interaktionen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld Wie arbeiten VS mit ihrem Material (im einfachsten Fall)?
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
§17 Produkte und Quotienten von Vektorräumen
Effiziente Algorithmen
Dateisysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Dateisysteme Was ist eine Datei?
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
Mehrkriterielle Optimierung mit Metaheuristiken
Kapitel 16 Ökonometrische Modelle
Einführung in die Programmierung Prof. Dr. Bertrand Meyer
Grundbegriffe der Stochastik
Zustandsübergangsdiagramme (1)
Der Zentralwert.
Telefonie Geräte und Dienste, die eine direkte Sprachkommunikation ermöglichen. Basisgerät: das Telefon.
Stochastik Grundlagen
6.1.2 Sequentielle Konsistenz
4.4 Sperrsynchronisation
1.3 Verklemmungen Synchronisation löst Probleme – ist aber auch Gefahrenquelle: Prozeß wartet an Synchronisationspunkt – ist gesichert, daß er irgendwann.
Vs Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozessgruppe.
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
5.1.2 Sequentielle Konsistenz
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
6.3 Verteilte Transaktionen
Max Haustein, Karsten Otto
Kapitel 3: Erhaltungssätze
Vs61 6 Fehlertoleranz. vs62 Zuverlässigkeit (reliability) Sicherheit vor FehlernSicherheit vor Angriffen (safety)(security) WS/SS xySystemsicherheit SS.
Lisa Huber DHBW Mannheim
Meine Themen: Entwicklung der EDV EDV-Möglichkeiten PC-Komponenten
Programmiersprachen II Fortsetzung Datenstrukturen Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Verteilte Systeme Sommersemester 2007 Karsten Otto.
Vs Klassifizierung von Kommunikationsdiensten synonym:Nachrichtensystem/dienst(message service) Kommunikationssystem/dienst(communication service)
2 Kommunikationssysteme
6.1.2 Sequentielle Konsistenz
5.2 Gruppenkommunikation
 Präsentation transkript:

vs41 4 Verteilte Algorithmen

vs42 Prozesse als Systemkomponenten:  Spezifikation eines Prozesses ? (Vgl. Spezifikation eines ADT) syntaktisch:z.B. Ports oder Parameter vom Typ „Prozeß“ semantisch:Ein/Ausgabeverhalten  Unterschiedliche Arten von Beziehungen zwischen Prozessen – „Interaktionsparadigmen“, „Architekturstile“ (Prozesse spielen Rollen in diesen Beziehungen) Datenfluß-Architektur Client/Server-Architektur Verteilter Algorithmus

vs43 Datenfluß-Architektur (dataflow architecture, „pipes and filters“) keine ausgezeichneten Rollen grep patlprsort z.B. Unix Pipeline: oder Datenflußmaschine: + * -

vs44 Client/Server-Architektur Rollen: Auftraggeber (Klient) und Auftragnehmer (Server) z.B. so: file server grep pat file mail server print server lpr file

vs45 Def.:Verteilter Algorithmus Prozesse kooperieren zwecks Erreichung eines gemeinsamen Ziels  in verschiedenen oder gleichen Rollen,  mit bestimmten, vereinbarten Interaktionsmustern, „Protokollen“ Häufig Fehlertoleranz bei unzuverlässigen Prozessen oder unzuverlässiger Kommunikation Gerne in Pseudocode formuliert, mit prozessbezogener Adressierung

vs46 z.B. zuverlässige unidirektionale Nachrichtenübertragung über unzuverlässigen bidirektionalen Kanal: Kommunikationsprotokoll SenderEmpfänger Daten Quittungen oderEinigung auf „Anführer“: Auswahlprotokoll

vs Zeit und Kausalität Zur Erinnerung: Charakteristika eines verteilten Systems: es gibt keinen gemeinsamen Speicher es gibt keine globale Zeit absolute Zeit interessiert wenig aber: relative Zeitpunkte einzelner Ereignisse können wichtig sein (z.B. „push vor pop - oder pop vor push?“ )

vs Kausale Ordnung von Ereignissen Def.: Ereignis(event) local - prozessinterne Aktion (z.B. „Zuweisung an Variable x“) send - Senden einer Nachricht (Ausführung von send ) recv - Empfangen einer Nachricht (Ausführung von recv )  Prozesse werden als sequentiell vorausgesetzt  Dienstgüte des Nachrichtensystems bleibt zunächst offen Ereignismenge, nicht näher spezifiziert: E

vs49 Def.: Kausale Abhängigkeit Zwei Ereignisse a,b  E stehen in der Beziehung a  b („a vor b“, „a happened before b“, „b ist kausal abhängig von a“) zueinander, wenn gilt: entweder1) a und b gehören zum selben Prozess und geschehen in dieser Reihenfolge oder2) a ist das Senden einer Nachricht, b ist das Empfangen dieser Nachricht oder3) es gibt ein Ereignis c mit a  c und c  b (Transitivität von  )

vs410 Bemerkung:Die Relation „gleich oder vor“ ist partielle Ordnung auf E: Kausalordnung Def.:Zwei Ereignisse a,b sind voneinander unabhängig (auch nebenläufig, concurrent, causally unrelated), wenn weder a  b noch b  a

vs411 Veranschaulichung der partiellen Ordnung durch Zeitdiagramm (ähnlich dem Hasse-Diagramm für partielle Ordnungen) Zeit a j f e dc b h g i z.B.a  c  e b  d  e c  h ! y x Aus x  b, d  y folgt, daß die beiden Nachrichten nicht FIFO übertragen wurden! nichta  d, g  j !

vs412 Nochmals zur Dienstgüte des Nachrichtensystems: Reihenfolgetreue (FCFS, FIFO) bei Sender/Empfänger-Paar: gegebenenfalls erzwingen mit Durchnumerieren der Nachrichten Kausalitätstreue bei mehreren Beteiligten: a c a wird vor c gesendet, also auch vor c empfangen b wie erzwingen ?

vs Logische Uhren in Anlehnung an die Kausalitätsbeziehung Ziel:Jedem Ereignis e  E wird eine „Zeit“ C(e)  T zugeordnet. Die Zeiten sind partiell geordnet, und die Ordnung sollte isomorph zur Kausalordnung sein: (E,  )  (T,  ) Die Abbildung C: E  T heißt logische Uhr.

vs Versuch: Skalare Zeit [Lamport 1978] T = natürliche Zahlen (totale Ordnung - daher zum Scheitern verurteilt) Jeder Prozess - führt in einer lokalen Uhr eine lokale Zeit c (anfangs 0) - versieht jede versendete Nachricht mit Zeitstempel (timestamp) t = c.  Vor jedem Ereignis wird c um 1 erhöht.  Nach recv mit Zeitstempel t wird c auf max(c,t+1) gesetzt.

vs415 Für beliebige Ereignisse a,b  E gilt a  b  C(a)  C(b), aber nicht die Umkehrung! Auch gilt zwar C(a) = C(b)   (a  b  b  a), aber nichtC(a) = C(b)  a = b Bemerkung:Hängt man an die Skalarzeit die Prozessnummer an, so kann man die Ereignisse gemäß dieser Kennung linear anordnen – verträglich mit ihrer Kausalordnung („topologisches Sortieren“).

vs Versuch:Vektorzeit [Fidge, Mattern 1988] T = n-Tupel natürlicher Zahlen (bei n Prozessen 1,..,n) t  s : t i  s i für alle i=1,..,n  Halbordnung ! Jeder Prozess p - führt in einer lokalen Uhr eine lokale Vektorzeit c (anfangs (0,0,..) ), - versieht jede versendete Nachricht mit Zeitstempel t = c.  Vor jedem Ereignis wird c p um 1 erhöht.  Nach recv mit Zeitstempel t werden für alle i=1,..,n die c i auf max(c i,t i ) gesetzt.

vs417 Mit der Vektorzeit C erreichen wir die gewünschte Isomorphie: (E,  )  (T,  )