Tải bản đầy đủ (.doc) (26 trang)

VAI TRÒ CỦA VIỆC ĐỒNG BỘ HOÁ CÁC TIẾN TRÌNH TRONG VIỆC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN

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 (408.5 KB, 26 trang )

Tiểu luận môn Hệ Phân Tán
B GIÁO D C & ÀO T OỘ Ụ Đ Ạ
I H C À N NGĐẠ Ọ Đ Ẵ
CHUN NGÀNH KHOA H C MÁY TÍNH K-10Ọ

TI U LU N MƠN H C: Ể Ậ Ọ H PHÂN TÁNỆ


tài:Đề
VAI TRỊ C A VI C NG B HỐ CÁC TI NỦ Ệ ĐỒ Ộ Ế
TRÌNH TRONG VI C CUNG C P TÀI NGUNỆ Ấ
TRONG H PHÂN TÁNỆ
Giáo viên h ng d nướ ẫ : PGS.TS. Lê V n S nă ơ
H c viên th c hi n: Lê Thanh Duyọ ự ệ

KHMT 2008 - 2011 Trang 1/26
Tiểu luận môn Hệ Phân Tán

à N ng tháng 07 n m 2014Đ ẵ ă
LỜI MỞ ĐẦU
Cùng với sự bùng nổ của các mạng cục bộ và các mạng diện rộng đặc biệt
là mạng Internet nhu cầu trao đổi thơng tin trong mọi hoạt động trên mọi lĩnh vực
vì thế Hệ Tin Học Phân Tán ra đời nhằm phát triển nhu cầu của Cơng Nghệ
Thơng Tin phát huy tính ưu việc của các mạng trên nhất là Internet.
Hệ tin học phân tán hay nói ngắn gọn là hệ 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 và đượ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.
Để đảm bảo tính gắn bó của hệ, u cầu đặt ra trước hết là đồng bộ hóa các
tiến trình. Trình tự và đồng bộ các tiến trình trong hệ phân tán chỉ ra cho ta các
vấn đề đồng bộ có thể sẽ dẫn đến phải thiết chế một trật tự tổng qt của các sự


kiện diễn ra trong hệ . Cần phải xác định mối liên hệ trao đổi thơng qua các
thơng điệp với thời gian truyền khác nhau, những thơng tin tạm thời trao đổi
khơng có giá trị tuyệt đối và trình tự tổng qt cần phải được thể hiện bằng
phương tiện giải thuật đảm bảo hoạt động nhịp nhàn giữa các tiến trình có liên
quan với nhau.
Trong giới hạn của tiểu luận kết thúc mơn học này, với vấn đề chính “Vai
trò của việc đồng bộ hố các tiến trình trong việc cung cấp tài ngun trong
hệ phân tán” , tiểu luận chủ yếu tập trung phân tích các phương pháp phương
KHMT 2008 - 2011 Trang 2/26
Tiểu luận môn Hệ Phân Tán
pháp đồng bộ hố và rút ra vai trò đồng bộ hố tài ngun trong hệ tin học phân
tán .
Để hồn thành tiểu luận này Em xin chân thành cám ơn sự chỉ bảo tận
tình của Thầy: PGS.TS.Lê Văn Sơn và các bạn học viên trong lớp. Tuy nhiên
chắc hẳn vẫn còn nhiều thiếu sót, kính mong sự góp ý của Thầy và các bạn .
KHMT 2008 - 2011 Trang 3/26
Tiểu luận môn Hệ Phân Tán
CHƯƠNG 1
VẤN ĐỀ ĐỒNG BỘ HĨA
Tại sao phải đồng bộ hóa các tiến trình trong việc cung cấp tài ngun trong hệ phân
tán ?
Một trong những hướng nghiên cứu quan trọng trong hệ thống phân tán đó là
vấn đề đồng bộ hóa các tiến trình sử dụng tài ngun dùng chung. Để đạt được điều
đó thì chúng ta phải đảm bảo được trật tự như nhau các thơng điệp u cầu tài
ngun ở tất cả các máy trạm/máy chủ có trong hệ. để nghiên cứu vấn đề đồng bộ
hóa các tiến trình với hệ thống thời gian vector (Vector time). Giải pháp này có thể
đảm bảo được trật tự nhân quả chặt chẽ của các sự kiện diễn ra trong hệ thống phân
tán, đảm bảo các tiến trình trong bài tốn hoạt động hồn tồn ăn khớp với nhau và
đạt được trạng thái gắn bó tài ngun thơng tin dùng chung .
1 u cầu động bộ (Synchronization)

– Tốc độ thực hiện của các tiến trình là khơng thể biết trước được.
– Các tiến trình cần hợp tác để hồn thành tác vụ, cần đồng bộ hố.
Tại sao phải đồng bộ hóa các tiến trình?
- Truy xuất đồng thời vào vùng dữ liệu dùng chung có thể gây ra sự mâu
thuẫn ( tương tranh) dữ liệu.
- Quản lý sự tồn vẹn dữ liệu u cầu các cơ chế để đảm bảo việc phối hợp
của các tiến trình một cách có thứ tự.
Vd : Rút tiền trong ngân hàng như sau:
taikhoan: biến dùng chung
P1, P2: 2 tiến trình thực hiện cơng việc kế tốn
taikhoan = 800
P1 muốn rút 500
P2 muốn rút 400
if (taikhoan – tierut >=0)
taikhoan= taikhoan – tienrut;
else
error(“khong the rut tien”);
-Trong tất cả các hệ thống tin học ta cần phải nghiên cứu các cơng cụ đủ mạnh và
hiệu quả có thể đồng bộ hố các tiến trình. Tính cấp thiết về mặt ngun lý và vấn
đề kỹ thuật được thể hiện ở hai ngun do cơ bản sau đây:
KHMT 2008 - 2011 Trang 4/26
Tiểu luận môn Hệ Phân Tán
2.Ngun do
Ngun do thứ nhất: ( tương tranh)
Các tiến trình kể cả các tiến tiến trình xuất phát từ các ứng dụng độc
lập muốn truy cập vào các tài ngun với số lượng vốn rất hạn chế hay truy cập vào
các thơng tin dùng chung cùng một lúc. Trường hợp này gọi là truy cập tương tranh.
Vì vậy tương tranh là ngun nhân chính của các xung đột giữa các tiến trình muốn
truy cập vào tài ngun dùng chung.
Ngun do thứ hai: (hợp lực )

