Ví dụ Trong Hình 5.15 (a), node i có j trong đề án nhân rộng nếu r> w.
• Xét nghiệm co Một nút R-rìa i xem xét liệu nó có thể loại trừ
bản thân từ các chương trình sao chép, sử dụng một thử nghiệm co. Node i không bao gồm chính nó từ các đề án nhân rộng nếu khối lượng ghi được truyền đến nó từ j là nhiều hơn so với khối lượng lần đọc rằng tôi sẽ phải chuyển tiếp đến j nếu i là để thoát khỏi chương trình nhân rộng. Trước khi xuất cảnh, node i phải
xin phép j để ngăn chặn một tình huống mà R = {i, j} và cả i
và j đồng thời có một bài kiểm tra co thành công và thoát ra, không để lại bản sao của đối tượng. Ví dụ Trong hình 5.15 (b) , node i không bao gồm chính nó từ các đề án nhân rộng nếu w> r. • Chuyển thử nghiệm Một singleton node i thực hiện các kiểm tra chuyển mạch để xác định xem nó có thể chuyển bản sao của mình cho một số người hàng xóm để tối ưu hóa hàm mục tiêu. Một nút singleton chuyển bản sao của mình cho một người hàng xóm j nếu khối lượng yêu cầu được chuyển tiếp bởi người hàng xóm mà lớn hơn khối lượng yêu cầu các nút sẽ phải chuyển cho hàng xóm rằng nếu các bản sao đã được chuyển từ bản thân cho kẻ lân cận đó. Nếu như một nút j tồn tại, quan sát rằng nó được xác định duy nhất trong số những người hàng xóm của node i. Ví dụ Trong hình 5.15 (c), node i chuyển bản sao của nó để j nếu r + w được chuyển tiếp bởi j là lớn hơn r + w mà node i nhận được từ tất cả các khác. nodes Các xét nghiệm khác nhau được thực hiện vào cuối mỗi Một nút R-hàng xóm cũng có thể là một nút R-tua hoặc một nút singleton "thời đại."; trong cả hai trường hợp, các thử nghiệm mở rộng được thực hiện đầu tiên và nếu nó không thành công, sau đó kiểm tra co hoặc các thử nghiệm chuyển đổi được thực hiện. Lưu ý rằng một nút singleton không thể là một nút R-rìa. Mã này được đưa ra trong thuật toán 5.15. Thực hiện Mỗi nút cần để có thể xác định xem nó là R, cho dù đó là một nút R-người hàng xóm, một nút R-rìa, hoặc một nút singleton. Điều này có thể được xác định nếu một nút biết cho dù đó là trong R, tập hợp các nút hàng xóm, và cho mỗi người hàng xóm như vậy, cho dù đó là trong R. Đây là một tập hợp con của các thông tin cần thiết cho việc thực hiện đọc và ghi các hoạt động, và có thể được theo dõi một cách dễ dàng bằng cách sử dụng sàn giao dịch tại địa phương. Do đó, các hoạt động này không được thể hiện trong các mã trong thuật toán 5.15. Các hành động để phục vụ đọc và ghi các yêu cầu mô tả trước đó cũng là dễ hiểu và không được hiển thị mã. Tính đúng đắn Với một kế hoạch nhân rộng kết nối ban đầu, đề án nhân rộng sau mỗi thời đại vẫn kết nối, và đề án nhân rộng trong hai kỷ nguyên chính kịp thời liên tiếp hoặc giao nhau hoặc là độc thân cận. Tài sản này sau từ thực tế là cho mỗi nút i ∈ R, trong mỗi thời đại, ít nhất một trong ba bài kiểm tra - mở rộng, co thắt, và switch - thành công, và việc chuyển đổi tương ứng thỏa mãn các tài sản trên. Cho hai hợp phần ngắt kết nối của một đề án nhân rộng, nó rất dễ dàng để thấy rằng việc thêm các nút để kết hợp các thành phần không bao giờ có thể làm tăng chi phí (Eq. (5,3)) của đề án nhân rộng. Một khi mô hình đọc-ghi ổn định, các nhân rộng Đề án ổn định trong phạm vi đường kính + 1 số kỷ nguyên, và các chương trình nhân rộng kết quả là tối ưu. Bằng chứng là khá phức tạp; dưới đây là các bước chính để hiển thị chấm dứt, và chúng có thể được xác nhận bằng trực giác. Đối với các lập luận tối ưu, lưu ý rằng mỗi thay đổi trong một kỷ nguyên làm giảm chi phí. Các bằng chứng rằng, kế hoạch nhân rộng trên chấm dứt là tối ưu trên toàn cầu và không chỉ tối ưu cục bộ được đưa ra trong bài báo đầy đủ [37]. Chấm dứt • Sau một thử nghiệm chuyển đổi thành công, không có thử nghiệm mở rộng khác có thể thành công. • Nếu một nút thoát ra khỏi chương trình nhân rộng trong một thử nghiệm co, nó có thể không phải nhập lại các kế hoạch nhân rộng thông qua một bài kiểm tra mở rộng. • Nếu một nút thoát ra khỏi chương trình nhân rộng trong một thử nghiệm chuyển đổi, nó không thể nhập lại chương trình sao chép lại. Như vậy, nếu một nút thoát ra khỏi chương trình nhân rộng, nó chỉ có thể nhập lại bởi một thử nghiệm chuyển đổi, và rằng quá nếu lối ra là qua một bài kiểm tra co. Nhưng sau đó, không có thử nghiệm mở rộng hơn nữa có thể thành công. Do đó, một nút có thể thoát khỏi chương trình nhân rộng cùng một lúc nhiều nhất - thông qua một kiểm tra chuyển mạch. Mỗi nút có thể thoát khỏi chương trình sao chép nhiều nhất hai lần, và sau khi kiểm tra chuyển mạch đầu tiên, không mở rộng có thể xảy ra. Do đó, đề án nhân rộng ổn định. Có thể thấy rằng, kế hoạch nhân rộng đầu tiên mở rộng bất cứ nơi nào có thể, và sau đó hợp đồng. Nếu nó trở thành một singleton, sau đó thay đổi chỉ có thể là thiết bị chuyển mạch.
đang được dịch, vui lòng đợi..