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

CÔNG CỤ HÓA TIẾN TRÌNH CỦA HỆ THỐNG TRONG TIN HỌC

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 (272.57 KB, 34 trang )

ĐỀ TÀI: “CÔNG CỤ HÓA TIẾN
TRÌNH CỦA HỆ THỐNG TRONG TIN
HỌC”
Người thực hiện: Nguyễn Đăng Huy
Lớp: Khoa học Máy tính khóa 10
Người hướng dẫn: PGS.TS. Lê Văn Sơn
BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
BÁO CÁO TIỂU LUẬN
HỆ TIN HỌC PHÂN TÁN
Đà Nẵng, 07/2014
03/23/15 2
NỘI DUNG TRÌNH BÀY
1. Giới thiệu các công cụ đồng bộ hóa tiến trình trong hệ
thông tin học.
2. Giải quyết bài toán:Bộ tuần tự trên vòng tròn ảo.
03/23/15 3
ĐẶT VẤN ĐỀ

Hệ tin học phân tán là hệ thống rất đa dạng, đa
diện, phức tạp về mặt cấu trúc, là vùng tri thức hiện
đại đang được các chuyên gia công nghệ thông tin
đặc biệt quan tâm và đổi mới rất nhanh chóng.

Một trong những tư tưởng lớn của các hệ phân
tán là phân tán hóa các quá trình xử lý thông tin và
thực hiện các công việc đó trên các trạm xa nhau.
03/23/15 4
ĐẶT VẤN ĐỀ


Để thực hiện được như vậy, các tiến trình liên lạc với
nhau, đòi hỏi phải có những cơ chế đồng bộ hóa để bảo
đảm hoạt động của các tiến trình đồng hành không tác
động sai lệch đến nhau.
03/23/15 5
ĐẶT VẤN ĐỀ
Ở tiểu luận này đề cập các công cụ đồng bộ hóa
Ở tiểu luận này đề cập các công cụ đồng bộ hóa
tiến trình sau:
tiến trình sau:

Thuật toán giả phân tán : Hàng đợi tập trung
Thuật toán giả phân tán : Hàng đợi tập trung

Thuật toán Lamport: Hàng đợi phân tán
Thuật toán Lamport: Hàng đợi phân tán

Thuật toán Ricart và Agrawala: Cải tiến của hàng đợi tập
Thuật toán Ricart và Agrawala: Cải tiến của hàng đợi tập
trung
trung
03/23/15 6
CÁC KHÁI NIỆM



Trật tự từng phần
Trật tự từng phầ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.
Giữa các trạm khác nhau , trật tự đó thể
hiện thông qua việc trao đổi các thông điệp với
nhau.
03/23/15 7
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:
• •
a
b
P
1.
a “có trước” b (a

b)
CÁC KHÁI NIỆM



Trật tự từng phần
Trật tự từng phần
03/23/15 8

a
P2.
a “có trước” b (a

b)


b
Q

CÁC KHÁI NIỆM



Trật tự từng phần
Trật tự từng phần
03/23/15 9
3.
a
P
a “xảy ra trước” c (a → c) - bắc cầu -

b
Q

c

CÁC KHÁI NIỆM



Trật tự từng phần
Trật tự từng phần
03/23/15 10




Gắn thời gian lôgic với các sự kiện
Gắn thời gian lôgic với các sự kiện
- Đồ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ồ
CÁC KHÁI NIỆM
03/23/15 11

Đó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ôgic.

Nội dung của phương pháp này là trạm phát được gán một
giá trị gọi là dấu. Giá trị này có tính chất thời điểm cho trạm
phát thông tin và dựa vào đồng hồ lôgic cục bộ của chính
trạm.



Đ
Đ
óng dấu thời gian của Lamport
óng dấu thời gian của Lamport
CÁC KHÁI NIỆM
03/23/15 12



Đ

Đ
óng dấu thời gian của Lamport
óng dấu thời gian của Lamport
CÁC KHÁI NIỆM
1. 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
2. Quy luật 2: Mỗi tiến trình Pi đóng dấu thời
gian cho các thông điệp m gửi đi, Tm = Ci (a)

P
i
a
C
i
C
i
+1

P
i
a
C
i
C
i
+1
(m, T
m
= C
i

(a) )
03/23/15 13