Các tiến trình của cùng một hệ ứng dụng hoạt động hoạt động theo
kiểu hợp lực để giải quyết các bài tốn đặt ra và cho kết quả nhanh chóng nhất. Điều
này cho phép tăng hiệu năng sử dụng thiết bị và hoạt động của chương trình. Vì vậy
hợp lực là ngun nhân chính của sự tác động tương hổ được lập trình giữa các tiến
trình nhằm cho phép chúng tham gia vào các hành động chung.
Sự tương tranh và hợp lực giữa các tiến trình đòi hỏi có sự thơng tin qua lại
với nhau. Trong hệ tin học phân tán, các thơng tin cần trao đổi thơng qua các kênh
thuộc hệ thống viễn thơng.
3.Trật tự từng phần :
Trong hệ phân tán việc đồng bộ hố chỉ đặt ra duy nhất các vấn đề
thiết lập một trật tự giữa các sự kiện các trạm khác nhau trật tự đó chỉ thể hiện
thơng qua trao đổi các thơng điệp với nhau.
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 qua hệ ký hiệu là  và gọi là “có trước” hay “ở ngay trước”. Quan hệ này
tối thiểu thoả mãn được các ràng buộc thể hiện trong bảng sau đây:
C
1
: Nếu A và B là hai sự kiện cùng một trạm và nếu A được thực hiện trước
B thì theo trật tự của trạm ta có A  B
C
2
: Nếu A là phát thơng điệp bởi một trạm nào đó và nếu B là thu thơng điệp
thì ta có A  B
KHMT 2008 - 2011 Trang 5/26
Tiểu luận môn Hệ Phân Tán
Ta có các tật tự sau đây :
A1  A2  A3  A4  A5
B1  B2  B3  B4
Trao đổi thơng điệp
A1  B2 và B3  A4

Chuyển qua:
A1  A2  B2  B3  B4
B1  B2  B3  A4  A5
A1 A2  B2  B3  A4  A5
Ví dụ các sự kiện khơng so sánh
(hình 1 – Mơ tả trật tự từng phần )
KHMT 2008 - 2011 Trang 6/26
A1
A2
A3
A4
A5
B1
B2
B3
B4
B5
t
Tiểu luận môn Hệ Phân Tán
CHƯƠNG 2
CÁC PHƯƠNG PHÁP ĐỒNG BỘ HĨA
1/ Đồng bộ hố bằng phương pháp trật tự
Một số vấn đề đồng bộ hố có thể giải quyết bằng phương pháp duy nhất
nhờ vào một trật tự kiểu như hình trên.
Bài tốn về ngun lý điều hành người sản xuất người tiêu dùng, trong đó
khả năng tiêu dùng của khách hàng là ngun nhân chính hạng chế số lượng hàng
hóa sản xuất ra nó để khơng vượt q số lượng tiêu thụ một giá trị lớn hơn N.
Người sản xuất P và người tiêu thụ C là hai người nằm trên hai vùng cách xa nhau
giả sử NP là số lượng sản phẩm sản xuất ra, NC là số lượng tiêu thụ tại một thời
điểm khởi sự. C chỉ tiêu thụ được một sản phẩm , nếu P sản xuất sản phẩm đó đã

diễn ra, có nghĩa là:
NP – NC >0 (1)
P chỉ sản xuất một thơng tin nếu, nếu
NP – NC < N (2)
Hai quan hệ này thể hiện các điều kiện của việc đồng bộ hóa và có thể mơ tả trong.
hình sau:
KHMT 2008 - 2011 Trang 7/26
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
Hình 2: Quan hệ có trước trong mơ hình người
sản xuất-người têu thụ
Tiểu luận môn Hệ Phân Tán
Trong hệ thống tin học phân tán, người ta có thể vận dụng hợp lực này theo kiểu
như sau:
+ Trên trạm P một biến NP Thể hiện số lượng chính xác sản xuất đã có.
+ Trên trạm C một biến NC thể hiện số lượng chính xác tiêu thụ đã thực hiện.
+ Trên trạm P một biến NC’ ảnh của NC mà P gia tăng mỗi một lần nó nhận
được thơng điệp từ C báo cho nó biết là tiêu thụ mới đã diễn ra.
+ Trên trạm C một biến NP’ ảnh của NP mà C gia tăng mỗi một lần nó nhận
thơng điệp từ P báo cho nó biết một sản xuất mới đã diễn ra.
Ta sẽ chứng minh rằng một sự đồng bộ hóa chính xác được đảm bảo bằng
việc xác nhận trên mỗi trạm các điều kiện sau đây:
1/ Trên trạm sản xuất:
NP’ – NC > 0
2/ Trên trạm tiêu thụ:
NP – NC’ < N
Ta có thể viết:
NP = NP’ + np, với np ≥ 0
Trong đó, np số lượng thơng tin đã sản xuất bởi P mà C khơng biết
NC = NC’ + nc, với nc ≥ 0
Trong đó, nc số lượng thơng tin đã tiêu thụ bởi C mà P khơng biết
Ta có thể khái qt hóa phương pháp này cho điều kiện đồng bộ hóa bằng
cơng thức:
3/ ∑C
i
X
i
> K (theo i)

