- Prof. Dr. Oliver Haase
Verteilte Systeme
Synchronisation I
1
Verteilte Systeme Synchronisation I Prof. Dr. Oliver Haase 1 - - PowerPoint PPT Presentation
Verteilte Systeme Synchronisation I Prof. Dr. Oliver Haase 1 berblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustnde Wahlalgorithmen 2 Zeit in
1
2
Synchronisation 1
Synchronisation 2
3
4
Verständnis der ‘Zeit’ in allen beteiligten Knoten notwendig:
nur eine Zeitquelle gibt.
eigene Zeitquelle und damit u.U. eine andere Uhrzeit.
5
nächsten make nicht neu übersetzt.
aus: [Tanenbaum, van Steen. Verteilte Systeme: Grundlagen und Paradigmen]
Frequenz H einen Interrupt auslöst (Clock Tick). Die Interrupts werden gezählt und messen die Zeit.
unterschiedliche Zeiten an!
gelöst werden
lösen
6
Zeiterfassungen
gemittelte Atomzeit
Sonnenzeit an (Sonnensekunde wird permanent länger)
7
10-5.
ticken.
angegebene Driftrate ρ einhält, auch wenn sie dann zu langsam oder schnell läuft.
8
Synchronisation zweier Uhren können die beiden Uhren maximal δ = 2ρ∆t auseinander liegen.
ein gewünschter Wert δ auseinander liegen, muss man die Uhren innerhalb von ∆tmax = δ/(2ρ) Sekunden synchronisieren.
9
keine externe Synchronisation durchgeführt werden kann.
auf der Verwendung weniger Zeitserver basieren.
10
angenommen, der dann als Zeit-Server fungiert.
Request an den Server, der so schnell wie möglich mit der aktuellen UTC antwortet.
zurückgesetzt werden. Verboten, da kein Zeitpunkt zweimal auftaucht darf!
langsamer läuft, d.h. verringerte Zeitspanne pro Clock-Tick.
11
sie kommt, schon veraltet.
12
aus: [Tanenbaum, van Steen. Verteilte Systeme: Grundlagen und Paradigmen]
können, trotz stark schwankender Übertragungsverzöger- ungen im Netz
Redundanz
Skalierbarkeit wird damit ein Thema
13
erbracht.
verbunden.
Primary Servers.
reagieren zu können.
14
Netzwerkverzögerungen und Uhrungenauigkeiten zu messen.
geringsten gemessenen Signallaufzeit.
15
Verfügung steht
aktueller Zeit und bildet Durchschnitt
danach anpassen
16
17
a) Zeit-Daemon (Zeit-Server) sendet seine Zeit an alle b) jeder Rechner antwortet mit seiner Differenz c) Zeit-Daemon errechnet neuen Durchschnitt und sendet jedem Rechner Korrekturdifferenz
aus: [Tanenbaum, van Steen. Verteilte Systeme: Grundlagen und Paradigmen]
System absolut zu synchronisieren → unmöglich, basierend auf Zeit die Reihenfolge zweier beliebiger Ereignisse zu bestimmen.
Information, dafür aber keinen Bezug zur realen Zeit.
18
Gesamtsystem: a → b
nebenläufig
19
20
P1 P3 P2 a d h k g b c e f i j l m n
eines Ereignisses a abgelesen wird und den Wert Ci(a) liefert.
eindeutig im ganzen verteilten System ist.
richtig stellt, muss folgendes umsetzen: Wenn a → b, dann C(a) < C(b).
21
seine Uhr Ci richtig zu stellen:
aktuellen Wert von Ci mit
danach Erhöhung um 1.
22
23
P1 P3 P2 a d h k g b c e f i j l m n
13 9 5 14 14 6 15 16 15 16 17 17 18 18
nicht erreicht werden.
alle Rechner einen UTC- Empfänger
funktionieren recht gut (NTP).
von Ereignissen ohne quantitative Zeitangaben → Verwendung logischer Zeit
24
25
26
VS zum Erreichen des gegenseitigen Ausschlusses
gemeinsame Daten koordinieren müssen, um die Konsistenz der Daten zu erhalten, geschieht dies am einfachsten über das Konzept der kritischen Region.
sein, d.h., es wird gegenseitiger Ausschluss (mutual exclusion) erreicht.
27
Region bestimmt.
wenden, bevor sie die entsprechende Region betreten.
OK vom Server. Nach Abarbeitung der Aufgaben gibt der Prozess dieses Token zurück.
Warteschlange aufgenommen. Er erhält erst das Token, wenn alle Prozesse vor ihm bedient wurden.
28
(a) Prozess 1 bittet den Koordinator um Zugriff auf eine gemeinsam genutzte Ressource. Erlaubnis wird gewährt. (b) Prozess 2 bittet um Zugriff auf dieselbe Ressource. Koordinator antwortet nicht. (c) Sobald Prozess 1 Ressource freigibt, teilt er dies dem Koordinator mit, der dann die Anforderung von 2 beantwortet.
29
(Anfrage, Erlaubnis, Freigabe)
30
Koordinator bedeuten
+ _
sendet er ein Request an alle anderen Prozesse.
Prozess die kritische Region betreten.
31
nach Ricart und Agrawala, 1981:
32
33
(a) P0 bittet alle Prozesse um Erlaubnis, T0 = 8 P2 bittet alle Prozesse um Erlaubnis, T2 = 12 (b) P1 erteilt P0 und P1 Erlaubnis P2 erteilt P0 Erlaubnis, da T0 < T2 P0 hält Erlaubnis an P2 zurück, da T0 < T2 (c) P0 erteilt P2 nach eigenem Zugriff Erlaubnis
34
sofortige Bestätigungsnachrichten minimieren, aber nicht ausschalten)
wenn er selbst nicht konkurriert (Skalierbarkeit!)
_ Nun, warum überhaupt betrachten? →zeigt, dass verteilter Algorithmus möglich ist, und →dass hier noch Forschungsbedarf besteht!
(Network-ID, Prozess-ID)-Kombination
Abschnitt betreten möchte → selbiges einmal tun, danach Token weitergeben
35
Aushungern
36
Verweilzeit)
+ _
Abschnitt
37
Algorithmus Nachrichten pro Ausführung kritischer Abschnitt Verzögerung vor Eintritt [in Nachrichten] Probleme zentral 3 2 Ausfall Koordinator verteilt 2(n -1) 2(n -1) Ausfall eines Prozesses Token Ring 1 bis ∞ 0 bis n -1 verlorener Token
schwieriger zu erreichen als in einem Ein-Prozessor-System.
unterschiedlicher Bedeutung für die Praxis.
Verteilung bringt hier viele Nachteile mit sich.
38