Zum Inhalt springen
uencoder

Vector Clock

Vektoruhren verwenden einen N-dimensionalen Vektor zur Kausalitätsverfolgung und bestimmen, ob Ereignisse nebenläufig oder kausal geordnet sind; eingesetzt zur verteilten Versionsverfolgung.

Zweck

Die Ereigniskausalität in verteilten Systemen ohne zentrale Uhr bestimmen und so kausale Konsistenz ermöglichen.

Mechanismus

Jeder Knoten hält einen Vektor VC[i]. Bei einem lokalen Ereignis wird VC[self]++ ausgeführt. Nachrichten tragen den VC des Senders; der Empfänger bildet das Maximum je Dimension. Gilt VC[a] < VC[b], geht a kausal voran; sind sie unvergleichbar, sind sie nebenläufig.

Anwendungsfälle

  • Kausale Konsistenz
  • Erkennung von Versionskonflikten
  • Ordnung verteilter Ereignisse

Verwandte Tools

References