Trong đó, C
i
và K là các hằng số. Ta hồn tồn có khả năng và điều kiện
mạnh hơn bằng cách thay thế tất cả các X
i
mà hệ số của nó là đại lượng dương bằng
các ảnh của nó X’
i
, nếu và chỉ nếu các X
i
là các biến khơng lùi.
Vì ngun nhân xa cách giữa người sản xuất và người tiêu thụ mà trật tự
tổng qt này khơng cần thiết và chỉ cần sử dụng để đồng bộ hóa các bản sao các
biến trạng thái gần đúng là đủ.
Trong hệ thống người sản xuất - người tiêu thụ, nếu N=1, thì có sự liên kết
chặt chẽ giữa hai tiến trình cho phép xác định một trật tự chặt chẽ giữa các sự kiện.
Cơ chế đồng bộ ở đây là dùng Các cơng tơ sự kiện phù hợp với từng vấn đề
đặt ra. Mỗi một cơng tơ biến thiên khơng lùi, được kết hợp với một nhóm đặc biệt
các sự kiện.
Trên một cơng tơ sự kiện nào đó có phối hợp với nhóm E nào đó, được xác
định bởi ba hàm ngun thủy:
KHMT 2008 - 2011 Trang 8/26
Tiểu luận môn Hệ Phân Tán
+ 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.
+ Truy_van(E): Cung cấp giá trị hiện hành của cơng tơ phối hợp với E
+ 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 cơng tơ được khởi động ngay khi thành lập nó. Việc triển khai các cơng
tơ sự kiện có thể được thực hiện bằng cách giao cho bộ xử lý duy nhất đảm trách
việc điều khiển tồn bộ cơng việc này.

2/ Đồng bộ hóa bằng phương pháp trao đổi thơng điệp.
Đây là một trong những phương pháp quan trong trong việc đồng bộ hố các
tiến trình trong việc cung cấp tài ngun trong hệ phân tán. Phương pháp này dựa
trên cơ sở trao đổi thơng điệp với hai Primitive Send và Receive để thực hiện sự
đồng bộ hóa:
+ Send(destination, message): gởi một thơng điệp đến một tiến trình hay
gởi vào hộp thư.
+ Receive(source, message): nhận một thơng điệp từ một tiến trình hay từ
bất kỳ một tiến trình nào, tiến trình gọi sẽ chờ nếu khơng có thơng điệp nào để nhận.
Có nhiều cách thức để thực hiện việc truy xuất độc quyền bằng cơ chế trao
đổi thơng điệp. Đây là một mơ hình đơn giản: một tiến trình kiểm sốt việc sử dụng
tài ngun và nhiều tiến trình khác u cầu tài ngun này. Tiến trình có u cầu tài
ngun sẽ gởi một thơng điệp đến tiến trình kiểm sốt và sau đó chuyển sang trạng
thái blocked cho đến khi nhận được một thơng điệp chấp nhận cho truy xuất từ tiến
trình kiểm sốt tài ngun. Khi sử dụng xong tài ngun, tiến trình gởi một thơng
điệp khác đến tiến trình kiểm sốt để báo kết thúc truy xuất. Về phần tiến trình kiểm
sốt, khi nhận được thơng điệp u cầu tài ngun, nó sẽ chờ đến khi tài ngun sẵn
sàng để cấp phát thì gởi một thơng điệp đến tiến trình đang bị khóa trên tài ngun
đó để đánh thức tiến trình này.
while (TRUE) {
Send(process controler, request message);
Receive(process controler, accept message);
critical-section ();
Send(process controler, end message);
Noncritical-section ();}
KHMT 2008 - 2011 Trang 9/26
Tiểu luận môn Hệ Phân Tán
Trong những hệ thống phân tán mà mỗi bộ xử lý sỡ hữu một bộ nhớ riêng biệt và
liên lạc thơng qua mạng, cơ chế trao đổi thơng điệp tỏ ra hữu hiệu và được dùng
nhiều để giải quyết bài tốn đồng bộ hóa.

3 Đồng bộ hóa bằng phương pháp trật tự tổng qt chặt chẽ.
Phương pháp này được áp dụng trong một số trường hợp cần phải sắp xếp
tồn bộ theo kiểu chặt chẽ các sự kiện của hệ.
Ngun lý của phương pháp này được khái qt như sau:
Một tiến trình nào đó gửi thơng điệp để u cầu sử dụng tài ngun, một tiến
trình sử dụng xong tài ngun nào đó truyền một thơng tin giải phóng khi nó ngừng
chiếm dụng.
Trong các hệ phân tán, chương trình cung cấp nằm trên một trạm và các tiến
trình đề nghị lại ở trên các trạm khác, các u cầu giải phóng được truyền cho các
chương trình cung cấp thơng qua hình thức thơng điệp, chuyển theo các kênh của hệ
thống viễn thơng. Chính vì vậy nhu cầu sắp xếp các u cầu này theo một trật tự
nhất định nào đó ln ln được đặt ra.
Nếu chỉ có một thơng điệp đến chương trình cung cấp thì trật tự đến thể hiện
một trật tự chặt chẽ. Ngược lại nếu có nhiều thơng điệp đến cùng một lúc thì việc
sắp xếp chúng phải theo kiểu loại trừ tương hỗ trong hàng đợi cục bộ của trạm có
chứa chương trình cung cấp. Điều đó cũng cho phép ta có được một trật tự chặt chẽ.
Trật tự có được tại trạm cung cấp có thể khơng giống như trật tự phát, nếu
thời gian truyền khơng được cố định. Trường hợp này khá phổ biến trong mạng máy
tính. Nhưng nếu ta muốn xử lý các thơng điệp theo trình tự khơng tính tới thời gian
truyền, thì cần phải tính đến một trật tự tổng qt của các lần truyền thơng điệp từ
các trạm khác nhau. Những cơ chế thể hiện chức năng này được mơ tả sau đây:
Giải thuật được trình bày ở đây là giải thuật Lamport nhằm cho phép ghi lại
các sự kiện của hệ tin học phân tán.
Mỗi trạm s đều có trang bị cơng tơ với các giá trị ngun gọi là H
s
. Đó chính
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 H
e
. Khi nhận được thơng điệp, trạm nhận r

cập nhật đồng hồ H
r
riêng của mình bằng giải thuật sau đây:
Nếu H
r
thì
H
r
:= E+1
Kết thúc nếu
KHMT 2008 - 2011 Trang 10/26
Tiểu luận môn Hệ Phân Tán
Sự kiện “nhận thơng điệp” lúc này được ghi nhận bằng giá trị của H
r
. Thuật
tốn này đảm bảo rằng thời gian nhận thơng điệp là sau thời gian phát nó đi. Thời
gian này cho phép xác định một quan hệ trật tự tồn bộ mà ta đã ký hiệu  và cho
phép kiểm tra được các điều kiện trong C
1
và C
2
.
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à H
i
(a). Nếu a và b đều là hai sự kiện trên hai trạm i và j, ta ln ln có quan hệ
xác định như sau:
a  b ⇔ H
i
(a) < H

