Synchronisation1 Flashcards

1
Q

Welche Probleme gibts es mit der Zeit bei zentralisierten und verteilten Systemen?

A

In einem zentralisierten System kein Problem, da es dort
nur eine Zeitquelle gibt.

In verteilten Systemen hat jedoch jeder Knoten seine
eigene Zeitquelle und damit u.U. eine andere Uhrzeit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wann läuft eine Uhr korrekt?

A

eine Uhr läuft korrekt, wenn sie die vom Hersteller
angegebene Driftrate ρ einhält, auch wenn sie dann zu
langsam oder schnell läuft.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie stellt man sicher, dass eine Uhr nie mehr als einen gewünschten Wert falsch geht?

A

Man muss sie periodisch synchronisieren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie funktioniert der Algorithmus von Christian?

A

Es wird die Existenz eines UTC-Empfängers im System
angenommen, der dann als Zeit-Server fungiert.

Jede andere Maschine sendet Time Requests an den Server, der so schnell wie möglich mit der aktuellen UTC antwortet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was sind die beiden Probleme, die beim Algorithmus von Christian auftreten?

A

Client-Uhr geht vor

Wegen Signallaufzeit ist Antwort, wenn sie kommt, schon veraltet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was will man mit der Einführung von NTP (Network Time Protocol) erreichen?

A

-Clients sollen sich möglichst genau mit UTC synchronisieren
können

-Bereitstellung eines zuverlässigen Dienstes mittels
Redundanz

-Clients sollen in der Lage sein, sich oft zu synchronisieren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Beschreiben Sie die funktionsweise von NTP

A

Der NTP-Dienst wird von einem Netzwerk von Servern
erbracht, Primary Servers sind direkt mit der UTC-Quelle
verbunden und Secondary Servers synchronisieren sich mit den Primary Servers.

-Clients synchronisieren sich mit dem Server mit der
geringsten gemessenen Signallaufzeit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie funktioniert der Berkeley-Algorithmus?

A

-Ein Rechner wird als Zeit-Server bestimmt

-Zeit-Server fragt regelmäßig aktiv bei allen Rechner nach
aktueller Zeit und bildet Durchschnitt

-Durchschnitt wird allen Rechnern mitgeteilt, die ihre Uhren
danach anpassen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Warum wurde die logische Zeit eingeführt?

A

Da es unmöglich ist, physikalische Uhren in verteilten Systemen absolut zu synchronisieren. Einige Anwendungen benötigen jedoch genau diese Information, dafür aber keinen Bezug zur realen Zeit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Beschreiben Sie die Happened-Before-Beziehung

A

-Notation a → b bedeutet: a hat vor b stattgefunden
-wenn in einem Prozess pi gilt: a →i b, dann gilt auch für das Gesamtsystem: a → b
-Ereignisse, die nicht in dieser Beziehung stehen, gelten als
nebenläufig

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie funktioniert der zentrale Algorithmus zum gegenseitigen Ausschluss?

A
  • Einer der Prozesse wird zum Koordinator für kritische Region bestimmt.
  • Alle anderen benötigen Erlaubnis zum Betreten kritischer Region von Koordinator.
  • Wenn kritische Region frei, erteilt Koordinator OK
  • Token.

-Nach Verlassen kritischer Region
gibt Prozess Token zurück.

-Wenn kritische Region nicht frei, nimmt Koordinator Prozess in Warteschlange auf. Prozess erhält erst Token, wenn alle Prozesse vor ihm bedient wurden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vorteile des zentralen Algorithmus?

A

-gegenseitiger Ausschluss wird erreicht
-fair: Tokens werden in Reihenfolge der Anfragen vergeben
-einfach zu implementieren
-nur 3 Nachrichten pro Zugang zu kritischer Region
(Anfrage, Erlaubnis, Freigabe)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nachteile des zentralen Algorithmus?

A
  • Koordinator ist Single Point of Failure
  • mangelnde Skalierbarkeit (bzgl. Anzahl beteiligter Prozesse)
  • Keine Antwort kann lange Warteschlange oder toten Koordinator bedeuten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie funktioniert der verteilte Algorithmus zum gegenseitigen Ausschluss?

A
  • Besitzt keinen ausgewiesenen Koordinator.
  • Jeder Prozess verwendet logische Uhr
  • Wenn Prozess kritische Region betreten will, sendet er Request an alle anderen Prozesse.
  • Erst wenn alle Prozesse OK gegeben haben, kann der Prozess die kritische Region betreten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Warum ist der verteilte Algorithmus so scheisse?

A
  • Jeder Knoten ist ein Single Point of Failure (lässt sich durch sofortige Bestätigungsnachrichten minimieren, aber nicht ausschalten)
  • Jeder Prozess muss bei jeder Entscheidung mitwirken, auch wenn er selbst nicht konkurriert (Skalierbarkeit!)
  • mehr Nachrichten, größere Netzwerklast
  • Knoten mit langsamster Zeit gewinnt → nicht fair
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie funktioniert der Token-Ring-Algorithmus?

A
  • Prozesse werden in logischem Ring angeordnet (z.B. anhand (Network-ID, Prozess-ID)-Kombination
  • Token kreist durch Ring.
  • Wenn Prozess, der Token bekommt, kritische Region betreten möchte → selbiges einmal tun, danach Token weitergeben
  • Ansonsten Token einfach weitergeben.
17
Q

Vorteile des zentralen Token-Ring-Algorithmus?

A
  • Korrektheit leicht zu sehen

- fair: Token wird der Reihe nach vergeben → kein Aushungern

18
Q

Nachteile des zentralen Token-Ring-Algorithmus?

A
  • tote Prozesse müssen erkannt werden
  • verlorene Token schwer zu erkennen (lange Verweilzeit)
  • Koordinator muss verlorenes Token neu einspeisen