You are on page 1of 2

The logical clock timestamp scheme presented in this chapter provides the

following guarantee: if event A happens before event B, then the timestamp of A


is smaller than the timestamp of B. Note, however, that we cannot order two
events based only on their timestamps. The fact that an event C has a timestamp
that is smaller than the timestamp of event D does not necessarily mean that
event C happened before event D; C and D could be concurrent events in the
system. Discuss ways in which the logical clock timestamp scheme could be
extended to distinguish concurrent events from events that can be ordered by the
happened-before relation.

Lược đồ dấu thời gian đồng hồ lôgic được trình bày trong chương này cung cấp
đảm bảo sau: nếu sự kiện A xảy ra trước sự kiện B, thì dấu thời gian của A nhỏ
hơn dấu thời gian của B. Tuy nhiên, lưu ý rằng chúng ta không thể sắp xếp hai sự
kiện chỉ dựa trên dấu thời gian của chúng . Việc một sự kiện C có dấu thời gian
nhỏ hơn dấu thời gian của sự kiện D không nhất thiết có nghĩa là sự kiện C đã xảy
ra trước sự kiện D; C và D có thể là các sự kiện đồng thời trong hệ thống. Thảo
luận về cách mà lược đồ dấu thời gian đồng hồ lôgic có thể được mở rộng để
phân biệt các sự kiện đồng thời với các sự kiện có thể được sắp xếp theo quan hệ
xảy ra trước đó.

Đồng hồ vectơ có thể được sử dụng để phân biệt các sự kiện đồng thời với các sự
kiện được sắp xếp theo mối quan hệ xảy ra trước. Đồng hồ vectơ hoạt động như
sau. Mỗi quá trình duy trì một dấu thời gian vectơ kết hợp với một vectơ có dấu
thời gian vô hướng, trong đó mỗi phần tử biểu diễn số lượng sự kiện đã xảy ra
trong mỗi quá trình khác trong hệ thống. Chính thức hơn, một quy trình i duy trì
một dấu thời gian vectơ ti sao cho tji bằng số sự kiện trong quy trình j đã xảy ra
trước sự kiện hiện tại trong quy trình i. Khi một sự kiện cục bộ xảy ra trong quy
trình i, tii được tăng thêm một để cho biết rằng một sự kiện nữa đã xảy ra trong
quy trình. Ngoài ra, bất cứ khi nào một thông báo được gửi từ một quá trình sang
một quá trình khác, nó sẽ truyền vectơ dấu thời gian của quá trình nguồn tới quá
trình đích, sau đó cập nhật vectơ dấu thời gian cục bộ của nó để lấy lại thông tin
mới thu được. Chính thức hơn, khi s gửi một tin nhắn cho d, s sẽ giao tiếp ts cùng
với tin nhắn đó và d cập nhật td sao cho tất cả

You might also like