XÂY DỰNG GIẢI PHÁP ĐỒNG BỘ HÓA TIẾN TRÌNH TRÊN HỆ PHÂN TÁN VỚI 4 SERVER Tổng Quan hệ phân tán Đồng bộ hóa tiến trình Các thuật toán đồng bộ hóa Bài toán đồng bộ hóa tiến trình trên hệ phân tán với 4 server Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành.
Trang 1XÂY DỰNG GIẢI PHÁP ĐỒNG BỘ HÓA TIẾN TRÌNH TRÊN HỆ PHÂN TÁN VỚI 4 SERVER
GVHD : PGS TS Lê Văn Sơn
Học viên : Nguyễn Anh Toàn
Hoàng Xuân Đăng Cường Ngô Minh Cường
Đoàn Sinh Công
Lớp :
K7MCS
Trang 2NỘI DUNG
Tổng Quan hệ phân tán
Đồng bộ hóa tiến trình
Các thuật toán đồng bộ hóa
Bài toán đồng bộ hóa tiến trình trên hệ phân tán với 4 server
Trang 3Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử
lý nằm tại các vị trí khác nhau được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành
C¸c
hÖ thèng phÇn mÒm
HÖ thèng d÷ liÖu
H×nh I-6 Bèn thùc thÓ cña hÖ tin häc ph©n t¸n.
HÖ thèng truyÒn th«ng
TËp hîp phÇn cøng
Hệ tin học phân tán
Trang 4hệ phân tán có các ưu điểm căn bản
so với hệ tập trung:
•Tăng tốc độ bình quân trong tính toán, xử lý
•Cải thiện tình trạng luôn sẵn sàng của
các loại tài nguyên
•Tăng độ an toàn cho dữ liệu
•Đa dạng hoá các loại hình dịch vụ tin học
•Đảm báo tính toàn vẹn của thông tin
Trang 5ĐỒNG BỘ HÓA
TIẾN TRÌNH
Trang 6Đồng bộ hóa các tiến trình trong hệ
điều hành phân tán
• Trong hệ phân tán, việc đồng bộ hóa chủ yếu yêu cầu thiết lập một trật tự giữa các sự kiện
• Trật tự đó thể hiện thông qua việc trao đổi các thông điệp với nhau
•Lamport đã đưa ra rằng hai sự kiện từ các trạm khác nhau chỉ có thể có trật tự nếu chúng được tách rời với nhau bằng cách gửi và nhận thông điệp
Trang 7Thời gian lôgic và trật tự sự kiện từng
phần [Lamport]
Trật tự giữa các sự kiện có thể được xác lập nhờ vào quan hệ “có trước” (), thỏa mãn các điều kiện sau:
Trang 8Thời gian lôgic và trật tự sự kiện từng
phần [Lamport] (t.t)
3
a P
a “xảy ra trước” c (a c) - bắc cầu
Trang 10Nếu P1 là sự kiện phát thông điệp và Q2 là sự kiện nhận tương ứng thì: P1 Q2
Trang 11Trật tự các sự kiện được định nghĩa như sau:
•Nếu A và B là hai sự kiện của cùng một trạm
và A xảy ra trước B thì ta có AB
•Nếu A là phát thông điệp từ một trạm nào đó
và B là nhận thông điệp thì ta có AB
•Nếu AB và BC, thì AC
•Nếu hai sự kiện A và B xảy ra ở hai tiến trình riêng biệt và không trao đổi thông điệp thì các tiến trình này được gọi là song song (A||B)
Thời gian lôgic và trật tự sự kiện từng
phần [Lamport] (t.t)
Trang 12Thời gian lôgic và trật tự sự kiện từng
phần [Lamport] (t.t)
Gắn thời gian lôgic với các sự kiện
• Các đồng hồ lôgic: gán một số cho mỗi sự kiện cục bộ nhưng không liên quan đến thời gian vật
lý
sự kiện a,b : nếu a b thì C (a) < C (b)
Điều kiện đồng hồ
Trang 13Thời gian lôgic và trật tự sự kiện từng
phần [Lamport] (t.t)
Gắn thời gian lôgic với các sự kiện
a Pi
Trang 14CÁC THUẬT TOÁN
Trang 15Thuật toán giả phân tán : Hàng đợi tập trung
- Có một trạm điều khiển việc cung cấp tài nguyên
- Trạm điều khiển duy trì một hàng đợi chứa các yêu cầu và cấp cho mỗi trạm quyền truy cập vào miền găng theo lần lượt
Trang 16Tiến trình trạm điều khiển với Hàng đợi Yêu cầu
Trang 17Tiến trình 2 yêu cầu truy cập vào CS Điều phối viên xếp yêu cầu vào hàng đợi và từ chối không cho truy cập vì hàng đợi không trống
Trang 18Tiến trình 1 rời khỏi
CS Điều phối viên loại bỏ
1 khỏi hàng đợi và cấp quyền truy cập cho tiến
trình đầu tiên trong hàng đợi – đó là tiến trình 2
C
2
Trang 19Thuật toán đóng dấu thời gian của Lamport
• Thuật toán là sự suy rộng của Hàng đợi tập trung
•Sử dụng cơ chế đóng dấu thời gian cho việc đồng bộ các đồng hồ lôgic
•Giả định các tiến trình liên lạc thông qua các kênh FIFO tin cậy
Trang 20Thuật toán đóng dấu thời gian của Lamport
Quy luật 1: Mỗi tiến trình Pi gia tăng Ci thêm một trị số giữa hai sự kiện thành công
Các qui luật:
P i C i a C i +1
Trang 21Thuật toán đóng dấu thời gian của Lamport
gian cho các thông điệp m gửi đi, Tm = Ci (a)
Các qui luật:
P i C i a C i +1
(m, T m = C i (a) )
Trang 22Thuật toán đóng dấu thời gian của Lamport
trình Pj đặt lại giá trị Cj: Cj = max (Cj, Tm) + 1
Trang 23Các kiểu thông điệp :
• (REQ, Ci, i) : Yêu cầu truy cập vào miền găng
CS của tiến trình Pi
• (REP, Ci, i) : Hồi âm từ tiến trình Pi cho tiến trình Pj khi Pi nhận yêu cầu từ Pj
• (REL, Ci, i) : Thông điệp giải phóng từ Pi
thông báo cho biết nó đã rời khỏi CS
Các biến tiến trình:
• Ci : Đồng hồ cục bộ của Pi, khởi tạo từ 0
• qi : Hàng đợi [0 N-1] chứa các thông điệp
Trang 24 Khi một tiến trình tại trạm Si muốn thi hành đoạn găng,
nó sẽ gửi thông điệp REQ có đánh dấu thời gian cho tất
cả các trạm trong hệ thống kể có trạm Si.
Mỗi trạm, Si, duy trì một hàng đợi chứa các thông điệp yêu cầu được sắp xếp theo trật tự các dấu thời gian
Khi một trạm nhận được yêu cầu, nó sẽ đưa thông điệp
đó vào hàng đợi yêu cầu của nó theo thứ tự dấ
một tiến trình không thể thi hành đoạn găng của nó cho đến khi nó nhận được trả lời từ tất cả các trạm khác u thời gian và gửi một thông điệp trả lời REP
Khi một trạm hoàn thành miền găng của nó, nó sẽ gửi khuyến nghị giải phóng REL đến tất cả các trạm
Thuật toán
Trang 25BÀI TOÁN đỒNG BỘ
HÓA TIẾN TRÌNH
TRÊN HỆ PHÂN TÁN
VỚI 4 SERVER
Trang 26REQ,2, 1
REQ,2, 1
REQ,2, 1
2
REP 5,2
REL 11,3
phóng miền găngREL
11,3
REL 11,3
Trang 27Q & A