4.4 Sperrsynchronisation

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 15 Verteilte Datenbanken
Advertisements

Matrixmultiplikation
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
Hauptseminar Modellüberprüfung Kathrin Ott
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.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Anwendung und Visual Basic
Kapitel 6.1 Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Nebenläufige Programmierung
ATM LAN Emulation Prof. Dr. W. Riggert. 2 Inhalt Das Tutorial ist in drei Abschnitte gegliedert. Abschnitt 1 behandelt die Frage, warum LAN Emulation.
Klausur „Diskrete Mathematik II“
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Verteilte Algorithmen
Entwicklung verteilter eingebetteter Systeme - Einführung
Vortrag über Graphen Von Jörg Hendricks.
Graphen Kombinatorik, Zufall, Algorithmen
Ein Leitfaden durch die Geschichte des Internets
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt WS 06/
€*,* Power Point Productions
Interprozess- kommunikation (IPC)
€rich's Power Point Productions
Optische Täuschungen.
Telefonie Geräte und Dienste, die eine direkte Sprachkommunikation ermöglichen. Basisgerät: das Telefon.
2. Kommunikation und Synchronisation von Prozessen 2
2. Kommunikation und Synchronisation von Prozessen 2
Synchronisation paralleler Transaktionen  AIFB SS Sperrverfahren Sperrverfahren (13/18) Behandlung von Konflikten bei der Sperrvergabe.
Die Tiefensuche Vorgedanke: Die Sage von Theseus und dem Minotaurus
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
6.1.2 Sequentielle Konsistenz
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.
Vs Replizierte Objekte Vollständige Replikationsabstraktion ist attraktiv und machbar. 2 Beispiele: Orca(H. Bal, VU Amsterdam, ) = klassenbasierte,
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 Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
Routenplanung querfeldein - Geometric Route Planning
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
Visualisierung verteilter Systeme
Der Train-Algorithmus
Vs41 4 Verteilte Algorithmen. vs42 Prozesse als Systemkomponenten:  Spezifikation eines Prozesses ? (Vgl. Spezifikation eines ADT) syntaktisch:z.B. Ports.
Vs Auswahlalgorithmen (election algorithms) dienen der Wahl eines Koordinators („Gruppenleiters“) einer Gruppe bei „halbverteilten“ Algorithmen.
Asymmetrische Kryptographie
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Normale zur Gerade g durch den Punkt A. A A.
Verteilte Systeme Sommersemester 2007 Karsten Otto.
2 Kommunikationssysteme
6.1.2 Sequentielle Konsistenz
6.3 Verteilte Transaktionen
5.2 Gruppenkommunikation
Routing … … die Suche nach dem Weg..
Routing … … die Suche nach dem Weg..
Debugging.
 Präsentation transkript:

4.4 Sperrsynchronisation (siehe auch Coulouris 10.4, Weber 5.5) 4.4.1 Zentraler Koordinator 4.4.2 Virtueller Token Ring Markenbesitz = Eintrittsberechtigung (LeLann 1977) 4.4.3 Verteilte Warteschlange mit Skalarzeit, 4.1.2 (Lamport 1978, Ricart/Agrawala 1981/83) 4.4.4 . . . . . vs4.4

4.4.4 Wandernde Warteschlange Vor.: - Stationen ausfallsicher, - Kommunikation zuverlässig, auch Rundruf, - und kausal geordnet Idee:  Marke (token) berechtigt zum Eintritt in kritischen Abschnitt,  wird nur auf Anforderung – Rundruf! – bewegt,  trägt Warteschlange mit sich Problem: Beim Wechsel des Eigentümers darf es kein „Interregnum“ geben – weil zufällig dann eintreffende Anforderungen verlorengehen würden. Daher: Überlappende Eigentümerschaft kausal geordnet – z.B. Ethernet (ist sogar total geordnet) vs4.4

4.4.5 Kommunikationsaufwand für Eintritt in den kritischen Abschnitt Nachrichtenanzahl mit Rundruf Zentraler Koordinator 2 Virtueller Token Ring 0 bis n-1 Verteilte Warteschlange 2(n-1) n Wandernde Warteschlange n+2 4 . . . . . Beachte: In der Praxis kommt meist nur die zentralisierte Lösung in Frage (eventuell mit Ersatz-Koordinator – siehe Kap. 5) vs4.4

4.5 Sondieren mit Echos (probe/echo algorithms) für Punkt-zu-Punkt-Netze Prinzip: Breitensuche im Stationsgraphen, (statt sequentiell und zentralisiert) nichtsequentiell und verteilt Zur Erinnerung – sequentielle Algorithmen: Tiefensuche/Breitensuche sind nichtlinear rekursive Algorithmen, bei denen ein Spannbaum des Graphen durchlaufen wird Vor.: Ausfallsichere Stationen, zuverlässige Kommunikation, nicht zerfallendes Netz mit Duplex-Verbindungen  ungerichteter, zusammenhängender Graph vs4.4

Synchroner Prozeduraufruf  asynchroner Prozeduraufruf [nichtsequentiell]  Versand einer „Sonde“ [verteilt] Prozedureintritt  Prozedurstart [nichtsequentiell]  Empfang einer Sonde [verteilt] Prozeduraustritt  Prozedurende [nichtsequentiell]  Versand eines „Echos“ [verteilt] Ergebnisübernahme  Warten auf Ergebnis [nichtsequentiell]  Empfang eines Echos [verteilt] vs4.4

- Rundruf (Echo als Quittung!) - Koordinatorauswahl Anwendungen: - Rundruf (Echo als Quittung!) - Koordinatorauswahl - Verteilte Terminationserkennung - Verteilte Verklemmungserkennung - Topologie erkunden - . . . . . vs4.4

4.5.1 Verteilte Terminationserkennung (Dijkstra/Scholten 1980, „Diffusionsalgorithmus“) Verteiltes Programm bestehe aus Prozessen, die alle – mit Ausnahme eines ausgezeichneten Startprozesses – auf eine Nachricht warten, die für sie den „Startschuss“ gibt. Danach kommunizieren sie nach Belieben und gelangen (hoffentlich) alle an ein stop. Der Startprozess muß erkennen, wenn es soweit ist. vs4.4

 Jede empfangene Nachricht außer der ersten wird quittiert, Vorgehensweise:  Jede empfangene Nachricht außer der ersten wird quittiert, sobald sie vom Anwendungsprogramm (!) übernommen wurde.  Die erste empfangene Nachricht wird erst dann quittiert, wenn alle gesendeten Nachrichten quittiert wurden und der Prozess bei stop angelangt ist. vs4.4

4.5.2 Verteilte Verklemmungserkennung Verklemmung (deadlock) = Systemzustand, in dem einige (oder alle) der beteiligten Prozesse zyklisch aufeinander warten - verhindert ordnungsgemäße Weiterarbeit bzw. Termination Warten - auf Betriebsmittel - auf Nachrichten Erkennung entweder „bei Verdacht“ oder im Augenblick des Entstehens Behandlung unterschiedlich (anwendungsabhängig) vs4.4

Verteilte Erkennung von recv-Zyklen im Augenblick des Entstehens: Wenn bei recv from p blockiert wird, wird eine Sonde durch den Wartegraphen geschickt. Wenn sie bis zum Ausgangspunkt zurückgelangt, liegt eine Verklemmung vor. (Ohne Echo) Achtung: Beim Abschicken/Weiterleiten der Sonde könnte die gewünschte Nachricht gerade unterwegs sein oder gerade abgeschickt werden. Wird das beim Ankommen der Sonde entdeckt, kann das Verfahren abgebrochen werden. vs4.4