i
(b)
Đó là trật tự khơng chặt chẽ do hai sự kiện trên hai trạm khác nhau có thể đến
cùng một thời điểm giống nhau. 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 (H
i
(a),i). Theo định nghĩa ta có:
a ⇒ b ⇒ (H
i
(a) < H
i
(b))
hay
(H
i
(a) = H
i
(b) và i<j)
CHƯƠNG 3
CHIẾN LƯỢC CUNG CẤP TÀI NGUN
Vấn đề cung cấp tài ngun trong hệ tin học phân tán là một trong những lĩnh
rất quan trọng vì nó vận dụng thường xun trong q trình triển khai nghiên cứu,
khảo sát, phân tích, thiết kế và xây dựng các hệ điều hành nói chung, hệ tin học
phân tán nói riêng.
Vấn đề cung cấp tài ngun và các giải pháp hữu hiệu nhằm vào hệ tập trung với
bộ nhớ chung đã có rất nhiều tài liệu đề cập đến. Trong chương này sẽ tập trung
nghiên cứu vấn đề về tài ngun và các chiến lược cung cấp tài ngun cho hệ phân
tán.
I/ Một số khái niệm

3.1 Tài ngun
Tài ngun là một đối tượng mà trong đó các quy tắc sử dụng và chia sẻ được
kết hợp với nhau. Nói chính xác, đó là những vấn đề quyền truy cập loại trừ hay
truy cập chia sẻ, có hạn chế người sử dụng hay khơng.
KHMT 2008 - 2011 Trang 11/26
Tiểu luận môn Hệ Phân Tán
Tài ngun truy cập theo kiểu loại trừ chỉ cung cấp cho một giao dịch và tài
ngun truy cập theo kiểu chia sẻ được cung cấp cho một tập hợp bất kỳ các giao
dịch.
Hệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp, nhưng cơ bản
nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết quả đến các
loại tài ngun vốn có và rất đa dạng của hệ thống như là những tài ngun dùng
chung.
Việc định nghĩa các tài ngun của hệ như là tài ngun dùng chung sẽ mang
đến cho người sử dụng những tiện ích và đem lại cho hệ những hiệu năng tốt trong
khai thác ứng dụng.
Năm ưu điểm căn bản của việc sử dụng chung tài ngun được phản ánh trong
bảng sau:
STT Ưu điểm so với hệ tập trung
1 Tăng tốc độ trong tính tốn- xử lý
2 Cải thiện tình trạng ln ln sẵn sàng của các loại tài ngun.
3 Tăng an tồn cho dữ liệu
4 Đảm bảo tính tồn vẹn thơng tin
5 Đa dạng hố các loại hình dịch vụ tin học
Chia sẻ tài ngun có thể là chia sẻ Database( dữ liệu) , chia sẻ máy in, đối
tượng nào đó,…
3.2Giao dịch
Giao dịch là phép tốn hợp thành một lơ gích hồn chỉnh mà việc triển khai nó
có thể dẫn đến thực hiện một tiến trình duy nhất hay nhiều tiến trình được định vị
trên các trạm khác nhau. Trường hợp dẫn đến thực hiện nhiều tiến trình trên các

trạm ở xa là đối tượng mà ta cần quan tâm nghiên cứu.
Thơng điệp u cầu và bộ cung cấp
Một tiến trình nào đó cần sử dụng tài ngun để phát triển cơng việc của mình
phải u cầu cung cấp tài ngun bằng cách gửi thơng điệp u cầu . Như thế một
tiến trình có nhu cầu cần tài ngun sẽ bị treo chừng nào tài ngun đó còn chưa
được giải phóng hay chưa được cung cấp cho nó.
Bộ cung cấp có thể áp dụng nhiều kiểu cung cấp khác nhau như tiến trình duy
nhất, tập hợp các tiến trình, tập hợp các thủ tục,… Các thơng điệp u cầu sử dụng
tài ngun cũng có thể có các dạng khác nhau như gọi thủ tục, thơng báo, …
KHMT 2008 - 2011 Trang 12/26
Tiểu luận môn Hệ Phân Tán
Một u cầu được thoả mãn bởi bộ cung cấp tài ngun cho tiến trình đề nghị
với điều kiện là u cầu đó phải tn theo các quy tắc nhất định.
Có 2 điều kiện làm cho tiến trình mất khả năng sử dụng tài ngun đã được cung
cấp trước đó. Đó là:
STT Tên gọi Điều kiện
1 Giải phóng Tiến trình phát tín hiệu ngừng sử dụng tài ngun
2 Thu hồi Sự lấy lại tài ngun đã được cung cấp cho tiến trình.
Bộ cung cấp tài ngun sẽ tiến hành cơng việc này.
Trong hệ phân tán, hoạt động của một tập hợp các tiến trình trên một tập hợp
các tài ngun dùng chung được cho là tốt nhất , nếu khơng xảy ra bế tắc hay thiếu
thốn tài ngun.
Bế tắc
Bế tắc hay còn gọi là khố tương hỗ là sự kẹt chéo lẫn nhau có tính chất sống
còn của các tiến trình. Bế tắc diễn ra khi hai tiến trình đang sử dụng tài ngun lại
phát u cầu về nhu cầu sử dụng tài ngun mà tiến trình kia còn đang sử dụng.
Ví dụ như hình vẽ sau đây:
T1
T2
T4

T3
Tr1 Tr2 Tr3
Hình 3 - Đồ thị cung cấp tài ngun bị bế tắc
Hình 3 cho phép chúng ta hình dung vấn đề một cách rõ ràng hơn. Theo hình vẽ
này, ta có 4 tài ngun T
1
,T
2
, T
3
, T
4
và có ba tiến trình nhu cầu tài ngun là Tr
1,
Tr
2,
KHMT 2008 - 2011 Trang 13/26
Tiểu luận môn Hệ Phân Tán
và Tr
3.
Cả 3 tiến trình này đang ở tình trạng bế tắc. Tiến trình Tr
2
chờ tài ngun T
3
do Tr
3
đang chiếm giữ. Tiến trình Tr
3
chờ tài ngun T
2

