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

Tiểu luận môn hệ phân tán BÀI TOÁN BÃI ĐẬU XE Ô TÔ & VẤN ĐỀ ĐỒNG BỘ HÓA GIỮA CÁC 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 (306.86 KB, 27 trang )

1
Môn học: Hệ Tin Học Phân Tán

Tiểu luận môn học:

GV híng dÉn: PGS-T.S Lª V¨n S¬n
Häc viªn thùc hiÖn: NguyÔn Th Hoài ị
Th oả
L p: Khoa h c máy tính K10ớ ọ
BÀI TOÁN BÃI ĐẬU XE Ô TÔ
&
VẤN ĐỀ ĐỒNG BỘ HÓA GIỮA CÁC TIẾN TRÌNH
2
NỘI DUNG
Phần I. Lý thuyết .
1. Khái quát chung về hệ phân tán.
2. Bài toán bãi để xe ôtô và vấn đề đồng bộ hoá giữa
các tiến trình.
Phần II. Bài tập : Bài số 4 chương IV – Trang 195.
3
I. KHÁI QUÁT VỀ HỆ TIN HỌC PHÂN TÁN:
1. Khái niệm:
Hệ tin học phân tán (Distributed System) là hệ thống
xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi
xử lý nằm tại các vị trí khác nhau được liên kết với
nhau thông qua phương tiện viễn thông dưới sự điều
khiển thống nhất của một hệ điều hành.
PHẦN I :LÝ THUYẾT
BÀI TOÁN BÃI ĐẬU XE Ô TÔ
&
VẤN ĐỀ ĐỒNG BỘ HÓA GIỮA CÁC TIẾN TRÌNH


4
2. Đặc điểm của hệ:

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ớ riêng .
3. Mục tiêu của hệ phân tán:

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 luôn sẵn sàng của các loại tài
nguyên.

Tăng độ an toàn cho dữ liệu.

Đa dạng hóa các loại hình dịch vụ tin học

Đảm bảo tính toàn vẹn của thông tin.
5
II. ĐỒNG BỘ HOÁ GIỮA CÁC TIẾN TRÌNH:
II.1 Đặt vấn đề:
Mọi hệ thống tin học đều cần nghiên cứu công cụ
đủ mạnh và hiệu quả để có thể đồng bộ hóa các tiến trình
và sự trao đổi thông tin sao cho hệ tránh được bế tắc, hai
nguyên nhân cơ bản là:
Tương tranh

Hợp lực
6
II.2 Bài toán bãi để xe ôtô:

Trong đó BV - người bảo vệ
có nhiệm vụ phân phối chỗ cho
các xe ô tô.

VT - vị trí cho từng xe ôtô cụ
thể.

Các mũi tên hai chiều được sử
dụng để mô tả dòng vào ra của
ô tô.
Để rút ra một số vấn đề đang đặt ra cho hệ phân tán về việc
đồng bộ hóa các tiến trình. Ta xem xét một ví dụ kinh điển,
đó là bài toán bãi để xe ô tô, với nội dung:
7
Bài toán nêu ra một số tình huống sau:

Tình huống thứ 1: bãi chỉ có một cổng vào , 1 NBV duy nhất
 NBV không nắm được trạng thái hiện hành của bãi

Tình huống thứ 2: bãi có nhiều cổng vào, tại mỗi cổng có 1 NBV
 Có nhiều trung tâm ra quyết định
Tình huống 2, liên quan đến vấn đề cung cấp tài nguyên của hệ, chức
năng cung cấp được phân tán trên nhiều trạm của hệ. Tình huống đặt ra
cho các NBV(Chương trình cung cấp):
-Phải hợp lực với nhau để phân phối chính xác các chỗ trống trong bãi.
>Như vậy các NBV cần hoạt động gắn bó với nhau, điều này đòi hỏi

họ phải có thông tin đầy đủ về hệ, và phải đồng bộ trong việc xử lý
nguồn thông tin có được.
8
II.2.1 Ví dụ về không gắn bó:
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. Tất cả các NBV để
có thông tin đó, trạng thái của hệ
lúc này là gắn bó. Ba trong số họ
phát đi thông tin cho ở bên

Xem xét một trường hợp về không gắn bó của bài toán bãi
để xe :
Bảng II-1
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
9
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
Sự không gắn bó giữa 4 người bảo vệ

Nếu ta không có ràng buộc nào đối với trình tự xử lý các thông
điệp nhận được của các người bảo vệ thì các NBV sẽ có thông tin
về số lượng chỗ trống khác nhau.
10
II.2.2 Qui tắc cho sự hoạt động gắn bó của các bộ
cung cấp:
stt Qui tắc
1 Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật
2 Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ các
tiến trình
3 Các thông điệp phải được xử lý cùng một trật tự như nhau
trong các chương trình cung cấp.
11
II.3 Vấn đề đồng bộ hóa cho các tiến trình :

