Tải bản đầy đủ (.doc) (24 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 (332.38 KB, 24 trang )

Tiểu luận môn học : Hệ phân tán Trang
1
LỜI MỞ ĐẦU
Cùng với sự phát triển ngày càng cao của công nghệ thông tin. Sự ra đời và
phát triển ồ ạt của máy vi tính và các phương tiện xử lý thông tin khác, cũng như
nhu cầu trao đổi thông tin trong mọi hoạt động xã hội loài người . Đòi hỏi sự phát
triển đồng bộ các phương pháp truyền thông . Mạng máy tính ra đời làm cho mọi
người trên thế giới trở nên gần nhau hơn . 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 .
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ệ, yê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 quát 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 quát 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àng 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 việc
“Đồng bộ hóa giữa các tiến trình”, tiểu luận chủ yếu tập trung phân tích cách giải
quyết vấn đề dựa vào các thuật toán liên quan đến đồng bộ của Lamport . Ví dụ của
bài toán kinh điển – bãi đậu xe ô tô, được sử dụng để minh họa cho các yêu cầu
đồng bộ và gắn bó dữ liệu. nội dung của tiểu luận gồm những phần chính sau :
-Khái quát chung về hệ phân tán.
-Bài toán bãi để xe ôtô và vấn đề đồng bộ hoá giữa các tiến trình.
Bài tập : Bài số 4 chương IV – Trang 195.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
2


Để hoàn thành tiểu luận này, tôi xin chân thành cám ơn sự chỉ bảo tận tình
của Thầy giáo: 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 giáo và các bạn .
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiu lun mụn hc : H phõn tỏn Trang
3
PHN 1. Lí THUYT
CHNG I : KHI QUT CHUNG V H TIN HC PHN TN
I.1.nh ngha h tin hc phõn tỏn:
H tin hc phõn tỏn hay núi ngn gn l h phõn tỏn (Distributed System) l
h thng x lý thụng tin bao gm nhiu b x lý hoc b vi x lý nm ti cỏc v trớ
khỏc nhau c liờn kt vi nhau thụng qua phng tin vin thụng di s iu
khin thng nht ca mt h iu hnh.
I.2. c im ca h phõn tỏn:
H tin hc phõn tỏn cú th bao gm 4 thc th:
Hỡnh I.1:Cỏc thc th ca h phõn tỏn
Trong h tin hc phõn tỏn, cu hỡnh phn cng ca mng cú th bao gm cỏc b
x lý cú cu to hon ton khỏc nhau v kh nng, tc v c thit k cho cỏc chc
nng khụng ging nhau. Chỳng cú th l cỏc b vi x lý, cỏc trm lm vic, cỏc mỏy
tớnh trung v cỏc mỏy tớnh in t vn nng loi ln. iu ỏng quan tõm l chỳng
c gi bng cỏc tờn gi khỏc nhau nh trm, nỳt mng, mỏy tớnh,cn c ng cnh
m ú nú c nờu ra.
Ngoi h thng phn cng, phn mm, d liu, thỡ h phõn tỏn cũn cú h thng
truyn thụng. Song iu c bn phõn bit h tin hc phõn tỏn vi mng mỏy tớnh v
h iu hnh mng chớnh l nguyờn tc xõy dng h.
Hc viờn: Nguyn Th Hoi Tho Khoa hc mỏy tớnh K10
Caùc
hóỷ thọỳng
phỏửn
móửm

Caùc
hóỷ thọỳng
phỏửn
móửm
Tỏỷp hồỹp
phỏửn
cổùng
Tỏỷp hồỹp
phỏửn
cổùng
Hóỷ thọỳng
truyóửn
thọng
Hóỷ thọỳng
truyóửn
thọng
Hóỷ thọỳng
dổợ lióỷu
Hóỷ thọỳng
dổợ lióỷu
Tiểu luận môn học : Hệ phân tán Trang
4
Trong các tài liệu hiện nay, có rất nhiều lý lẽ xung quanh vấn đề nguyên tắc xây
dựng một hệ phân tán, nhưng chung quy có thể liệt kê trong 4 điểm sau đây:
1. Chia sẽ tài nguyên:
Thực tế phát triển mạng máy tính đặt ra một vấn đề lớn là cần phải dùng chung
tài nguyên. Một tiến trình trên một trạm nào đó có thể được yêu cầu cung cấp tài
nguyên dùng chung ở một trạm khác.
2. Liên lạc:
Khi hệ thống đã được mắc nối với nhau, các thực thể của hệ có thể trao đổi

thông tin cho nhau.
3. Tin cậy:
Một trạm của hệ bị sự cố không làm cho toàn hệ bị ảnh hưởng, mà ngược lại,
công việc của các trạm đó được phân cho các trạm khác đảm nhiệm. Ngoài ra, trạm bị
sự cố có thể phục hồi lại các trạng thái trước khi bị sự cố hay trạng thái ban đầu của nó.
4. Tăng tốc:
Đây là một khái niệm mới về phân tán tải. Một tính toán lớn nào đó, nếu chỉ sử
dụng một trạm, thì thời gian trả kết quả sẽ rất lớn. Tính toán này được chia nhỏ và thực
hiện song song trên các trạm. Điều này cũng rất cần thiết đối với những trạm bị quá tải.
Một trong những tư tưởng lớn của hệ phân tán là phân tán hoá các quá trình xử lý
thông tin và thực hiện công việc đó trên các trạm xa nhau.Đó là những cơ sở căn bản
cho việc xây dựng các ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính
phủ điện tử, thư viện điện tử số và bệnh viện ảo.
I.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.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
5
I.4. Các thao tác chuẩn của hệ phân tán:
- Tiếp nhận và ghi yêu cầu chỉ dẫn.
- Dịch yêu cầu để có các thông tin cần thiết. Thực hiện một số công việc của hệ
thống cục bộ như kiểm tra quyền truy cập thông tin, lập hóa đơn dịch vụ.
- Gửi kết quả cho hệ thống đã phát yêu cầu.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
6

CHƯƠNG II : BÀI TOÁN BÃI ĐẬU XE Ô TÔ
VÀ VẤN ĐỀ ĐỒNG BỘ GIỮA CÁC TIẾN TRÌNH
II.1 Đặt vấn đề:
Trong tất cả các hệ thống tin học, ta cần phải nghiên cứu tất cả các công cụ
đủ mạnh và hiệu quả để có thể đồng bộ hoá các tiến trình. Tính cấp thiết về mặt
nguyên lý và kỹ thuật của vấn đề này thể hiện ở hai nguyên do cơ bản sau đây:
1. Nhìn chung, các tiến trình kể cả các 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 nguyên với số lượng vốn rất hạn chế hay truy cập
vào 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. Tương tranh chính là nguyên nhân chính của các xung đột của giữa các tiến
trình muốn truy cập vào tài nguyên dùng chung.
2. Các tiến trình của cùng một hệ ứng dụng hoạt động theo kiểu hợp lực để
giải quyết các bài toá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à hiệu quả hoạt động của chương trình. Hợp lực là
nguyên 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.
Vì vậy, hợp lực là nguyên 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 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 phải có trao đổi thông
điệp qua lại với nhau. Trong các hệ thống tập trung, điều đó được thực hiện nhờ
thuật toán loại trừ tương hỗ thông qua các biến cùng tác động trong một vùng nhớ
chung. 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.
II.2 Bài toán bãi để xe ô tô.
II.2.1. Bài toán bãi để xe :
Để rút ra các vấn đề đang đặt ra trong hệ phân tán về việc đồng bộ hóa các
tiến trình. Ta hãy nghiên cứu một ví dụ kinh điển, đó là bài toán bãi để xe ô tô, với
nội dung được nêu ra như sau :
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang

7
Hình II-1 mô phỏng bãi để xe ô tô hiện đại.
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ô.
Bài toán nêu ra một số tình huống sau:
Tình huống thứ 1:
Giả sử bãi để xe ô tô là loại bãi lớn có một cổng vào dưới sự kiểm soát của
một người bảo vệ (NBV) duy nhất. NBV chỉ biết được một phần trạng thái của bãi
để xe. Trong khi anh ta nghĩ rằng bãi xe đã bị đầy, khi đó lại có nhiều lái xe đang
cho xe chạy ra cổng. Vì suy nghĩ như vậy, trong trường hợp này, anh ta không giải
quyết cho các xe tiếp tục vào bãi nữa, mặc dù lúc này trong bãi đang có chỗ trống.
Như vậy, NBV không nắm được trạng thái hiện hành của bãi.
Tình huống thứ 2:
Nếu ta có bãi để xe với nhiều cổng và tại mỗi cổng có một NBV thì mỗi NBV
chỉ có thể biết trạng thái với độ trễ nhất định và điều đó dẫn đến tình huống thứ 2.
Đó là tình huống có nhiều trung tâm ra quyết định như trường hợp minh họa của
hình trên.
Trên thực tế, một người bảo vệ nào đó tin rằng không còn chỗ trống nữa,
trong khi một người bảo vệ khác lại vừa mới cho ra khỏi bãi một số xe mà anh ta
chưa kịp báo cho các người bảo vệ khác. Cũng có thể diễn ra trường hợp là cùng
một lúc các NBV giải quyết các xe vào cùng một vị trí trong bãi do vì họ thiếu
thông tin.
Tình huống thứ 2, đặt ra ở đây liên quan trực tiếp đế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ệ. Trong đó
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Hình II-1. Mô phỏng bãi đậu xe ôtô
Tiểu luận môn học : Hệ phân tán Trang
8

một người bảo vệ có vai trò như là chương trình cung cấp của bãi để xe, Ở đây, chỗ
để xe được xem là tài nguyên của hệ, các ô tô vào bãi là các tiến trình của hệ .
Như vậy, các NBV 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, đặc biệt là số lượng chỗ còn trống càng ít (tài nguyên hạn chế) thì
vai trò của hợp lực càng quan trọng.
Sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rất cần thiết
để đảm bảo cho hoạt động cung cấp được hoàn toàn chính xác.
II.2.2 Ví dụ về không gắn bó:
Để thấy được tầm quan trọng mang tính quyết định của trình tự xử lý thông
điệp đối với yêu cầu gắn bó của hệ, ta hãy tiếp tục xem xét một trường hợp về
không gắn bó của bài toán bãi để xe ôtô : Ở đây, chỗ để xe được xemnhư là tài
nguyên của hệ. 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ảng II-1 sau:
Bảng II-2: cho thấy,
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. Để bảo đảm các bản
cập nhật giống nhau thì trình tự cập nhật nhất thiết phải giống nhau trên tất cả các
trạm.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
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
Tiểu luận môn học : Hệ phân tán Trang
9
trật tự
xử lý
Bảo vệ 1 Bảo vệ 2 Bảo vệ 3 Bảo vệ 4

Thôn
g đ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
Bảng II-2: Sự không gắn bó giữa 4 người bảo vệ
II.2.3 Qui tắc cho các thuật toán cung cấp trong hệ phân tán:
Một sự hoạt động gắn bó của các chương trình cung cấp phân tán quản lý trên
cùng một tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các qui tắc sau:
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.
Qui tắc thứ ba, nhấn mạnh đến sự thiết yếu phải có một trật tự duy nhất trên
tập hợp các thông điệp của hệ. Trật tự này có thể được thực hiện thông qua việc hợp
lực của các tiến trình cung cấp. Vấn đề nghiên cứu phương pháp sắp xếp nhằm xác

lập một trật tự đảm bảo cho yêu cầu đồng bộ hóa được trình bày ở phần sau.
II.3 Vấn đề đồng bộ giữa 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.
Một tiến trình nào đó cần sử dụng tài nguyên để phát triển công việc của
mình, phải yêu cầu bộ cung cấp một cách hợp thức bằng cách gửi thông điệp yêu
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
10
cầu. Như thế, một tiến trình có nhu cầu tài nguyên sẽ bị treo chừng nào tài nguyên
đó còn chưa được giải phóng hay chưa được cung cấp cho nó.
* 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. Chính vì vậy,
trật tự hóa từng phần giữa các sự
kiện mà tiến trình của nó cần phải đồng bộ là vấn đề cần phải quan tâm .
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” (→) hay “ở ngay 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:
C1: Nếu A và B là hai sự kiện của cùng một trạm và A được thực hiện trước
B trước B thì trật tự cục bộ ta có: A→B
C2: 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. (nhân-quả)
Hình II.2 sau đây cho ta một ví dụ về trật tự hoá từng phần của các sự kiện
trong hệ thống.
Theo hình vẽ đó, ta có thể biểu diễn trật tự như sau:

Trật tự từng phần của các sự kiện
A
1
→ A
2
→ A
3
→ A
4
→ A
5
B
1
→ B
2
→ B
3
→ B
4

Trao đổi thông điệp
A
2
→ B
2
vaì B
3
→ A
4


Chuyển qua
A
1
→ A
2
→ B
2
→ B
3
→ B
4
B
1
→ B
2
→ B
3
→ A
4
→ A
5
A
1
→ A
2
→ B
2
→ B
3
→ A

4
→ A
5
Ví dụ về các sự kiện không so sánh
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
11
B
1
và A
1
, A
2
, A
3
A
3
và B
2
, B
3
, B
4
Hình II.2: Mô tả trật tự từng phần
II.3.1 Đoạn găng :
Đoạn găng (Critical Section): là đoạn code trong các tiến trình đồng thòi, có
tác động đến các tài nguyên dùng chung.
Vấn đề đoạn găng: các sự truy cập chồng lên nhau có thể dẫn đến các kết quả
khác với truy cập tuần tự. Do đó làm thế nào bảo đảm rằng các tiến trình thi hành
miền găng một cách tuần tự chứ không phải là đồng thời; hay nói cách khác là làm

thế nào tuân theo giải thuật loại trừ tương hỗ.
II.3.2 Yêu cầu của công tác điều độ qua đoạn găng:
1. Tại một thời điểm không thể có hai tiến trình nằm trong đoạn găng.
2. Nếu có nhiều tiến trình đồng thời xin được vào đoạn găng thì chỉ cómotj
tiến trình được phép vào, các tiến trình còn lại phải xếp hàng chờ trong
hàng đợi.
3. Tiến trình chờ ngoài đoạn găng không được ngăn cản các tiến trình khác
vào đoạn găng.
4. Không có tiến trình nào được phép ở lâu vô hạn trong đoạn găng và không
có tiến trình nào phải chờ lâu mới được vào đoạn găng.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
A
1
A
2
A
3
A
4
A
5
B
1
B
2
B
3
B
4
B

5
t
Tiểu luận môn học : Hệ phân tán Trang
12
5. Nếu tài nguyên găng được giải phóng thì hệ điều hành có nhiệm vụ đánh
thức các tiến trình trong hàng đợi ra để tạo điều kiệncho nó vào đoạn
găng.
II.3.3 Phân nhóm các thuật toán truy cập loại trừ tương hỗ:
− Truy cập vào miền găng dựa trên sự xác nhận (contention based): Mỗi
tiến trình xác nhận yêu cầu của nó để truy cập vào miền găng. Hay nói cách
khác, các tiến trình cạnh tranh hay tranh giành nhau quyền truy cập vào miền
găng.
− Truy cập vào miền găng dựa trên (Token based): Việc truy cập vào
miền găng được điều khiển bởi một token. Người giữ token có quyền thi hành
đoạn găng của nó.
− Tổng quát
Một trạm bất kỳ trong hệ thống có thể
+ Yêu cầu miền găng
+ Thi hành miền găng
+ Hoặc không làm gì cả đối với miền găng (thi hành trong đoạn không phải
miền găng).
Các thuật toán nên thỏa mãn các yêu cầu: Không bế tắc, không thiếu, các yêu
cầu được thi hành theo thứ tự chúng được tạo, có thể vẫn hoạt động khi có sự cố tại
một hoặc nhiều trạm.
II.4 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ôgic. Tức 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à
đưa vào đồng hồ lôgic cục bộ của chính trạm . Các đồng hồ này được lấy lại thông
tin qua hội thoại giữa các trạm.

Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
13
II.4.1 Các khái niệm :
* Đồng hồ lôgic :
Đối với nhiều ứng dụng, các sự kiện không cần lập lịch hay đồng bộ đối với
thời gian thực. Nó chỉ là thứ tự sự kiện hoạt động liên quan. Trong trường hợp như
vậy, đồng hồ lôgic có thể được dùng để biểu thị thứ tự thông tin cho các sự kiện,
đặc biệt trong hệ phân tán, nó khó giữ được đồng hồ vật lý chung giữa tất cả các
tiến trình đang sắp xếp. Đồng hồ lôgic Lamport là khái niệm cơ bản để sắp xếp các
tiến trình và các sự kiện trong hệ phân tán.
Mỗi trạm s đều có trang bị công tơ với các giá trị nguyên gọi là H
s .
Đó chính
là đống hồ lôgic 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 của H
e
. Khi nhận được thông điệp, trạm r
cập nhập đồng hồ H
r
riêng của mình bằng giải thuật sau :
Nếu H
r
, thì
H
r
:= E+1
Chấm dứt nếu
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
toá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.
Với thời gian này cho phép xác định một quan hệ trật tự toàn bộ mà ta đã ký
hiệuvà cho phép kiểm tra được các điều kiện trong C1, C2 của phần II.3.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 trạm i và j, ta luôn có quan hệ xác định như sau:
abH
i
(a)<H
j
(b)
Đó là trật tự không chặt chẽ do vì 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).
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
14
Theo định nghĩa , ta có:
a=>b=>(H
i
(a)<H
j
(b))
hay (H

i
(a)<H
j
(b) và i<j)
* Gắn thời gian lôgic với các sự kiện
- Các đồng hồ lôgic: gán một số cho mỗi sự kiện cục bộ.
- Hệ thống các đồng hồ lôgic phải chính xác :
Điều kiện đồng hồ :
∀ sự kiện a,b : nếu a → b thì H(a) < H(b)
- Để thực thi các đồng hồ thỏa mãn điều kiện đồng hồ, ta có thể áp dụng thuật
toán đóng dấu thời gian .
II.4.2 Đồng bộ theo trật tự tổng quát chặt chẽ (Lamport):
Trật tự từng phần chỉ có thể áp dụng cho một số hệ thống , điều này có nghĩa
là một số hệ thống có thể gắn bó được thông qua việc sắp xếp các sự kiện theo trật
tự bằng quan hệ “có trước”. Tuy nhiên có rất nhiều hệ phân tán các sự kiện không
thể sắp được bằng trật tự từng phần, do vậy phải cần đến trật tự chặt chẽ (=>)của
các sự kiện.
* Giải thuật đóng dấu thời gian của Lamport
Đồng hồ lôgic cho phép đóng dấu thời gian, nhằm xác lập trật tự cho từng sự
kiện trong hệ phân tán để với mỗi cặp sự kiện A và B ta có: nếu A có trước B (A →
B) thì đồng hồ lôgic của A nhỏ hơn đồng hồ lôgic của B.
Nguyên tắc thiết lập: Mỗi trạm S đều có trang bị công tơ với các giá trị
nguyên Hs đó chính là đồng hồ lôgic, hoạt động theo các qui tắc sau:
Gia tăng H
i
thêm một trị số giữa hai sự kiện kế tiếp
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
a
H
i