được giải phóng bởi Tr
1
trạm T
3
. Thêm vào đó, tiến trình Tr
1
chờ tiến trình Tr
2
giải phóng T
1
.
Lúc này, ta thấy có 2 chu trình kín trong đồ thị là:
Thiếu tài ngun vĩnh viễn là sự chờ đợi bất tận của một tiến trình mà u cầu
của nó trễ đến mức khơng thể xác định được. Ngun nhân của hiện tượng vừa nêu
có nhiều, nhưng ta có thể chỉ ra ví dụ thường gặp là do sử dụng luật ưu tiên để cung
cấp tài ngun.
Một chiến lược cung cấp tài ngun khơng tốt cũng có thể là ngun nhân hệ
chậm lại, làm tăng các u cầu mà khơng được đáp ứng của một số tài ngun có
thể dẫn đến làm xụp đổ cả hệ thống.
Để tránh hiện tượng đó, bộ cung cấp tài ngun cần phải bảo đảm chức năng
điều khiển.
Tóm lại: Bộ cung cấp cần phải phân phối các tài ngun trên cơ sở tn thủ các
quy tắc sử dụng, tránh xảy ra bế tắc và thiếu thốn vơ hạn, phân bố tải tương đối
đồng đều giữa các tài ngun cùng loại và giới hạn nhu cầu nhằm duy trì hệ thống
hoạt động đạt mức hiệu quả nhất định.
II/ Các chiến lược cung cấp tài ngun
Cung cấp tài ngun cho chúng ta thấy những khó khăn gặp phải trong q trình
phân tán dữ liệu và cung cấp các tài ngun vật lý và logic. Trong khơng gian phân
tán, ta khó có thể nắm bắt ngay lập tức trạng thái tổng qt của việc cung cấp tài
ngun và khó có thể tránh được tình trạng bế tắc xảy ra. Tồn tại nhiều biện pháp

khác nhau cho phép khắc phục hiện tượng trên .
1/ Cung cấp tài ngun duy nhất
Vấn đề cung cấp tài ngun duy nhất trên một trạm trong hệ phân tán liên quan
đến việc phân phối tài ngun này cho một tập hợp các tiến trình trên cơ sở quy tắc:
truy cập loại trừ hay chia sẻ, có hệ số ưu tiên, khơng được mất,…Các tiến trình có
thể đề nghị sử dụng tài ngun ngay tại trạm và cũng có thể ở các trạm khác từ xa.
Việc quản lý các truy cập đến một tài ngun duy nhất có thể được thực hiện
theo các cách:
KHMT 2008 - 2011 Trang 14/26
Tr
1
-T
1
-Tr
2
-T
3
-Tr
3
-T
2
-Tr
1
Tr
3
-T
2
-Tr
2
-T

3
-Tr
3
Tiểu luận môn Hệ Phân Tán
- Truy cập bằng một tiến trình duy nhất
- Truy cập bằng các tiến trình tương tranh
Truy cập bởi server duy nhất.
Một tiến trình duy nhất hay còn gọi là server được giao nhiệm vụ quản lý tài
ngun. Nó xử lý tất cả các u cầu truy cập từ các tiến trình và các khách (client).
Sự loại trừ truy cập được bảo đảm bởi tính duy nhất của server. Server đồng thời
cũng là chương trình đánh thức.
Chương trình có thể viết như sau:
Do vậy, sơ đồ này loại bỏ tất cả các đặc tính song song để truy cập vào tài
ngun. Tiến trình server có thể được lập trình để triển khai tồn bộ chiến lược liên
quan đến loại trừ tương hỗ của các u cầu (độ ưu tiên, quyền truy cập tài ngun).
Ví dụ:
Server quản lý các tập tin hoạt động dựa vào ngun lý trên trong mơi trường
phân tán của Swinchart.
Server
T
Tr1
Tr2
Tr3
Hình 4- Đồ thị truy cập vào tài ngun bằng server duy nhất
Truy cập tương tranh có điều khiển
Trong trường hợp này, tài ngun được truy cập bởi nhiều server, thơng thường
có số lượng khơng cố định. Các server này thực hiện các truy cập tương ứng với các
u cầu dưới dạng gọi thực hiện các thủ tục. Việc thực hiện các thủ tục này được
điều khiển bởi cơ chế đảm bảo tơn trọng các quy tắc truy cập.
KHMT 2008 - 2011 Trang 15/26

Vòng lặp
M:=cho_thong-diep(nil) {treo}
<Chương trình xử lý các u cầu và gửi trả kết quả>
Kết thúc vòng lặp
T: Tài ngun
Tr: Tiến trình (Khách)
Tiểu luận môn Hệ Phân Tán
Tr2
Trn
Tr1
D
Sn

S2
S1

T
Hình 5- Đồ thị truy cập tài ngun bằng một chương trình trực duy nhất
Các quy tắc này được khởi sự bằng hai cách bởi các tiến trình khách. Hình 4 cho
thấy việc truy cập được tiến hành bằng một chương trình trực duy nhất.
Trong cách thứ hai, việc truy cập được tiến hành trực tiếp với các server và thể
hiện bằng hình 5.
Trong hình 5, ta thấy một tiến trình đánh thức D duy nhất sau hàng đợi làm
nhiệm vụ phân phối các u cầu cho các server cục bộ. Các tiến trình khách khơng
biết server.
Hình 6 - Truy cập trực tiếp vào các server
Ngược lại, trong hình 6, các máy server đều được các tiến trình khách biết trước.
KHMT 2008 - 2011 Trang 16/26
T


Tr
2
Tr
2
Tr
n
Tr
n
S
2
S
1
S
n
Tr
1
Tr
1
Kiểm
tra truy
cập
Hàng đợi các u cầu
Tiểu luận môn Hệ Phân Tán
Việc triển khai đặc biệt đối với các server có liên quan đến việc phối hợp chúng
với các điểm của một mơ đun quản lý các tài ngun như chương trình monitor
(thường dùng trong các hệ điều hành) chẳng hạn.
b/ Cung cấp một tập hợp các tài ngun. Vấn đề bế tắc
Trước hết, ta tìm hiểu một số thuật ngữ và khái niệm có quan hệ mật thiết với
những vấn đề sẽ sử dụng trong phần này.
Tiến trình p đưa ra u cầu cung cấp tài ngun e để thực hiện phép tốn cài