Đ
Đ
óng dấu thời gian của Lamport
óng dấu thời gian của Lamport
CÁC KHÁI NIỆM
3. Quy luật 3: Khi nhận được thông điệp m, tiến
trình P
j
đặt lại giá trị C
j
:
C
j
= max (C
j
, T
m
) + 1
•P
j
C
j
C
j
= max (C

j
, T
m
) + 1
(m, T
m
)
a
03/23/15 14
1. Thuậ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.
CÁC THUẬT TOÁN
03/23/15 15
1
2 3
C
REQ
ACK
1
Tiến trình 1 yêu cầu truy
cập vào miền găng CS.
Điều phối viên đưa yêu cầu
vào hàng đợi và cấp quyền
truy cập vì lúc đầu hàng đợi
trống.
1. Thuật toán giả phân tán : Hàng đợi tập trung

CÁC THUẬT TOÁN
03/23/15 16
1 2 3
C
REQ
1
Không hồi
âm
2
Tiế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.
1. Thuật toán giả phân tán : Hàng đợi tập trung
CÁC THUẬT TOÁN
03/23/15 17
Tiế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
1
2 3
C
REL
ACK
2
1. Thuật toán giả phân tán : Hàng đợi tập trung

CÁC THUẬT TOÁN
03/23/15 18
2. Thuật toán Lamport: Hàng đợi phân tán
2. Thuật toán Lamport: Hàng đợi phân tán

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, qi, 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 ACK.
03/23/15 19


2.
2.
Thuật toán Lamport: Hàng đợi phân tán
Thuật toán Lamport: Hàng đợi phân tán

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 từ tất cả các trạm
+
Yêu cầu REQ của nó ở trên đỉnh của hàng đợi cục
bộ của nó.


Khi một trạm hoàn thành miền găng, nó sẽ gửi khuyến
nghị giải phóng REL đến tất cả các trạm. Yêu cầu của nó
được loại khỏi tất cả các hàng đợi tại thời điểm này.

Nếu các trạm khác đang chờ để thi hành miền găng,
một trong các trạm đó bây giờ có thể bắt đầu thực hiện
miền găng của mình.
03/23/15 20
3. Thuật toán Ricart và Agrawala: Cải
tiến của hàng đợi tập trung
Mục tiêu là giảm việc chuyển thông điệp bằng
cách kết hợp các thông điệp REL và ACK.
Phần yêu cầu của Pi
- Gửi đi thông điệp REQ cho tất cả các tiến trình.
- Truy cập vào CSi sau khi Pi nhận được thông
điệp ACK từ tất cả các tiến trình khác.
03/23/15 21
Phần thu của Pi khi nhận được thông điệp
REQ từ Pj :
- Nếu Pi không muốn truy cập vào miền găng CSi của
nó thì Pi trả lời với thông điệp ACK.
- Nếu Pi đang ở trong miền găng CSi thì Pi hoãn lại
việc hồi âm cho đến khi nó rời khỏi miền găng CSi.
-
Nếu Pi muốn truy cập vào miền găng CSi thì Pi so
sánh thời gian lôgic ti của thông điệp yêu cầu của chính
nó với thời gian lôgic tj của yêu cầu từ Pj :
+ Nếu ti > tj thì Pi trả lời với thông điệp ACK.
+ Nếu ti < tj thì Pi hoãn lại việc hồi âm.

03/23/15 22
BÀI TẬP
Bộ tuần tự tuần hoàn trên vòng tròn ảo
03/23/15 23
1. Bộ tuần tự

Là đối tượng đồng bộ cung cấp cho mỗi yêu cầu một số
nhằm xác lập trật tự.

Để cho 2 yêu cầu kế tiếp nhau:

2 số liên tục nhau được cung cấp.

Giá trị 0 được cấp cho yêu cầu đầu tiên.

Tiến trình nhận giá trị từ bộ tuần tự S: gọi hàm Phieu(S).

Mỗi giá trị chỉ phục vụ cho một và chỉ một sự kiện mà
thôi.
03/23/15 24
1. Bộ tuần tự

Giả sử rằng tất cả các sự kiện được đánh số bởi bộ tuần tự
duy nhất S.

Khi một tiến trình cung cấp cho sự kiện i một số thông qua
Phieu(s):

Các sự kiện t bao hàm các giá trị nhỏ hơn t đã
được diễn ra


Số thứ tự liền kề sau t phải là t+1
03/23/15 25
1. Bộ tuần tự

Một bộ tuần tự mang 2 đặc tính sau :

Nếu a và b là 2 sự kiện được thực hiện trên cùng
hàm Phieu(S), thì ta có a→b hay b→a.

Nếu a thực hiện phép t=Phieu(S) thì giá trị gán
cho t là số lượng các phép Phieu(S) đã được
thực hiện trước a.

×