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

Tiểu luận môn hệ phân tán ĐỒNG BỘ TIẾN TRÌNH

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 (1 MB, 15 trang )


ĐỀ TÀI:
ĐỒNG BỘ HÓA TIẾN TRÌNH
GVHD : PGS. TS LÊ VĂN SƠN
HVTH : NGUYỄN THỊ THÚY HOÀI
LỚP : KHOA HỌC MÁY TÍNH KHÓA 10
TIỂU LUẬN MÔN HỆ PHÂN TÁN

Nội dung trình bày

Tổng quan về hệ phân tán

Bài toán đồng bộ hóa tiến trình

Đồng bộ hóa tiến trình trong hệ phân tán

Công tơ sự kiện_chứng minh bài toán:
Sản xuất thứ i  Tiêu thụ thứ i  Sản xuất thứ (i+N)

Tổng quan về hệ phân tán

Mô hình hệ phân tán:
Chia xẻ
tài
nguyên
Tin cậy
Liên lạc Tăng
tốc

Bài toán đồng bộ hóa tiến trình


Giả sử có thanh ghi couter=5, register1 và
register2 là hai thanh ghi CPU cục bộ

Câu lệnh “counter++” được cài đặt như sau:
register1 = counter
register1 = register1 + 1
counter = register1

Tương tự, câu lệnh “counter ” được cài đặt như sau:
register2 = counter
register2 = register2 - 1
counter = register2
Kết quả khi
thực hiện hai
câu lệnh này
cùng một lúc là
gì? 4, 5 hay 6


Vấn đề cần giải quyết:

nhiều quá trình truy xuất và thao tác cùng dữ liệu đồng hành

kết quả của việc thực thi phụ thuộc vào thứ tự xác định

Giải quyết:

Miền găng

Loại trừ lẫn nhau

Bài toán đồng bộ hóa tiến trình (tt)

Đồng bộ hóa tiến trình trong hệ phân tán

Nguyên nhân:

Vấn đề truy cập tương tranh

Vấn đề hợp lực

Cần đồng bộ hóa tiến trình trong hệ phân tán


Bài toán người sản xuất người tiêu thụ

Giả sử

NP là số lượng sản phẩm sản xuất ra

NC là số lượng sản phẩm tiêu thụ tại thời điểm khởi sự.

Số lượng sản phẩm sản xuất so với số lượng sản phẩm
tiêu thụ không được quá N

Điều kiện

C chỉ tiêu thụ được một sản phẩm, nếu sản xuất sản
phẩm đó đã diễn ra, có nghĩa là, nếu NP – NC > 0

Tương tự, P chỉ sản xuất một thông tin, nếu NP – NC < N

Đồng bộ hóa tiến trình (tt)


Bài toán người sản xuất người tiêu thụ(tt)

Giả sử

Trạm P: NC’ ảnh của NC tăng khi nhận được thông
điệp từ C tiêu thụ mới đã diễn ra.

Trạm C: NP’ ảnh của NP khi nhận thông điệp từ P sản
xuất mới đã diễn ra.

Điều kiện

Trên trạm sản xuất : NP’ – NC > 0

Trên trạm tiêu thụ : NP – NC’ < N
Đồng bộ hóa tiến trình (tt)

Đồng bộ hóa tiến trình (tt)

Phương pháp trật tự từng
phần

Nếu A và B là hai sự kiện của cùng một trạm, A
thực hiện trước B ta có: A  B.

Nếu A phát thông điệp bởi một trạm nào đó và
B là thu của thông điệp này thì ta có A B.

P
1
C
1
P
2
C
2
P
i
C
i
P
i+N
C
i+1
P
i+N+1
P
i
: Sản xuất
thứ i
C
i
: Tiêu thụ
thứ i
Quan hệ có trước trong mô hình người sản xuất-
người tiêu thụ

Công tơ sự kiện

STT Tên hàm Chức năng
1 Tang_len (E) Tăng nội dung công tơ lên 1 đơn vị. Cũng có nghĩa là một sự kiện nhóm E đến.
2 Truy_van (E) Cung cấp giá trị hiện hành của công tơ phối hợp với E
3 Cho (E,n) Treo tiến trình gọi chừng nào giá trị công tơ còn nhỏ hơn n.

Mỗi một công tơ là biến nguyên không lùi, được kết
hợp với một nhóm đặt biệt các sự kiện.

Được khởi động ngay khi thành lập

Ba hàm nguyên thủy của công tơ sự kiện:

Công tơ sự kiện (tt)

Trong bài toán người sản xuất và người tiêu thụ:

Hai công tơ sự kiện NP’ và NC’ được khởi động bằng giá trị 0

Hai biến nguyên NP và NC khởi gán giá trị 0, là cục bộ đối với người sản xuất P và người tiêu
thụ C


Chứng minh P
i
C→
i
P→
i+N



Chứng minh P
i
C→
i

Xét tại trường hợp sản xuất thứ i-1.
Tại PS, NP = i - 1.
Tại CS, NC = i - m (m>0)

NC’ = i - m và NP’ = i – 1
Giả sử PS không sản xuất nữa, CS tiếp tục tiêu thụ đến khi CS tiêu thụ đến sản phẩm thứ i-1 thì
NP’=NC=i-1

NP’-NC>0 không thỏa mãn

Tiêu thụ Ci không thể thực hiện trước sản xuất Pi

Chứng minh P
i
C→
i
P→
i+N
(tt)

Chứng minh C
i
P→
i+N


Xét tại trường hợp sản xuất thứ i-1.
Tại CS, NC = i - 1.
Tại PS, NP = (i – 1) + m (m>0)

NC’ = i – 1 và NP’ = (i – 1) + m
Giả sử CS không tiêu thụ nữa, PS tiếp tục sản xuất đến khi PS sản xuất đến sản phẩm thứ i-1+N thì
NP’ = i – 1 + N và NC’ = i – 1

NP – NC’ = (i – 1 + N) – (i – 1) = N

NP – NC’ < N không thỏa mãn

Pi+N không thể có trước Ci

Chứng minh P
i
C→
i
P→
i+N
(tt)

Như vậy, quan hệ sản xuất và tiêu thụ có quan hệ có trước
như sau:P
i
→ C
i
→ P
i+N
P

1
C
1
P
2
C
2
P
i
C
i
P
i+N
C
i+1
P
i+N+1
P
i
: Sản xuất thứ i
C
i
: Tiêu thụ thứ i
Thuật toán tại trạm sản xuất
PS:
Vòng lặp
Nếu receive(CS)
tang(NC’)
cho(NC’,NP – N + 1)
san_xuat()

send(CS)
NP = NP + 1
Kết thúc vòng lặp
Thuật toán tại trạm tiêu thụ
CS:
Vòng lặp
Nếu receive(PS)
tang(NP’)
cho(NP’,NP + 1)
tieu_thu()
send(PS)
NC = NC + 1
Kết thúc vòng lặp

×