then có tính loại trừ v_loai_tru_th(e). Ngoại trừ một số trường hợp đặc biệt, tất cả
các tài ngun đều được truy cập theo kiểu loại trừ. Nếu việc cung cấp hồn tồn
hợp thức thì tài ngun này được trao cho p sử dụng. Ta nói rằng tài ngun này đã
được p cài then, nếu khơng thì p bị treo và đương nhiên p khơng cài then được tài
ngun này.
Trong hệ phân tán, ta sẽ tập trung xem xét các giao dịch T
i
có thể sử dụng các tài
ngun được định vị trên các trạm. Mỗi một giao dịch được triển khai nhờ một tập
hợp các tiến trình thể hiện là các đại diện của chúng trên các trạm khác nhau. Hai
tiến trình của cùng một giao dịch được định vị trên các trạm khác nhau có thể được
thực hiện song song. Nhằm thu hồi lại tài ngun e trên trạm S
j
, giao dịch T
i
cho
thực hiện phép tốn v_loai_tru_th(e) thơng qua đại diện p
ij
của mình trên trạm này.
Ngoại trừ một số trường hợp đặc biệt, việc cung cấp diễn ra khơng có thu hồi.
Một tài ngun bị khố bởi một tiến trình khơng thể rút nó trở về được. Như thế, nó
cần được giải phóng bởi tiến trình này một cách tường minh nhờ vào phép tốn mở
then cài mo_then(e).
Như vậy, có thể xảy ra rủi ro do bế tắc, khi các tiến trình truy cập loại trừ được
phân phối mà khơng có khả năng thu hồi và các tiến trình cần phải sử dụng đồng
thời nhiều tài ngun.
Ví dụ:
Giả sử có 2 tiến trình p và q cùng sử dụng 2 tài ngun e
1
và e

2
, chúng được mơ
tả trong đoạn chương trình sau đây:
KHMT 2008 - 2011 Trang 17/26
Tiến trình p Tiến trình q
p1: v_loai_tru_th(e1) q1:v_loai_tru_th(e2)
p2: v_loai_tru_th(e2) q2:v_loai_tru_th(e1)
Tiểu luận môn Hệ Phân Tán
Nếu các u cầu được thoả mãn theo trình tự p
1
, q
1
thì tất yếu xảy ra vấn đề chặn
nhau giữa p và q. Lý do hiển nhiên là p
2
và q
2
khơng bao giờ được đáp ứng, nếu e
1
và e
2
khơng được giải phóng.
Bế tắc có thể giải quyết bằng cách dự báo và vòng tránh (gọi chung là dự phòng)
có nghĩa là tài ngun được cung cấp theo kiểu có đề phòng trường hợp bế tắc. Một
phương pháp khác có liên quan đến vấn đề này là phát hiện và chữa trị có nghĩa là
khi có sự cố thì quay trở về trạng thái trước đó.
Các thuật tốn dự phòng, phát hiện và chữa trị đã được nghiên cứu cho trường
hợp là tất cả các tài ngun đều được quản lý bởi bộ cung cấp duy nhất. Bộ cung
cấp này tiếp nhận tất cả các u cầu và biết rất rõ trạng thái của tất cả các tài
ngun.

Phân tán chức năng cung cấp
Ta giả định rằng chức năng cung cấp khơng thể tin tưởng giao phó hồn tồn
cho một bộ cung cấp duy nhất, mà được phân tán thành một tập hợp các bộ cung cấp
trên các trạm khác nhau, trong đó mỗi bộ cung cấp chỉ quản lý các đối tượng cục bộ
của trạm đó mà thơi.
Tồn tại 2 nhóm giải pháp cho vấn đề đặt ra:
a/ Duy trì tính duy nhất của trạng thái tài ngun
Biểu hiện duy nhất của trạng thái tài ngun được chia sẻ bởi tập hợp các bộ
cung cấp. Biểu hiện này tuần hồn giữa các trạm khác nhau dưới dạng một thơng
điệp. Các trạm ln phiên đóng vai trò của bộ cung cấp các tài ngun mà mình
đang chịu trách nhiệm quản lý. Giải pháp này loại bỏ tất cả các khả năng song song,
khơng loại bỏ khả năng mất thơng điệp trạng thái, thiếu thốn tài ngun một cách vơ
hạn.
KHMT 2008 - 2011 Trang 18/26
Tiểu luận môn Hệ Phân Tán
Phân tán biểu hiện trạng thái và chức năng cung cấp
Có rất nhiều giải pháp có thể:
STT Giải pháp
1 Ta duy trì tại mỗi trạm một bản sao trạng thái tài ngun tổng qt.
Trong trường hợp này, cần phải bảo đảm gắn bó hữu cơ của các bản
sao.
2 Ta phân tán biểu hiện trạng thái trên các trạm, mỗi một trạm chỉ có
trạng thái của các tài ngun cục bộ của mình. Các quyết định được
đưa ra trên các trạm khác nhau cần phải được phối hợp theo kiểu sao
cho dữ liệu của việc cung cấp phải được gắn bó với nhau.
3 Một phương pháp đầy ấn tượng là nhóm sắp xếp nhằm bảo đảm cho tất
cả các u cầu tài ngun xuất phát từ các tiến trình đều được các bộ
cung cấp khác nhau theo một trật tự nhất định cố định từ trước.
Các phương pháp khác mang tính năng động cao cho phép ra các quyết định
cung cấp tài ngun xuất phát từ quan điểm từng phần (ngược với tồn phần) của

