Tải bản đầy đủ (.ppt) (22 trang)

Tiểu luận môn Hệ Phân tán Vấn đề đồng bộ hóa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (436.18 KB, 22 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Báo cáo
HỆ PHÂN TÁN
Giáo viên hướng dẫn: TS. LÊ VĂN SƠN
Người thực hiện: NGUYỄN VĂN BÌNH
Lớp: Khoa học máy tính Khóa 10
Đà Nẵng, 7/2009

2
NỘI DUNG

Vấn đề đồng bộ hóa

Giải thuật loại trừ tương hỗ

Bài tập

Nhận xét

3
ĐỒNG BỘ HÓA CÁC TIẾN TRÌNH

Mọi hệ thống tin học, đều cần cung
cấp cơ chế đủ mạnh và hiệu quả để
có thể đồng bộ hóa các tiến trình

4
VÍ DỤ: BÀI TOÁN BÃI ĐỖ XE

Có 3 thông điệp được phát đi đồng thời:


STT Ký hiệu Thông tin phát đi
1 M1 Thêm 20 chỗ trống
2 M2 Có 10 chỗ bị chiếm
3 M3 Dành 10% chỗ trống để quét dọn bãi
 Trình tự nhận và xử lý các thông điệp khác nhau?

5
Không gắn bó dữ liệu
Trật
tự
xử

Bảo vệ 1 Bảo vệ 2 Bảo vệ 3 Bảo vệ 4
Thông
điệp
Giá
trị
Thông
điệp
Giá trị Thông
điệp
Giá
trị
Thông
điệp
Giá
trị
100 100 100 100
1 M1 120 M1 120 M3 90 M2 90
2 M3 108 M2 110 M1 110 M3 81

3 M2 98 M3 99 M2 100 M1 101

6
SẮP XẾP KIỂU ĐÓNG DẤU

Đóng dấu là hành vi gán giá trị
nguyên cho một thông điệp nhằm
ghi nhận thời điểm truyền trên cơ
sở tham chiếu đồng hồ lô gích.

Dấu được gắn tại trạm phát

Dấu = thời điểm phát thông tin

7
ĐỒNG HỒ LÔ GÍCH

Mỗi trạm s được trang bị công tơ: Hs

Hs tăng giữa 2 sự kiện kế tiếp

Trạm e phát thông điệp: ghi giá trị
T = He

Trạm r nhận thông điệp: cập nhật đồng
hồ: Hr = T + 1

8
THUẬT TOÁN LOẠI TRỪ TƯƠNG HỖ


Các kiểu thông điệp:

(REQ, Hi, i) : Thông điệp REQ được phát đi cho tất
cả các trạm, khi trạm i muốn vào trong đoạn găng.

(ACQ, Hi, i) : Thông điệp ACQ hồi âm bởi trạm i, khi
trạm i đã nhận được thông điệp REQ từ trạm phát.

(REL, Hi, i) : Thông điệp REL được phát đi cho tất cả
các trạm, khi i đã rời khỏi đoạn găng.

9

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.

Mỗi trạm 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ấu thời gian và gửi một thông điệp trả lời ACQ.

Ý tưởng chung là 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.

10

Trạm s
Trạm 1
Trạm 2
Trạm 3
REQ
REQ
REQ
REQ
REQ
REQ
ACQ
ACQ
ACQ
Yêu cầu
thi hành
đoạn găng

11
Trạm s
Trạm 1
Trạm 2
Trạm 3
REQ
REQ
REQ
Hoàn thành
REL
REL
REL


12

Một trạm thi hành miền găng của nó
khi:

Nhận được thông điệp trả lời ACQ từ tất cả
các trạm còn lại.

Yêu cầu REQ của nó ở trên đỉnh của hàng
đợi cục bộ
 Gửi khuyến nghị giải phóng REL
sau khi hoàn thành.

13
VÍ DỤ
Trạm 1 Trạm 2 Trạm 3
1 1 1
2 REQ,2,2 REQ,2,2
REQ,2,1
REQ,2,1
2
3
7
8
9
10
11
3
5
6

10
11
ACQ,4,3
ACQ,6,3
ACQ,6,2
ACQ,9,1
REL,10,1
H1 H2 H3
Đoạn găng của
trạm 1
Đoạn găng của
trạm 2
3
4
5
6
REL,10,1
Loại trừ tương hỗ nhờ dấu

14
BÀI TẬP

Đề bài:
Tự mình đặt ra 1 bài toán (ví dụ giải
phương trình bậc 2), lập trình giải
trên máy đơn bằng PASCAL và trên
ASP. Hãy rút ra những kết luận
quan trọng về phân tán.

15

Chương trình Pascal giải phương trình bậc 2:
Program PTB2;
uses crt;
Var a,b,c:integer;
delta,x1,x2:real;
Begin
clrscr;
writeln('- Giai phuong trinh bac hai -');
repeat
write('+ Nhap he so a: ');
readln(a);
Until a<>0;
write('+ Nhap he so b: ');
readln(b);
write('+ Nhap he so c: ');
readln(c);
delta:=b*b-4*a*c;
if delta < 0 then
write('Phuong trinh vo nghiem')
else if delta = 0 then
writeln('Phuong trinh co 2 nghiem bang nhau x1 = x2 = ',-(b/(2*a)):6:2)
else
begin
x1:=(-b-sqrt(delta))/2*a;
x2:=(-b+sqrt(delta))/2*a;
writeln('Nghiem 1 x1= ',x1:6:2);
write('Nghiem 2 x2= ',x2:6:2);
end;
readln;
End.


16
Kết quả chạy thử
- Giai phuong trinh bac hai –
+ Nhap he so a: 1
+ Nhap he so b: -3
+ Nhap he so c: 2
Nghiem 1 x1 = 1
Nghiem 2 x2 = 2

17
Nhận xét

Chương trình chỉ chạy trên máy
đơn, nghĩa là chương trình sử dụng
các tài nguyên trên một máy đơn
(bộ vi xử lý, bộ nhớ…) để xử lý và
cho kết quả, mà không cần phải
truy cập mạng hay sử dụng tài
nguyên của các hệ thống khác.

18
Giải phương trình bậc 2 trên trang ASP

19
Nhận xét

Đây là mô hình hoạt động ứng với
một hệ phân tán


Hệ thống hoạt động dựa trên mô
hình client/server (máy chủ/máy
khách).

20
Nguyên tắc hoạt động

Request (Yêu cầu)
Cơ sở dữ liệu
Database
Cơ sở dữ liệu
Database
XỬ LÝ
Kết quả
HTTP transport
Server-side system

21
Nhận xét

Đặc điểm quan trọng của hệ phân tán:

Không dùng chung hoặc chia sẻ bộ nhớ

Không sử dụng chung đồng hồ xung nhịp

Chúng liên lạc với nhau thông qua mạng truyền
thông

Mỗi hệ xử lý có bộ xử lý, bộ nhớ và hệ điều hành

riêng của nó.

Thành phần của hệ phân tán bao gồm các
hệ thống cục bộ

một hay nhiều hệ thống phát các yêu cầu thông tin

các hệ lời các yêu cầu có liên quan đến phần dữ
liệu của mình

22
XIN CẢM ƠN THẦY VÀ CÁC BẠN
ĐÃ LẮNG NGHE!

×