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ử
lý
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!