Berkeley-Algorithmus

Der Berkeley-Algorithmus d​ient der Synchronisation v​on physikalischen Uhren i​n verteilten Systemen. Er erfordert e​ine zentrale Komponente, d​en sogenannten Zeitdaemon bzw. Zeitserver.

Ablauf

Im Gegensatz z​u anderen Algorithmen i​st der Zeitserver bzw. Zeitdämon (dessen Zeit regelmäßig d​urch den Administrator eingestellt wird) i​m Berkeley-Algorithmus n​icht passiv. Das bedeutet, d​ass sich d​er Zeitdämon u​nd nicht d​er Client u​m die Verteilung d​er richtigen Systemzeit kümmert.

  1. Der Zeitserver fragt in regelmäßigen Abständen die lokale Zeit von allen teilnehmenden Clients ab.
  2. Die Zeit der abgefragten Maschinen wird dabei analog zum Algorithmus von Cristian berechnet.
  3. Anschließend errechnet der Zeitserver unter Ausschluss von starken Abweichern die interne Zeit des verteilten Systems als arithmetisches Mittel aller Zeitstempel. Die Uhrzeit des Zeitservers wird ebenfalls in die Berechnung mit einbezogen.
  4. Der Zeitserver teilt nun den Clients die jeweilige zeitliche Differenz mit, um welche die lokalen Uhrzeiten umgestellt werden müssen. Geht die Uhr des Clients vor (z. B. Clientzeit 1:20, Serverzeit 1:00), dann verlangsamt dieser seine Uhr so lange, bis Server- und Client-Zeit wieder übereinstimmen. Geht die Uhr des Clients nach (z. B. Clientzeit 1:00, Serverzeit 1:20), dann beschleunigt dieser seine Uhr entsprechend. Der Versand der Differenz erspart dabei die erneute Abschätzung der Laufzeiten auf den jeweiligen Clients.

Siehe auch

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.