Một thuật toán tối ưu CO lưu trữ trong các bản ghi thông báo địa phương và lan truyền trên thư, thông tin của các hình thức "d là một điểm đến m" về một tin nhắn M gửi trong quá khứ quan hệ nhân quả, như là dài như và chỉ miễn là:(Hạn chế tuyên truyền tôi) nó không biết rằng M thông báo được gửi đến d, và(Tuyên truyền khó khăn II) nó không biết rằng một tin nhắn đã được gửi đến d trong tương lai quan hệ nhân quả của Send(M), và do đó nó không được đảm bảo bằng cách sử dụng một lý luận dựa trên transitivity tin nhắn M sẽ được gửi đến d trong CO.Các khó khăn tuyên truyền cũng ngụ ý rằng nếu một trong hai (I) hoặc (II) là sai, thông tin "d ∈ M.Dests" không phải được lưu trữ hoặc tuyên truyền, ngay cả khi đếnHãy nhớ rằng (I) hoặc (II) đã được giả mạo. Nói một cách khác nhau, các thông tin "d ∈ Mi,a.Dests" phải có sẵn trong tương lai quan hệ nhân quả của sự kiện ei, một, nhưng:• không trong tương lai quan hệ nhân quả của Deliverd(Mi,a), và• không trong tương lai quan hệ nhân quả của ek, c, nơi d ∈ Mk,c.Dests và có là không có kháctin nhắn được gửi nào giữa Mi, một và Mk, c đến cùng một đích d.Trong tương lai quan hệ nhân quả của Deliverd(Mi,a), và Send(Mk,c), các thông tin là dự phòng; ở những nơi khác, nó là cần thiết. Ngoài ra, để duy trì điều, không có thông tin khác cần được lưu giữ, bao gồm thông tin về những gì các thư đã được gửi. Như thông tin về những thông điệp có được chuyển giao (hoặc được đảm bảo sẽ được chuyển giao mà không vi phạm trật tự quan hệ nhân quả) là cần thiết cho tình trạng giao hàng, thông tin này suy ra bằng cách sử dụng một thiết lập hoạt động dựa trên logic.Các khó khăn tuyên truyền được minh họa với sự giúp đỡ của con số 6,12. Tin nhắn M được gửi bởi quá trình tôi tại sự kiện e để quá trình d. Thông tin"d ∈ M.Dests":• phải tồn tại ở e1 và e2 vì (I) và (II) là có thật;• không phải tồn tại e3 vì (I) là sai;• không phải tồn tại ở e4, e5, e6 vì (II) là sai;• không phải tồn tại ở e7, e8 vì (I) và (II) là sai.Thông tin về tin nhắn (i) không được biết đến để được giao hàng và (ii) không được bảo đảm sẽ được chuyển giao trong CO, một cách rõ ràng được theo dõi bởi các thuật toán sử dụng (nguồn, dấu thời gian, điểm đến) thông tin. Các thông tin phải được xóa ngay sau khi một trong hai (i) hoặc (ii) trở thành sai. Vấn đề quan trọng trong việc thiết kế một thuật toán CO tối ưu là để xác định các sự kiện tại đó (i) hoặc (ii) trở nên sai. Thông tin về tin nhắn đã gửi và thư bảo đảm sẽ được chuyển giao trong CO ngầm theo dõi mà không cần lưu trữ hoặc tuyên truyền nó, và có nguồn gốc từ thông tin rõ ràng. Thông tin tiềm ẩn như vậy được sử dụng để xác định khi (i) hoặc (ii) trở thành sai để rõ ràng thông tin được lưu trữ hoặc mang trong thư. 6,12 hình minh họa cần và đủCác điều kiện cho quan hệ nhân quả dĐặt hàng [21].tôiTin nhắn gửi đến dCác biên giới của tương lai quan hệ nhân quả của sự kiện tương ứngSự kiện tại tin nhắn đó được gửi đến d, và đó là không có trường hợp như vậy trên bất kỳ đường dẫn quan hệ nhân quả giữa sự kiện e và sự kiện nàyThông tin "d là một đích. m"phải tồn tại cho đúng đắnInfo "d is a dest. of M" must not exist for optimalityThe algorithm is given in Algorithm 6.3. Procedure SND is executed atomi- cally. Procedure RCV is executed atomically except for a possible interruption in line 2a where a non-blocking wait is required to meet the Delivery Condi- tion. Note that the pseudo-code can be restructured to complete the processing of each invocation of SND and RCV procedures in a single pass of the data structures, by always maintaining the data structures sorted row–major and then column–major.1. Explicit tracking Tracking of (source, timestamp, destination) informa- tion for messages (i) not known to be delivered and (ii) not guaranteed to be delivered in CO, is done explicitly using the l.Dests field of entries in local logs at nodes and o.Dests field of entries in messages. Sets li,a.Dests and oi,a.Dests contain explicit information of destinations to which Mi,ais not guaranteed to be delivered in CO and is not known to be delivered. The information about “d ∈ Mi,a.Dests” is propagated up to the earliestevents on all causal paths from (i, a) at which it is known that Mi,a is delivered to d or is guaranteed to be delivered to d in CO.2. tiềm ẩn theo dõi theo dõi các tin nhắn hoặc (i) đã deliv-ered, hoặc (ii) bảo đảm sẽ được chuyển giao trong CO, được thực hiện ngầm. Thông tin về tin nhắn (i) đã được phân phối hoặc (ii) bảo đảm sẽ được chuyển giao trong CO bị xóa và không phổ biến bởi vì nó là dự phòng như xa như thực thi lệnh CO là có liên quan. Tuy nhiên, nó là hữu ích trong việc xác định những thông tin mà đang được tiến hành trong các tin nhắn khác và được lưu trữ trong Nhật ký tại các nút khác đã trở thành dự phòng và do đó có thể được thanh lọc. Ngữ nghĩa ngầm được lưu trữ và tuyên truyền. Thông tin về tin nhắn (i) đã được phân phối này hoặc (ii) bảo đảm sẽ được chuyển giao trong
đang được dịch, vui lòng đợi..
