Zum Inhalt springen

Erweiterte Lamportzeit

aus Wikipedia, der freien Enzyklopädie

Die erweiterte Lamportzeit bzw. erweiterte Lamportuhr ist eine Erweiterung der von Leslie Lamport entwickelten Lamport-Uhr.

Für die Lamportzeit gilt Folgendes:

<math>LC(a) = LC(b) \not\Rightarrow a = b</math>

Um diese Implikation zuzulassen, erweitert man den Zeitstempel der Lamport-Uhr um zusätzliche Informationen, die einer totalen Ordnung unterliegen. Im Rahmen der Lamport-Uhr wäre hier der Name des Prozesses möglich. Man definiert die Uhrenbedingung der erweiterten Lamportzeit wie folgt:

Sei A ein Prozess. Dann sei <math>LC_E(A, e)</math> die erweiterte Lamportzeit des Prozesses A für ein Ereignis e, und es gilt:

<math>LC_E(A, a) < LC_E(B, b) \Leftrightarrow LC(a) < LC(b) \lor (LC(a) = LC(b) \land A < B)</math>

Hierdurch erhalten alle Ereignisse einen eindeutigen Zeitstempel, der einer totalen Ordnung unterliegt. Die schwache Konsistenzbedingung bleibt erhalten, denn es gilt (in der Happened-Before Notation):

<math>a \Rightarrow b \Longrightarrow LC(a) < LC(b) \Longrightarrow LC_E(A, a) < LC_E(B, b)</math>

Mit der erweiterten Lamportzeit gilt demnach die Implikation

<math>LC(a) = LC(b) \Rightarrow a = b</math>