trạng thái tài ngun.
Các vấn đề sau sẽ lần lượt được trình bày trong tiểu luận này:
- Ngun lý được thực hiện bằng giải thuật dự phòng bế tắc cho
trường hợp 1.
- Hai thuật tốn (Lomet và Menasce): Thuật tốn Lomet cho dự
phòng, thuật tốn Menasce cho phát hiện bế tắc.
Các phương pháp cung cấp sử dụng trạng thái tổng qt
Vấn đề quan trọng được đặt ra là tại sao có thể áp dụng thuật tốn dự phòng bế
tắc của hệ tập trung vào mơi trường phân tán theo kiểu duy trì trên mỗi trạm một
bản sao trạng thái cung cấp của tất cả các tài ngun.
KHMT 2008 - 2011 Trang 19/26
Tiểu luận môn Hệ Phân Tán
Nội dung của các bản sao trên các trạm của hệ có thể phản ánh trong mỗi bảng
sau đây:
STT Nội dung của các bản sao
1 Tập hợp của tất cả các tài ngun còn chưa được cung cấp
2 Tập hợp các tài ngun đã được cung cấp
3 Đối tượng đang chiếm giữ tài ngun
4 Kiểu sử dụng
5 Tập hợp các u cầu khơng được thoả mãn
6 Tập hợp các thơng điệp dành cho trường hợp đã được sử dụng
7 Tập hợp các thơng điệp dành cho trường hợp thất bại
8 …
Cung cấp tài ngun chỉ được chấp nhận, nếu trạng thái xuất phát từ việc cung
cấp được đánh giá là chấp nhận được theo thuật tốn đã sử dụng. Trên cơ sở thực
hiện cùng một thuật tốn và có cùng thơng tin, mỗi trạm ra quyết định cung cấp căn
cứ vào bản sao trạng thái cục bộ của nó. Việc cung cấp cho tiến trình đề nghị sẽ
được thực hiện ngay trên trạm có tài ngun.
Để cập nhật thơng tin, mỗi tiến trình phát đi cho một tập hợp nhất định các trạm:
1. Thơng điệp của mình.

2. Các u cầu của mình.
3. Các thơng điệp giải phóng của mình.
Các bản sao trạng thái tổng qt trên các trạm phải có cùng các bước chuyển
trạng thái. Để đảm bảo điều đó, cần phải xử lý các u cầu trong cùng một trật tự
trên tất cả các trạm. Trật tự này có thể khác với trật tự đến. Có thể sử dụng các kỹ
thuật như dấu, bộ tuần hồn,… để giải quyết vấn đề trong đồng bộ thơng tin.
Ta sẽ sử dụng với tư cách là ví dụ ngun lý triển khai thuật tốn trình bày trong
ấn phẩm của Lomet và ứng dụng hợp lý thơng cáo hợp thức.
Khi bắt đầu thực hiện giao dịch T
i
thì giao dịch này cần phải phát thơng điệp
hợp thức của tập hợp các tài ngun mà nó định sử dụng. Một tài ngun chỉ có thể
thu hồi, nếu nó là một phần của thơng điệp.
Ta định nghĩa một quan hệ gọi là phụ thuộc thế năng giữa 2 giao dịch T
k
và T
k
,
ký hiệu là T
j
> T
k
, điều đó nói lên rằng T
j
chậm hơn T
k
.
KHMT 2008 - 2011 Trang 20/26
Tiểu luận môn Hệ Phân Tán
T

j
> T
k
nghĩa là tồn tại ít nhất một tài ngun bị cài then bởi T
j
và là thành phần
thuộc thơng điệp của T
k
.
Quan hệ này có thể biểu diễn bằng đồ thị G, biến thiên theo thời gian gọi là đồ
thị các xung đột thế năng. Tồn tại vòng lặp trong đồ thị này sinh ra bế tắc.
e2
T1
e1
e3
T3
T2
Hình 7 - Vòng khép kín trên đồ thị
Để tránh bế tắc diễn ra, ta duy trì tại mỗi trạm một bản sao của đồ thị G, tài
ngun chỉ được cung cấp nếu việc cung cấp đó khơng phát sinh vòng lặp trên đồ
thị này.
Mỗi một thơng cáo, thơng điệp hay khuyến nghị giải phóng đều nhận một dấu,
rồi phát ra cho tất cả các trạm. Để cập nhật bản sao của mình về đồ thị G, mỗi trạm
xử lý các thơng điệp mà nó nhận được trong một trật tự chặt chẽ được xác định bởi
dấu căn cứ.
Kết luận : Vai trò của đồng bộ hố các tiến trình trong việc cung cấp tài
ngun trong hệ phân tán là:
Qua phần trình bày các kiến thức “chiến lược đồng bộ hóa tiến trình” và
“chiến lược cung cấp tài ngun”. Ta xác định rằng việc đồng bộ hóa tiến trình
trong việc cung cấp tài ngun trong hệ phân tán là cần thiết để đảm bảo tính an

tồn và gắn bó trong dữ liệu, tài ngun được cung cấp đầy đủ bởi các tiến trình
khơng bị bế tắc (ít bị treo hệ) ,thơng suốt về mặt dữ liệu và đáp ứng thời gian về mặt
truyền thơng , giữa các tiến trình có một trật tự nhất định.
KHMT 2008 - 2011 Trang 21/26
Tiểu luận môn Hệ Phân Tán
Phần 2
BÀI TỐN
Dựa vào lý thuyết đồ thị xác định các tập có trước.
Các tập hợp đặc biệt trên đồ thị
I. Tập ổn định trong
Giả sử G = (V, E) là một đồ thị.
Định nghĩa
Tập B ⊆V được gọi là tập ổn định trong của đồ thị G nếu: ∀ x ∈ B : B ∩ F(x) = ∅.