H
i
+1
Tiểu luận môn học : Hệ phân tán Trang
15
Trạm e phát thông điệp m , ghi dấu dấu thời gian cho các thông điệp m gửi
đi, T
m
= H
e
(a)
Khi nhận được thông điệp m, trạm nhận r cập nhật đồng hồ H
r
riêng theo :
H
r
= T
m
+ 1 (điều này đảm bảo tính nhân-quả theo trật tự từng phần)
Trật tự sự kiện toàn bộ: Một sự kiện a sinh ra trên trạm i được đánh dấu bởi
đồng hồ cục bộ H
i
, nến a và b là hai sự kiện trên hai trạm i và j ta quan hệ sau:
a ⇒ b ⇒ H
i
(a) < H
j
(b) hay H
i
(a) = H

j
(b) và i < j
II.4.3 Thuật toán loại trừ tương hỗ trên cơ sở đóng dấu của Lamport
Thuật toán này được Lamport đưa ra, nó sử dụng cơ chế đóng dấu thời gian
cho việc đồng bộ các đồng hồ lôgic.
-Các giả định:
Chúng ra giả định mô hình mạng kết nối hoàn toàn trong đó các tiến trình liên
lạc thông qua các kênh FIFO tin cậy. Tức là, các thông điệp không thể sắp xếp lại
theo trật tự khác.
Các giả định được thực thi một cách dễ dàng ở tầng giao vận.
-Các kiểu thông điệp:
+ (REQ, H
i
, 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, H
i
, 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 .
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10

a
H
i
H
i
+1
(
T
m


=
H
e

(
a
) )

P
j
H
r
H
r
= T
m
+ 1
(m, T
m
,s)
Tiểu luận môn học : Hệ phân tán Trang
16
+ (REL, H
i
, 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.
-Thuật toán:
Khi một tiến trình tại trạm S
i

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, S
i
, 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; các đồng hồ lôgic 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.
Ý 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.
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 ACQ từ tất cả các trạm còn lại .
Yêu cầu REQ của nó là ở 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.
Như vậy:
Độ trễ đồng bộ: T (trong đó T thời gian trung bình truyền thông điệp) khi
nhận được thông điệp giải phóng, tiến trình tiếp theo có thể bắt đầu thi hành.
Loại trừ tương hỗ là đạt được: Các dấu thời gian là duy nhất, vì vậy tất cả các
hàng đợi sẽ giữ các yêu cầu trong cùng một thứ tự. Chỉ một tiến trình duy nhất sẽ
nằm ở đỉnh của các hàng đợi.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
17
Các yêu cầu được cấp quyền dựa trên cơ sở của trật tự dấu thời gian và các

tiến trình gửi các thông điệp REL.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
18
PHẦN 2. BÀI TẬP
Bài toán nhằm vào giải quyết vấn đề phương pháp sắp xếp các đồng hồ lôgic.
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.
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.
Đây là phương pháp sắp xếp các đồng hồ lôgic 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
lôgic 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.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
19
Thật vậy, ở phương pháp sắp xếp đồng hồ lôgic 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.

Hệ phải được thiết kế sao cho thời gian di chuyển thông điệp không được quá
khoảng 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ệ).
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ôgic 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 đó.
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ôgic 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.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
20
Hãy chỉ ra việc loại trừ tương hổ được xử lý như thế nào và hãy so sánh số
lượng thông điệp của phương pháp này so với số lượng của phương pháp Lamport?
Hãy chỉ ra các bản sao (nhiều bản sao) được quản lý như thế nào?

- 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
Có thể định dạng thông điệp m từ Si tại dấu 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.
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. Việc bảo trì đồng hồ bảo vệ là chức
năng của tầng giao vận.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
21
Hãy chỉ ra trong giải thuật loại trừ tương hổ và trong giải thuật quản lý nhiều
bản sao các sự cố được xử lý như thế nào?
Trong giải thuật loại trừ tương hỗ và trong giải thuật quản lý nhiều bản sao

các sự cố được xử lý như sau:
Điều kiện để phương pháp có thể đáp ứng cho sự cố xảy ra:
1) Việc đột nhiên biến mất đi một trạm nào đó phải được các trạm khác nhận
biết tự động.
2) Giao dịch T bắt buộc phải được thực hiện một cách trọn vẹn. Nếu có sự
cố diễn ra thì bắt buộc nó phải quay trở(rollback) lại điểm xuất phát.
Như đã nêu ở trên, điều kiện thứ nhất là hoàn toàn đáp ứng được đối với
phương pháp này.
Đối với điều kiện thứ hai, nhờ gắn bó chậm ở thời điểm K+2 khi phát hiện
một trạm (Sj) nào đó bị sự cố hệ có thể rollback giao dịch chưa kết thúc của Sj tại
thời điểm K.
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
22
KẾT LUẬN
Vấn đề đồng bộ hoá gữa các tiến trình trong hệ phân tán hết sức quan trọng và
cần đặc biệt chú ý đến . Bởi vì các thành phần trạng thái của hệ chỉ được biết một
cách không chắc chắn do thời gian truyền thông tin trong đường truyền không cố
định, thời gian trể trong quá trình truyền giữa các trạm cũng khác nhau, và độ rũi ro
về mất thông tin trong hệ phân tán khá cao, sự cố có thể xảy ra bất cứ lúc nào. Vậy,
nếu xây dựng giải pháp đồng bộ hoá giữa các tiến trình tốt thì việc trao đổi dữ liệu
giữa các trạm cũng thông suốt và dễ dàng đáp ứng thời gian thực về truyền thông .
Chúng ta đã nghiên cứu một số vấn đề đồng bộ không chắc chắn trên cơ sở trật
tự toàn bộ mà việc triển khai được đặt trên nền tảng đánh số sự kiện . Vấn đề dấu và
cơ chế loại trừ tương hổ giúp giải quyết nhiều vấn đề đặt ra .
Với bài toán bãi để xe ôtô cùng với lý thuyết về vấn đề đồng bộ hoá giữ các
tiến trình, chúng ta đã rút ra được những vấn đề đặt ra và cần nghiên cứu như :
-Truy cập tương tranh - nhiều tiến trình cùng một lúc truy cập vào tài nguyên
chung.
- Hợp lực