Trong các hệ tin học tập trung, vấn đề đồng bộ hóa được giải
quyết thông qua cơ chế loại trừ tương hỗ. Cơ chế này cho
phép xác lập trật tự hoàn toàn các sự kiệ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ự đó có thể thể hiện thông qua việc trao đổi các thông điệp
với nhau.
Có nhiều công trình nghiên cứu về cách sắp xếp trật tự của
các sự kiện, chúng được vận dụng tuỳ vào hệ thống cụ thể.
12
II.4 Sắp xếp kiểu đóng dấu:
II.4.1 Trật tự từng phần (→):
Trong thực tế một số hệ thống khi đồng bộ hóa chỉ đòi hỏi trật
tự từng phần.
Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của
hệ phân tán nhờ vào quan hệ “có trước” (→). Trật tự các sự
kiện được xác định dựa trên các nguyên tắc sau:

Nếu A và B là hai sự kiện của cùng một trạm và A xảy ra
trước B thì ta có A→B.

Nếu A là phát thông điệp từ một trạm nào đó và B là nhận
thông điệp thì ta có A→B.
13
II.4.2 Trật tự tổng quát chặt chẽ - Lamport ( ⇒ ) :
Giải thuật Lamport
Mỗi trạm s đều có trang bị công tơ với các giá trị nguyên
gọi là Hs, đó là đồng hồ logic tăng lên giữa hai sự kiện kế tiếp.
Trạm e phát thông điệp ghi dấu E của mình dựa trên giá trị hiện
hành của He. Khi nhận được thông điệp, trạm r cập nhật đồng hồ Hr
riêng của mình bằng giải thuật sau đây :
Nếu H
r,

thì
H
r
:= H
e
+1
Chấm dứt nếu
14
Ta có thể mở rộng quan hệ → thành quan hệ trật tự chặt chẽ
⇒ bằng cách kết hợp một số khác cố định cho mỗi trạm và
bằng cách đánh dấu thời gian cho mỗi sự kiện a của trạm i bằng
cặp (Hi(a),i).
Theo định nghĩa, ta có :
a ⇒ b ⇒ (H
i
(a) < H
j
(b)) hay (H
i
(a) = H
j
(b) và i<j)
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 là Hi(a). Nếu a và b đều là hai sự kiện trên
hai trạm i và j, ta luôn luôn có quan hệ xác định như sau :
a → b ⇔ H
i
(a) < H
j
(b)

15
Giới thiệu giải thuật loại trừ tương hỗ trên cơ sở đóng
dấu của Lamport
ST
T
Thông
điệp
Giải thích
1 REQ 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
2 REL Thông điệp REL được phát đi cho tất cả các trạm, khi
trạm i đã rời khỏi đoạn găng
3 ACQ Thông điệp ACQ được gửi bởi trạm i cho trạm j đã
nhận được từ trạm i thông điệp REQ.
16

Thuật toán:

Khi một tiến trình tại trạm Si muốn thi hành đoạn găng (CS),
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 chứa các thông điệp yêu
cầu sắp xếp theo trật tự các dấu thời gian; các đồng hồ logic
và quan hệ trật tự toàn bộ được sử dụng để gắn 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. Nếu cần, quan hệ trật tự toàn bộ

được sử dụng để phá vỡ các sự ràng buộc.
17

Như vậy 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.

Tóm lại, 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 còn lại và

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 của nó, 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 của chú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.
18

Đề bài nêu lên phương pháp sắp xếp các đồng hồ lô gíc cho
phép triễn khai trên cơ sở của dấu là KENEKO. Phương pháp
này thể hiện việc phát có hệ thống thời gian logic và có khả
năng đáp ứng được sự hợp lực giữa các tiến trình khi triển
khai việc liên thông tập thể(hội thảo). Tại đây, trên một trạm,
ta có thể biết trạng thái của các trạm còn lại với độ chính xác
chấp nhận được. Phương pháp này được phát kiến nhằm vào
việc quản lý các bản sao trong CSDL phân tán.
PHẦN II :BÀI TẬP
ĐỀ SỐ 24 (Bài 4 Chương IV)

19

Trong phương pháp này, trạm Si được trang bị một đồng hồ
lô gíc Hi để đánh dấu vào các thông điệp. Việc tăng đồng hồ
lên được tiến hành theo hai giai đoạn :

E1 : Mỗi trạm Si phát cho tất cả các trạm một thông điệp
tăng Zk khi Hi phát triển từ K - 1 đến K.

E2 : Trạm Si phát triển đồng hồ Hi của mình từ K đến K
+ 1, khi nó nhận được các thông điệp Zk từ các trạm khác
và khi nó đã kết thúc việc xử lý dự trữ cho thời gian K.
20
1. Thời gian này có đặc tính thú vị sau đây : Nếu trạm Si gửi
thông điệp M trong thời gian lô gíc Hi = K, thì thông điệp này
được nhận bởi người nhận của nó Sj chậm nhất vào thời gian
Hj = K +1.

