Professional Documents
Culture Documents
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ả