- Chiến lược đồng bộ hoá các tiến trình
- Chiến lược cung cấp tài nguyên
- Khả năng ứng dụng thực tế qua bài toán bãi để xe ôtô.
Phần bài tập nhấn mạnh thêm qua phương pháp sắp xếp các đồng hồ lôgic cho
phép triễn khai trên cơ sở của dấu là KENEKO.
Nội dung tiểu luận đã giải quyết được trọng tâm của đề tài đặt ra .
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
23
TÀI LIỆU THAM KHẢO :
[ 1].TS. Lê Văn Sơn , Hệ tin học phân tán, NXB Đại học Quốc gia TP Hồ
Chí Minh, năm 2002
[2].Trần Đức Quang, Nguyên lý các hệ cơ sở dữ liệu phân tán (sách dịch
tập1), Nhà xuất bản Thống kê, năm 1999
Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10
Tiểu luận môn học : Hệ phân tán Trang
24
MỤC LỤC
L I M UỜ ỞĐẦ 1
PH N 1. LÝ THUY TẦ Ế 3
CH NG I : KHÁI QUÁT CHUNG V H TIN H C PHÂN TÁNƯƠ Ề Ệ Ọ 3
I.1. nh ngh a h tin h c phân tán:Đị ĩ ệ ọ 3
I.2. c i m c a h phân tán:Đặ để ủ ệ 3
I.3. M c tiêu c a h phân tán:ụ ủ ệ 4
I.4. Các thao tác chu n c a h phân tán:ẩ ủ ệ 5
CH NG II : BÀI TOÁN BÃI U XE Ô TÔƯƠ ĐẬ 6
VÀ V N NG B GI A CÁC TI N TRÌNHẤ ĐỀĐỒ Ộ Ữ Ế 6
II.1 t v n :Đặ ấ đề 6
II.2 Bài toán bãi xe ô tô.để 6
II.2.1. Bài toán bãi xe :để 6

