Time Synchronisation Flashcards
Wie funktioniert das Zählen von Zeit in Computern?
Es gibt eine oszilierenden Quard im Computer mit einem Zähler und einem holding Register. Wenn der Zähler null ist wird ein Interupt ausgelöst und der Zähler wird mit dem Wert aus dem holding Register geladen. Jeder Interupt ist ein Clock tick. Jeder clock tick zählt die gespeicherte Zeit um 1 nach oben.
Was ist das Problem mit Zeitsynchronisaion von mehreren CPUs die alle ihre eigene Zeit benutzen?
Die Quarze oszilieren nicht mit der genau gleichen frequenz
Was bedeutet UTC
Uniersal Coordinated Time. Das ist die offizielle globale Zeit.
Welche Algorithmen gibt es um die Zeit von Computern zu synchronisieren?
- Cristian’s Algorithmus
- Berkeley Algorithmus
- NTP
- PTP
Wofür ist die Synchronisation von Uhren erforderlich?
- damit zwei (oder mehr) Prozesse sich auf die Reihnfolge von Ergebnissen einigen können
- Damit der Zugang zu einer Ressource zeitlich aufgeteilt werden kann.
Kann man Uhren in verteilten Systemen exakt synchronisieren?
Nein
Wie funktioniert Cristian’s Algorithmus?
- Ein Server ist mit einem UTC Service verbunden.
- Jede Maschine im System fragt Periodisch den Server nach der Seit
- Der Server sendet die Zeit and die Maschine
Welche zwei Probleme gibt es bei Christian’ Algorithmus?
- Problem 1: Die gesendete Zeit ist kleiner als die bisherige Zeit. Problem da die Zeit niemals rückwärts laufen kann. Mann muss dafür sorgen das die Zeit auf der Maschine langsammer läuft und die Zeit über einen Zeitraum anpassen
- Problem 2: Das Senden der Nachricht und die verarbeitung der Anfrage braucht Zeit. Diese muss Einberechnet werden: value in reply message + (T1 - T0) /2.
verbesserte Approximation: (t1-t0-I)/2
Wie funktioniert der Berkeley Algorithmus?
- Time Server fragt jede Maschine periodisch nach ihrere Zeit
- Daraus wird die durchschnittliche Zeit berechnet.
- Sagt den Maschienen wie sie ihre Zeit anpassen müssen
Was ist das Network Time Protocol?
- System, welches Computeruhren über das Internet synchronisiert
- ermöglicht eine weltweite Genauigkeit von 1-50 ms zur UTC
- Internet standard protocol: Application Layer mit UDP (port 123)
Wie ist NTP aufgebaut?
- NTP nutzt eine hierarische Serverstruktur
- eine Ebene ist ein Stratum welches seine Zeit mit dem Stratum darüber synchronisiert
- Stratum 0: referenz Uhr, z.B. atomic clock
- Stratum 1: Computer direkt verbunden mit Stratum 0 ohne Netzwerk!
- Stratum 2: synchronisiert über stratum 1 Server
- Stratum 3: NTP Server mit welchen sich Nutzer synchronisieren
Wie funktioniert die Synchronisaton über NTP
- NTP Client fragt regelmäßig einen oder mehr NTP Server und tauscht mehrere Daten aus.
- Zur Synchronisation muss der Client den Time offset und die RTT berechnen.
Was schickt der Time-Daemon an die Systeme?
Seine eigene Zeit oder eine Aufforderung die eigene Zeit zum Server zu senden
Wie lautet die Antwort der Systeme auf den Time-Deamon
Je nach Implementierung was geschickt wurde der Offset zur Zeit oder die eigene Zeit
Was macht der Time Deamon nach erhalten der Zeiten
Er berechnet den arithmetische Mittel und gibt dann den Offset der Zeiten der Systeme an diese zurück.