Thật vậy, ở phương pháp sắp xếp đồng hồ logic này,
việc tăng đồng hồ được thực hiện một cách có hệ thống,
và bằng các thông điệp riêng, cơ chế cho phép các trạm
điều chỉnh đồng hồ cục bộ, tạo cho các trạm có trạng thái
đồng hồ gần như giống nhau ở các thời điểm.
21

Hệ phải được thiết kế sao cho thời gian di chuyển thông điệp
không được quá khoản thời gian xử lý dự trữ trên các trạm
khác (tiếp nhận thông điệp) .

Giả sử: trạm Si phát cho tất cả các trạm một thông điệp tăng

Zk+1 khi Hi phát triển từ K đến K+1, xét trường hợp xấu nhất
là thông điệp này đến Sj vào lúc kết thúc việc xử lý dự trữ cho
thời gian K+1 trên Sj (thông điệp di chuyển mất khoản thời
gian T, thời gian tối đa truyền thông điệp trên hệ). Và giả sử
tồn tại một thông điệp M , phát từ Si trong thời gian lô gíc Hi =
K (trước Zk+1 ), nhưng thông điệp này được nhận bởi người
nhận của nó Sj sau thời gian Hj = K +1, như vây thông điệp đã
di chuyển từ Si đến Sj với khoản thời gian lớn hơn T (mâu
thuẫn với yêu cầu tối thiểu cho việc ổn định hệ).
22
2. Như là một hệ quả, vào thời điểm K +2, trạm Si biết tập
hợp các thông điệp gửi về địa chỉ của nó ở thời điểm K.
Không còn các thông điệp nào đang đi trên đường với dấu K.

Điều đó cho phép triển khai các thuật toán phân tán mà tại
thời gian lô gíc K + 2 các giải thuật này xử lý tình huống xác
lập bởi tập hợp các yêu cầu của thời gian K. Do vì các bộ cung
cấp có được các yêu cầu vào thời điểm K, chỉ cần đảm bảo
thực hiện cùng một thuật toán và cùng một trật tự cho các yêu
cầu trong thời gian K là đủ. Nếu xảy ra xung đột, thì ta có thể
sử dụng một trật tự toàn phần được tiền định tại các trạm và
một quy tắc riêng có tính chất cục bộ cho từng trạm, đơn giản
nhất là trật tự truyền các yêu cầu của chính trạm đó.
23

Trong phương pháp này, nhiều yêu cầu được truyền từ trạm
Si có thể mang cùng dấu. Ta có thể điều khiển nhịp tăng của
các đồng hồ lô gíc bằng cách tác động vào thời hạn truyền các
thông điệp tăng Zk, và như thế ta có thể can thiệp vào số
lượng các yêu cầu thời gian cùng dấu.


Việc loại trừ tương hỗ, và quản lý bản sao(nhiều bản sao) :
Nhằm đảm bảo cho sự gắn bó, điều kiện đủ bắt buộc phải
tuân thủ trình tự nào đó cho tất cả các bản sao, các cập nhật
thông tin. Đối với phương pháp nêu trên trình tự chặt chẽ hoàn
toàn có thể xác lập dựa trên dấu, thứ tự các trạm, và trật tự các
thông điệp được tiền định tại các trạm
24
Có thể định dạng thông điệp m từ Si tại Zk dạng:(m, Zk, i,ni )
Trong đó ni là trật tự truyền các yêu cầu của Si, 3 thông số
Zk, i và ni xác lập nên tính duy nhất của dấu.Như vậy việc
loại trừ tương hỗ là có thể đạt được.

Đối với các bản sao (nhiều bản sao) : Do đặc tính của
phương pháp trên thực hiện gắn bó chậm, nên hệ cho phép sử
dụng biện pháp phát thông tin đăng ký đến tất cả các bản sao
và thực hiện cùng một trình tự cho mỗi hệ thống cục bộ. điều
này cho phép các chương trình đăng ký thực hiện song song.

Số lượng thông điệp của phương pháp này, xét cho nhu cầu
đồng bộ là ít hơn so với số lượng của phương pháp Lamport.
25
3. Việc xếp hàng các đồng hồ lô gíc cũng cho phép ghi nhận
các sự cố của một trạm. Thực tế là nếu trạm Si rơi vào trạng
thái hỏng tại Hi = K, thì trạm này không thể gửi được thông
điệp tăng Zk + 1. Hay nói cách khác, tất cả các trạm đều cần
thông điệp này để tăng đồng hồ của chúng tại K + 2. Do vậy,
nếu trạm Si hay đường truyền giữa Si và Sj bị rơi vào sự cố tại
thời điểm Hi = K, thì các đồng hồ lô gíc không tăng nữa cho
đến khi sự cố được khắc phục hoàn toàn. Hệ quả là trạm j phát

hiện sự cố trước thời điểm Hj = K + 2 cho phép quay trở về
phía sau. Mỗi trạm đều có khả năng phát hiện sự cố nhờ vào
thời hạn bảo vệ và điều đó cho phép trạm không phải chờ vô
hạn thông điệp Zk.

×