II.2.2 Ví d v không g n bó:ụ ề ắ 8
II.2.3 Qui t c cho các thu t toán cung c p trong h phân tán:ắ ậ ấ ệ 9
II.3 V n ng b gi a các ti n trình .ấ đề đồ ộ ữ ế 9
II.3.1 o n g ng :Đ ạ ă 11
II.3.2 Yêu c u c a công tác i u qua o n g ng:ầ ủ đ ề độ đ ạ ă 11
II.3.3 Phân nhóm các thu t toán truy c p lo i tr t ng h :ậ ậ ạ ừ ươ ỗ 12
II.4 S p x p ki u óng d u:ắ ế ể đ ấ 12
II.4.1 Các khái ni m :ệ 13
II.4.2 ng b theo tr t t t ng quát ch t ch (Lamport):Đồ ộ ậ ự ổ ặ ẽ 14
II.4.3 Thu t toán lo i tr t ng h trên c s óng d u c a Lamportậ ạ ừ ươ ỗ ơ ởđ ấ ủ 15
PH N 2. BÀI T PẦ Ậ 18
K T LU NẾ Ậ 22
TÀI LI U THAM KH O :Ệ Ả 23
M C L CỤ Ụ 24

Học viên: Nguyễn Thị Hoài Thảo – Khoa học máy tính K10

×