Synchronisation und Kommunikation Flashcards
Problem der Zeitmessung in VS
Kein shared memory, zeitliche Abstimmung muss über Datenaustausch passieren
Was ist UTC?
Universell koordinierte Zeit mit Schaltsekunden
Was macht der Berkeley Algorithmus?
Synchronisiert physikalische Uhren in VS ohne Referenzuhr
Wie funktioniert der Berkeley Algorithmus?
- Zentrale Komponente (Zeitdaemon) fragt in zeitlichen Abständen die Uhrzeiten der teilnehmenden Clients ab
- Aus empfangene Zeiten und der eigenen wird eine neue interne Zeit des System ermittelt.
- Daemon teilt jedem Client den Offset zwischen neuer und alter Zeit mit und verstellt somit die Zeit des Clients
Wofür steht NTP?
Network Time Protocol
Was ist NTP?
Synchronisation physikalischer Uhren in VS mittels einer Referenzuhr
Logische Zeit in VS
Messung mittels logischer Uhren
Ereignisse erhalten eindeutigen Zeitstempel
Prozessreihenfolge ist unabhängig von realer Zeit
Logische Uhr in VS
Jeder Prozess im VS unterhält eine eigene Uhr die mit jedem Ereignis aktualisiert wird
Wie funktioniert die Lamport Uhr
• “Happened before Relation”: Zwei Ereignisse (e1 & e2) erfüllen sie wenn:
○ e1 & e2 in genau dieser Reihenfolge auftreten
○ e1 das Senden und e2 das Empfangen einer Nachricht ist
○ es gibt ein Ereignis e’, so dass e1 -> e’ -> e’ -> e2
- Zähler wird bei jedem Ereignis erhöht
- Aktueller Zählerstand wird an jede Nachricht als Zeitstempel angehängt
- Wird eine Nachricht empfangen, deren Zeitstempel größer oder gleich dem aktuellen Stand der eigenen Uhr ist, wird sie auf Zeitstempel + 1 gesetzt.