Thuật toán đảm bảo dữ liệu trên cơ sở dấuNguyên lý: Tập hợp các yêu cầu cập nhật được sắp xếp theo cùng một kiểu trên tất cả các trạm nhờ cơ chế dấu.. Trên mỗi trạm, tồn tại một tiến
Trang 1GVHD: PGS.TS Lê Văn Sơn
Học viên thực hiện: Phùng Hữu Đoàn
BÁO CÁO TIỂU LUẬN
MÔN HỆ TIN HỌC
PHÂN TÁN
Trang 2• Đề tài:
• THUẬT TOÁN GẮN BÓ
TRÊN CƠ SỞ DẤU
Trang 3Trong chương 1 tôi nêu khái quát chung về hệ tin học phân tán và vấn đề hệ thống nhiều bản sao, trong đó có nêu rõ sắp xếp kiểu đóng
Trong chương 2 tôi trình bày thuật toán gắn bó
dữ liệu trên cơ sở dấu
Cuối cùng là bài tập
Trang 4 Thuật toán đảm bảo dữ liệu trên cơ sở dấu
Nguyên lý: Tập hợp các yêu cầu cập nhật được sắp xếp theo cùng một kiểu
trên tất cả các trạm nhờ cơ chế dấu Theo đó mỗi một yêu cầu được phát đi cho tập hợp các trạm Trên mỗi trạm, tồn tại một tiến trình Server đảm nhận nhiệm vụ tiếp nhận các yêu cầu theo trật tự của dấu Điều đó cho phép có được một sự gắn bó yếu giữa các bản sao
Triển khai hệ ổn định: Các giao dịch cần xét là các khả năng đọc, ghi
hay cập nhật Cập nhật được xác định như là một dãy các thao tác đọc và ghi, thao tác kiểm tra đọc tức thì trạng thái hiện hành của một bản sao
Mỗi một server tiếp nhận các yêu cầu ghi đến từ trạm cục bộ ở thời điểm cho trước Nó tiếp nhận các yêu cầu và tính toán trên cơ sở dấu theo tiêu chí lâu nhất
Khi trạm i truyền các thông điệp cho trạm j, Trật tự nhận các thông điệp tại j là hoàn toàn giống với trật tự của các thông điệp phát đi Giả thiết này được kiểm tra trong các mạng thông thường Việc xác định các yêu cầu cần xử lý trên một trạm là hoàn toàn có thể
Trang 5 Thuật toán đảm bảo dữ liệu trên cơ sở dấu
1 Tập hợp các yêu cầu ghi khi chờ chứa các yêu cầu từ tất cả các
trạm khác Trong trường hợp này các yêu cầu đi qua, nếu chúng tồn tại, là mới hơn so với các yêu cầu đã đi qua Nói cách khác, yêu cầu lâu nhất chính là yêu cầu đang chờ
2 Tồn tại các trạm mà không có bất kỳ yêu cầu nào được truyền đến
Ta được đưa các trường hợp trước đây bằng cách truyền cho tất cả các trạm một thông điệp yêu cầu và bắt buột phải xác nhận Do vây, sau một khoảng thời gian, theo giả thiết về độ ổn định, ta sẽ nhận hoặc là các yêu cầu đi qua, hoặc là các trả lời cho thông điệp yêu cầu Lúc này, ta có được các thông điệp đến từ tất cả các trạm
Có 2 trường hợp cần xem xét:
Trang 6Hai vấn đề mở rộng hơn đối với thuật toán này cho phép rút ra hay chen vào tùy ý một trạm nào đó Ngược lại, thuật toán chỉ sống trong trường hợp có sự cố, nếu các điều kiện sau đây được tôn trọng:
1 Việc đột nhiên biến mất đi một trạm nào đó phải được các
trạm khác nhận biết tự động.
2 Việc phát một thông điệp là một phép toán không chia cắt
được nữa Đó là một thông điệp hoặc là tất cả đều phải nhận được hoặc là không trạm nào nhận được cả.
Thuật toán đảm bảo dữ liệu trên cơ sở dấu
Vì vậy, việc tuân thủ hai điều kiện trên đặt ra cho chúng ta tình hình là nếu điều kiện đầu tiên có thể được khống chế, thì điều kiện thứ hai rất khó đảm
bảo
Trang 7Bài tập
Đề bài:
• Đây là một bài toán dựa vào thuật toán Mullery
• Trong hệ thống phân tán giả định có độ ổn định tuyệt vời, ta muốn duy trì một sự gắn bó mạnh giữa các bản sao của một đối tượng được định vị trên các trạm khác nhau.
• Thuật toán dựa trên các nguyên lý sau:
• Trước khi thực hiện cập nhật, một trạm nào đó cần phải yêu cầu và thống nhất với các trạm khác.
• Khi đã có sự thống nhất, tiến hành cập nhật; việc cập nhật được tiến hành trên tất cả các bản sao; đối tương không thể truy nhập chừng nào các bản sao còn chưa cập nhật hết.
• Các xung đột giữa các trạm được giải quyết bằng một trật tự
có hệ số ưu tiên giữa các trạm, được cố định một lần lúc khởi tạo.
Trang 8Bài tập
Câu hỏi:
1 Hỏi có bao nhiêu trạng thái khác nhau cần xem xét cho mỗi bản sao.
Trả lời:
Có 4 trạng thái cần xem xét cho mỗi bản sao
STT Trạng thái Giải thích
1 Nghỉ trạm không thực hiện cập nhật nào cả
2 Hoạt động chấp nhận yêu cầu cập nhật và yêu cấu này được
truyền đến các trạm khác để kiểm tra
3 Chờ Đồng ý cho cập nhật và chờ đến trạng thái ưu tiên
4 Cập nhật Đang cập nhật, các yêu cầu khác đến đều được lưu
trữ
Trang 92 Sơ đồ hoạt động của tuật toán
Câu hỏi:
Bài tập
Trang 10Đồng ý ?
Cập nhật tất cả các bản sao
e1, e2, , en
Kiểm tra số trạm
đã cập nhật hết ? Chuyển sang trạm tiếp theo
Kiểm tra
hệ số ưu tiên?
hết
còn
kết thúc đúng
sai
Trang 11Câu hỏi:
3 Đánh giá số lượng các bản sao, số lượng các thông điệp:
Trả lời:
Gọi M là số trạm trên một hệ phân tán
n là số lượng các bản sao của một đối tượng
k số đối tượng của một trạm
Số lượng bản sao của hệ thống = n M k
Với mỗi đối tượng, để cập nhật các bản sao ta thực hiện các bước sau:
Cho i =1 đến n thực hiện v_viết (ei)
< Thực hiện các cập nhật
và chép lại chúng vào tất cả các bản>
Cho i = 1 đến n thực hiện giai_phong(ei)
Như vậy, số lượng thông điệp để thực hiện cập nhật đối với một đối tượng là = 2.n
Với k đối tượng ta có số thông điệp là = k 2n
Hệ thống có M trạm, vậy số thông điệp là : (M-1) k 2n
Bài tập
Trang 12Câu hỏi:
4 Giả sử hệ thống viễn thông hoạt động tốt, thuật toán phải được sửa đổi như thế nào để chịu đựng được sự cố trên một trạm
Trả lời:
Khi gửi thông điệp để cập nhật thì đồng thời kiểm tra phản hồi từ trạm và xác định trạm có bị sự cố hây không.
Bài tập
Trang 13chị trong lớp đã lắng nghe