Từ định nghĩa trên ta thấy rằng, trong một tập ổn định trong khơng có hai
đỉnh nào kề nhau. Hơn nữa, nếu tập B ổn định trong thì tập con B' ⊆ B cũng là tập
ổn định trong. Khái niệm ổn định trong khơng phụ thuộc vào hướng các cạnh của
đồ thị.
Ví dụ 1 (Gauss): - Bài tốn tám qn hậu.
Hãy đặt 8 qn hậu vào các ơ của một bàn cờ vua sao cho chúng khơng ăn được
lẫn nhau.
Để giải quyết bài tốn này, ta xây dựng đồ thị vơ hướng biểu diễn bàn cờ vua
như sau: 64 ơ của bàn cờ là 64 đỉnh của đồ thị, hai đỉnh x và y có cạnh nối với nhau nếu
đó là hai ơ mà khi đặt hai qn hậu vào, chúng có thể ăn lẫn nhau.
Các ơ cần tìm để đặt các qn hậu chính là một tập ổn định trong gồm 8 đỉnh.
Bài tốn trên có 92 nghiệm suy ra từ 12 tập ổn định trong khác nhau là:
{A7,B2,C6,D3,E1,F4,G8,H5} {A6,B1,C5,D2,E8,F3,G7,H4}
{A5,B8,C4,D1,E7,F2,G6,H3} {A4,B6,C1,D5,E2,F8,G3,H7}
{A3,B5,C8,D4,E1,F7,G2,H6} {A5,B7,C2,D6,E3,F1,G8,H4}
{A5,B7,C2,D6,E3,F1,G4,H8} {A4,B2,C7,D5,E1,F8,G6,H3}

{A1,B6,C8,D3,E7,F4,G2,H5} {A3,B5,C2,D8,E1,F7,G4, H6}
{A4,B8,C1,D5,E7,F2,G6,H3} {A5,B1,C4,D6,E8,F2,G7,H3}
Ví dụ 2 (C.E. Shanton): - Bài tốn về dung lượng thơng tin.
Giả sử một máy phát có thể truyền đi 5 tín hiệu: a, b, c, d, e. ở máy thu mỗi tín
hiệu có thể cho hai cách hiểu khác nhau như sau:
a → p, q ; b → q, r ; c → r, s ; d → s, t ; e → t, p
Hỏi số các tín hiệu nhiều nhất có thể sử dụng để máy thu khơng bị nhầm lẫn là bao
nhiêu?
KHMT 2008 - 2011 Trang 22/26
Tiểu luận môn Hệ Phân Tán
Ta xây dựng một đồ thị vơ hướng gồm 5 đỉnh a, b, c, d, e. Hai đỉnh là kề
nhau nếu chúng biểu thị hai tín hiệu có thể bị nhầm lẫn nhau ở máy thu.
Hình 8 Sự nhầm lẫn của các tín hiệu và đồ thị biểu diễn
Khi đó tập các tín hiệu cần chọn là một trong các tập ổn định trong dưới đây:
{a, c} , {a, d} , {b, d} , {b, e} , {c, e}.
II. Tập ổn định ngồi
Giả sử G = (V, E) là một đồ thị.
Định nghĩa : Tập C ⊆ V được gọi là tập ổn định ngồi của đồ thị G nếu:
∀x ∉ C : C ∩ F(x) ≠ ∅.
Hay nói một cách khác: ∀x ∉ C , ∃ y ∈ C : y ∈ F(x).
Điều này có nghĩa là, từ mỗi đỉnh ở ngồi C ln có cạnh đi vào C.
Hiển nhiên, nếu C là tập ổn định ngồi thì C’ ⊇ C cũng là một tập ổn định ngồi.
Ví dụ 3: Hãy đặt 5 qn hậu lên các ơ của một bàn cờ vua sao cho chúng kiểm sốt
được tồn bộ bàn cờ.
Hình 9
Biểu diễn đồ thị cho bàn cờ vua như ở Ví dụ 3.2. Khi đó, các ơ cần tìm chính là
một tập ổn định ngồi gồm 5 đỉnh.
Một tập nghiệm của bài tốn là {C6 , D3 , E5 , F7 , G4}.
Tập C được gọi là tập ổn định ngồi cực tiểu nếu bớt đi bất kỳ đỉnh nào của nó
cũng làm mất tính ổn định ngồi.

Tập C được gọi là tập ổn định ngồi bé nhất nếu C là tập ổn định ngồi có ít
KHMT 2008 - 2011 Trang 23/26
a
b
c
d
e
p
q
r
s
t
b
a
e
d
c
a
b
c
d
e
Tiểu luận môn Hệ Phân Tán
phần tử nhất. Lực lượng của tập ổn định ngồi bé nhất được gọi là số ổn định ngồi của
đồ thị.
III.Nhân của đồ thị
Giả sử G = (V, E) là một đồ thị.
Định nghĩa: Tập B

V được gọi là nhân của đồ thị G nếu nó vừa là tập ổn định

trong vừa là tập ổn định ngồi của G, nghĩa là:
∀x ∈ B : B ∩ F(x) = ∅ và ∀y ∉ B : B ∩ F(y) ≠ ∅.
Hai điều kiện trên của nhân tương đương với đẳng thức: F
-1
(B) = V \ B. Từ định
nghĩa của nhân, ta suy ra:
- Nhân khơng chứa đỉnh nút.
- Nếu F(x) = ∅ thì x phải thuộc vào một nhân nào đó của đồ thị.
Ví dụ: Xét các đồ thị sau đây:
Đồ thị có 2 nhân Đồ thị khơng có nhân
Hình 10. Đồ thị và có nhân và đồ thị khơng có nhân
Chú ý: Nếu g là một hàm Grundy của đồ thị G thì tập hợp:
B = { x | g(x) = 0} là một nhân của G.
Quả vậy, nếu x, y đều thuộc B thì g(x) = g(y) (= 0) nên x khơng thể kề với y. Vậy B là
tập ổn định trong.
Mặt khác, nếu x ∉ B thì g(x) > 0. Khi đó, với u = 0 < g(x) sẽ tồn tại y ∈ F(x) sao
cho g(y) = u = 0 . Ta có y ∈ B . Vậy B là tập ổn định ngồi.
KHMT 2008 - 2011 Trang 24/26
21
34
a
b
c
Tiểu luận môn Hệ Phân Tán
TÀI LIỆU THAM KHẢO

[1] Hệ tin học phân tán – TS. Lê Văn Sơn, Nhà xuất bản Đại học quốc gia TP.
Hồ Chí Minh.
[2] Các tài liệu tham khảo trên internet.
[3] Distributed Systems (Concepts and Design) – George Coulouris, Jean

Dollimore và Tim Kindberg.
[4] Advances in Distributed and Parallel Knowledge Discovery – Hillol Kargupta và
Philip Chan.
KHMT 2008 - 2011 Trang 25/26

×