Cập vào các tài nguyên với số lượng vốn rất hạn chế hay truy cập vào thông tin dùng chung cùng một lúc Tương tranh chính là nguyên nhân chính của các xung đột của giữa các tiến trình
Trang 1Vấn đề gắn bó dữ liệu trong hệ quản lý bãi đỗ xe
và sắp xếp các message đến dựa trên đồng hồ logic
ĐỀ TÀI
Trang 3Chương I Các khái niệm cơ bản về hệ tin học phân tán
I.1 Tổng quan về hệ tin học
I.2 Hệ tập trung
I.3 Hệ phân tán
Trang 7 Được liên kết với nhau
thông qua phương tiện
Trang 8 Hệ 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.
I.3 Hệ phân tán
Trang 9I.3 Hệ phân tán
Các thao tác chuẩn của hệ phân tán:
- Tiếp nhận và ghi yêu cầu chỉ dẫn
- Dịch yêu cầu để có các thông tin cần thiết Thực hiện một số công việc của hệ thống cục bộ như kiểm tra quyền truy cập thông tin, lập hóa đơn dịch vụ
- Gửi kết quả cho hệ thống đã phát yêu cầu
Trang 10Chương II:Bài toán Bãi đỗ xe và Phương pháp đảm bảo gắn bó dữ liệu
II.1 Đặt vấn đề
II.2 Bài toán bãi đỗ xe ô tô
Trang 11II.1 Đặt vấn đề
Vấn đề truy cập tương tranh
Cập vào các tài nguyên với số lượng vốn rất hạn chế
hay truy cập vào thông tin dùng chung cùng một lúc
Tương tranh chính là nguyên nhân chính của các xung
đột của giữa các tiến trình muốn truy cập vào tài nguyên dùng chung
Vấn đề hoạt động hợp lực
Hợp lực là nguyên nhân chính của sự tác động tương
hỗ được lập trình giữa các tiến trình nhằm cho phép chúng tham gia vào các hành động chung
Trang 12II.2 Bài toán Bãi đỗ xe ôtô
Là vấn đề kinh điển trong việc đồng bộ hóa các tiến trình
Trang 13II.2 Bài toán Bãi đỗ xe ôtô
cùng một lúc các NBV giải quyết các xe vào cùng
một vị trí trong bãi (tương tranh) do vì họ thiếu
thông tin
Trang 14II.2 Bài toán Bãi đỗ xe ôtô
Tình huống thứ 3:
+ Giả sử rằng ở thời điểm cho trước ta có 4
người bảo vệ
+ Và có 100 chỗ còn trống
Trang 15II.2 Bài toán Bãi đỗ xe ôtô
Thời hạn truyền và nhận thông điệp có trật tự
Trang 16II.2 Bài toán Bãi đỗ xe ôtô
Trang 17Sự gắn bó giữa 4 người bảo vệ
II.2 Bài toán Bãi đỗ xe ôtô
Trang 18II.2 Bài toán Bãi đỗ xe ôtô
Tình huống thứ 4:
+ Giả sử rằng ở thời điểm cho trước ta có 4
người bảo vệ
+ Và có 100 chỗ còn trống
Trang 19II.2 Bài toán Bãi đỗ xe ôtô
Hiện tượng thể hiện sự không gắn bó thông tin giữa các bảo vệ
Trang 20Chương III Sắp xếp thông diệp dựa trên đồng hồ logic
Trang 21Chương III Sắp xếp thông diệp dựa trên đồng hồ logic
III.1.1 Các qui tắc cho các thuật toán cung cấp trong hệ phân tán:
III.1.2 Miền găng
III.1.3 Phân nhóm các thuật toán truy cập loại trừ tương hỗ
Trang 22III.1.1 Các qui tắc cho các thuật toán
cung cấp trong hệ phân tán
Trang 23III.1.2 Miền găng
Miền găng: đoạn chương trình cho phép tiến trình truy cập vào tài nguyên dùng chung
Trang 24III.1.3 Phân nhóm các thuật toán
truy cập loại trừ tương hỗ
Truy cập vào miền găng dựa trên sự xác nhận(contention
Trang 25III.1.3 Phân nhóm các thuật toán
truy cập loại trừ tương hỗ
Tổng quát
+ Một trạm bất kỳ trong hệ thống có thể
- Yêu cầu miền găng
- Thi hành miền găng
- Hoặc không làm gì cả đối với miền găng
Trang 26- p0 gửi thông báo m0 cho p1
- Trước khi m0 tới p1, p1 gửi thông báo m1 cho p0
Trang 27III.1.4 Đồng hồ logic
Khái niệm đồng hồ logic: Là các giá trị gán cho các sự kiện
tính để cung cấp thông tin về thứ tự xảy ra của chúng
Số nguyên L(e) gán cho sự kiện e trong một thực hiện thỏa mãn điều kiện a b L(a) < L(b)
Giải thuật nhãn thời gian logic:
- Mỗi bộ xử lý pi duy trì một biến đếm (nhãn thời gian logic)
Li, có giá trị ban đầu là 0
- Mọi thông báo pi gửi đi được gán nhãn thời gian giá trị
hiện thời của Li
- Với mỗi sự kiện tính a, Li được tăng để > giá trị trước đó
và nhãn thời gian của mọi thông báo nhận được
L(a) là giá trị của Li khi sự kiện a kết thúc, ký hiệu Li(a)
Trang 28III.1.5 Thứ tự bộ phận xảy ra trước
Xảy ra trước: là thông tin từ sự kiện a có thể ảnh hưởng đến sự kiện b
Nếu trong hai sự kiện không có sự kiện nào xảy ra trước thì chúng tương tranh, ký hiệu ║
Trong một thực hiện, sự kiện tính a xảy ra trước sự kiện tính b,
ký hiệu a b, nếu:
1 a và b xuất hiện trên cùng một bộ xử lý và a xảy ra trước b trong thực hiện trên bộ xử lý đó, hoặc
Trang 29III.1.6 Đồng hồ vectơ
- Khái niệm đồng hồ vector : Là các giá trị gán cho các sự kiện
để cung cấp các thông tin không nhân quả và nhân quả giữa chúng
- Giá trị V(e), thuộc tập thứ tự bộ phận, gán cho sự kiện e
trong một thực hiện thỏa đáng thỏa mãn a b V(a) <
Đồng hồ vector tổng quát hóa của đồng hồ logic: Các giá trị được lấy từ một tập thứ tự bộ phận thay vì một tập thứ tự toàn phần
Trang 31III.1.8 So sánh nhãn thời gian vector
Cho V 1 và V 2 là hai vector nguyên n chiều
Trang 32III.1.9 Thực hiện α
Xét một thực hiện α trên một mạng đầy đủ
– Mỗi bộ xử lý pi liên tiếp gửi một thông báo đến pi+1, pi+2, , pn-1, p0, , pi-2
• Gọi sự kiện gửi đầu tiên là ai
Trang 33III.1.9 Thực hiện α
Thực hiện α với N=4
Trang 34III.1.10 Trạng thái kênh truyền
Trạng thái hệ thống bao gồm không chỉ trạng thái các bộ xử lý
mà cả trạng thái các thông báo đang di chuyển
- Giải pháp với nhát cắt gần nhất
- Duyệt mảng store từ chỉ số nhỏ nhất đến chỉ số lớn nhất, giả lập lại các bước tính
Trang 35III.1.11 Hàng đợi
Hàng đợi: là một danh sách tuyến tính mà
- Phép thêm được tiến hành một đầu danh sách,
- Phép loại bỏ được tiến hành tại đầu còn lại của danh sách
- Queue còn gọi là danh sách FIFO (First In First Out)
Trang 36III.2 Giải thuật
Giải thuật Lamport
Giải thuật này nhằm giải quyết vấn đề trình tự (vấn đề mấu chốt của hệ
phân tán) dựa trên giá trị đồng hồ lô-gic để sắp xếp các thông điệp đến
Một sự kiện a sinh ra trong trạm i và được đánh dấu bởi đồng hồ cục bộ gọi
Trang 37III.2 Giải thuật
Theo định nghĩa, ta có:
Trình bày giải thuật :
Trạm i có thể gửi cho các trạm khác thông điệp có dạng (T, Hi, i)
Trang 38III.2 Giải thuật
2 Khi có một thông điệp được gởi đi bởi trạm i đồng thời nó cũng được ghi trong hàng đợi của trạm này
Giả sử rằng mỗi hàng đợi ban đầu chứa các thông điệp:
M i = (REL, H init , i)
Trang 39III.2 Giải thuật
Thuật toán được mô tả theo sơ đồ sau :
+Khởi tạo hàng đợi, mỗi máy tự phát thông điệp
+ Khi trạm đang truy cập vào tài nguyên:
If (state =muon) and (T, Hj,j) < (Ti, Hi,i) then
Begin
Send M(T,Hj,j) đến trạm i INSERT(Mi,hàngđợi) ‘được sắp xếp theo H End
+ Khi trạm đang thực thi yêu cầu
If (H>Hi ) and (Vị trí M ở đầu của hàng đợi) then state=namgiu
+ Khi trạm không thực hiện gì cả If state=ranh then xử lý(các thông điệp hàng đợi) ‘sau đó xoá
Send thông điệp giải phóng đến các trạm
Trang 40III.2 Giải thuật
Thuật toán được mô tả theo sơ đồ sau :
+Khởi tạo hàng đợi, mỗi máy tự phát thông điệp
+ Khi trạm đang truy cập vào tài nguyên:
If (state =muon) and (T, Hj,j) < (Ti, Hi,i) then
Begin
Send M(T,Hj,j) đến trạm i INSERT(Mi,hàngđợi) ‘được sắp xếp theo H End
+ Khi trạm đang thực thi yêu cầu
Trang 41- Sự mâu thuẫn: giả thiết cả hai trạm 1 và 2 cùng thực hiện trùng
nhau Rồi sau đó cả hai điều kiện yêu cầu đều nằm ở đỉnh của hàng đợi của mỗi chúng nhưng trong trường hợp đồng hồ Logic của trạm
1 lại nhỏ hơn trạm 2
- Rõ ràng là yêu cầu trạm i phải có mặt trong hàng đợi của trạm j khi trạm j đang vào đoạn găng Điều này cung cấp sự mâu thuẫn yêu cầu của chính tạm j ở tại đỉnh của hàng đợi yêu cầu khi một đồng hồ logic nhỏ hơn đang có mặt.