next up previous contents index
Next: 5.6.2 User und Helper Up: 5.6 Verteilte Semaphore Previous: 5.6 Verteilte Semaphore

5.6.1 Logische Uhren

  In einem Netz von Rechnern mit verschiedenen Hardwareuhren ist es zunächst erforderlich die Ereignisse (send und receive) geeignet zu ordnen. D.h. wenn ein Prozess eine Nachricht erhält, so soll sicher gestellt werden, daß seine lokale Zeit  größer der lokalen Zeit des Senders (zum Sendezeitpunkt) ist. Ein Verfahren, das dies garantiert sind die sogenannten logischen Uhren. Dabei verwendet jeder beteiligte Prozess eine lokale (Integer) Variable, in der die aktuelle Zeit gezählt wird. Bei jeder send und receive Operation wird die lokale Zeit weitergezählt. Zusätzlich wird bei jedem send die lokale Zeit mitgeschickt. Der Empfänger bildet dann nach einem receive seine neue Zeit als das Maximum aus seiner bisherigen Zeit und der Zeit, zu der die Nachricht abgeschickt wurde.

Genauer ergibt sich das folgende Schema. lc bezeichnet die lokale Zeitvariable und ts bezeichnet den `Timestamp'  der Nachricht.

Damit ergibt sich eine partielle Ordnung auf den (send und receive) Ereignissen.



parallel@rz.uni-mannheim.de
Mon Okt 28 14:38:25 PST 1996