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

Gắn bó dữ liệu trong hệ quản lý bãi đỗ xe và đưa ra giải thuật sắp xếp các message đến dựa trên đồng hồ lôgí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 (354.79 KB, 21 trang )

Tiểu luận Môn học

Hệ phân tán

LỜI MỞ ĐẦU
Ngày nay với sự phát triển của khoa học kỹ thuật đặc biệt là kỹ thuật tin học đã phần
nào đáp ứng ngày càng tốt hơn nhu cầu trao đổi thông tin của con người, làm cho mọi
người khắp thế giới trở nên gần nhau hơn, thơng tin liên lạc nhanh chóng, thuận lợi và
hiệu quả. Được như vậy là nhờ vào hệ thống mạng máy tính và hệ tin học phân tán, đây
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. Trong giới hạn của tiểu luận kết thúc mơn học
này, đề tài “Gắn bó dữ liệu trong hệ quản lý bãi đỗ xe và đưa ra giải thuật sắp xếp các
message đến dựa trên đồng hồ lơgíc” tập trung việc giải quyết vấn đề gắn bó dữ liệu để
giải quyết trình tự cập nhật thơng tintrong các hệ thống tin học nói chung và hệ phân tán
nói riêng.
Nội dung của tiểu luận gồm có các phần sau:
-

Những vấn đề chung nhất của hệ tin học phân tán

-

Gắn bó dữ liệu trong hệ quản lý bãi đỗ xe

-

Những nguyên lý và thuật toán sắp xếp các message đến dựa trên đồng hồ lơgíc

Em xin chân thành cảm ơn thầy giáo PGS.TS. Lê Văn Sơn đã cung cấp kiến thức và
tài liệu để em có thể hồn thành tiểu luận này. Trong tiểu luận khơng thể tránh khỏi


những thiếu sót, em rất mong nhận được sự góp ý kiến của Thầy và các bạn.

Học viên thực hiện
HUỲNH ANH TUẤN

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 1/21


Tiểu luận Môn học

Hệ phân tán

CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ TIN HỌC PHÂN TÁN
I.

TỔNG QUAN VỀ HỆ TIN HỌC
Một cách tổng quát, hệ tin học có thể bao gồm các thành phần bản như phần cứng,

hệ điều hành, các chương trình ứng dụng và người sử dụng (NSD) … và có thể được mơ
tả như hình 1 sau :
1

M
...

2

2

1

III

II

...
...

P

Phần
text
text
cứng

1

IV

N

I

...

2

hệ điều hành


...

2
1

...

Q

.....
Hỡnh I-1. Thnh phn ca h tin học
Các thiết bị phần cứng bao gồm các thiết bị xử lý trung tâm, bộ nhớ và các thiết bị
ngoại vi đóng vai trị là một trong hai loại tài nguyên cơ sở của hệ thống tin học. Các
chương trình ứng dụng là thành phần tiếp theo sau hệ điều hành được hiểu như là các
phần mềm cơ sở phục vụ cho việc triển khai các ứng dụng cụ thể như chương trình dịch,
hệ quản trị cơ sở dữ liệu, các chương trình trợ giúp sử dụng các thiết bị chuyên dụng, các
trò chơi điện tử . . .
Người sử dụng (NSD) ở đây được hiểu theo nghĩa rộng, dưới góc độ của hệ điều
hành, có thể là các nhà chun mơn, các máy tính, các hệ tự động vận hành, gắn với máy
tính … đang khai thác hệ thống qua lệnh điều khiển theo một thuật toán nào đó nhằm đạt
được mục tiêu xác định từ trước .
Hệ điều hành các máy tính và mạng máy tính gọi tắt là hệ điều hành được đặt sát
phần cứng, nó gắn kết chặt chẽ với phần thiết bị bởi một hệ thống các chương trình, điều
khiển và sắp xếp nhằm khai thác phần cứng phục vụ cho các chương trình ứng dụng khác
nhau của NSD khác nhau với kết quả và hiệu năng chấp nhận được.
Như vậy, hệ tin học bao gồm ba thực thể: phần cứng, phần mềm và dữ liệu:

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 2/21



Tiu lun Mụn hc

H phõn tỏn

Phần cứng
Phần mềm

Dữ liệu

Hỡnh I -2. Ba thực thể của hệ tin học.
Vậy hệ thống tin học (Informatic System ) là một hệ thống bao gồm hai thành phần
cơ bản phần cứng (hardware) và phần mềm (software) gắn bó hữu cơ với nhau và có khả
năng xử lý thông tin.
II. HỆ TẬP TRUNG

Tiêu biểu là hệ thống máy đơn, là máy không kết nối vật lý và logic với các máy
khác.
Ở một thời điểm nhất định, máy đơn được điều hành bởi một hệ điều hành duy nhất.
Hệ thống như vậy được gọi là hệ tin học tập trung, thích hợp với các máy tính loại trung
và loại lớn.
Tóm lại, hệ tin học tập trung bao gồm một hệ thống máy đơn được điều khiển bởi
một hệ điều hành duy nhất và quản lý toàn bộ thông tin trên thiết bị nhớ cục bộ của mình.
III. HỆ TIN HỌC PHÂN TÁN

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 đượ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.

Hệ phân tán gồm 4 thực thể :
-

Tập hợp phần cứng

-

Các hệ thống phần mềm

-

Hệ thống truyền thông

-

Hệ thống dữ liệu

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 3/21


Tiểu luận Mơn học

Hệ phân tán

Mơ hình 04 thành phần như sau:

Tập hợp


Các hệ thống

phần cứng

phần mềm

Hệ thống

Hệ thống

truyền thông

dữ liệu

Hình I-3: 4 thực thể của
hệ tin học phân tán
Đặc điểm cần nhấn mạnh của hệ là các hệ xử lý thông tin thành phần :
-

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ớ và hệ điều hành riêng của nó.

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 chức nă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 tài
nguyên vốn có và rất đa dạng của hệ thống như tài nguyên dùng chung. Ưu điểm của hệ
phân tán so với hệ tập trung như sau:
-

Tăng tốc độ bình qn trong tính tốn xử lý.

-

Cải thiện tình trạng luôn sẵn sàng của các loại tài nguyên.

-

Tăng độ an tồn cho dữ liệu.

-

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

-

Bảo đảm tính tồn vẹn của thơng tin.

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.

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 4/21


Tiểu luận Mơn học

-

Hệ phân tán

Dịch 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.

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 5/21


Tiểu luận Mơn học

Hệ phân tán

CHƯƠNG II: BÀI TỐN BÃI ĐỖ XE ƠTƠ VÀ PHƯƠNG PHÁP ĐẢM BẢO GẮN

BĨ DỮ LIỆU
I.

ĐẶT VẤN ĐỀ:

- 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.
- 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à 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.
- Vì vậy, 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 tố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. BÀI TỐN BÃI ĐỖ XE

Bài tốn bãi đổ xe là bài toán kinh điển trong hệ phân tán nhằm mơ tả về việc đồng
bộ hóa các tiến trình.
Ta xét các ký hiệu sau (Hình II -1):
- 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 tố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
GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 6/21


Tiểu luận Mơn học

Hệ phân tán

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.

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ể.

BV
BV

VT
VT
VT


VT

VT
BV

VT

VT

VT
VT

VT

BV

VT
VT
VT

VT

VT
VT

BV

.......
BV


Trong bài tốn:
- Bãi đậu xe chính là tài ngun
- Xe chính là các tiến trình
- Nếu một cửa là tập trung cịn nhiều của
sẽ diến ra tranh chấp.

Hình II-1. Mơ phỏng bãi đậu xe

-

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 (hợp lực) 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 (tương tranh) 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 đó 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 ngun hạn chế) thì vai trị của
hợp lực càng quan trọng.

GV hướng dẫn: PGS. TS. Lê Văn Sơn


Trang 7/21


Tiểu luận Mơn học

Hệ phân tán

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 hồn tồn chính xác.
-

Tình huống thứ 3:
Để 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 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 tốn bãi để xe: 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 sau:
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

Hình II-2: Thời hạn truyền và nhận thơng điệp có trật tự

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 8/21


Tiểu luận Môn học

Hệ phân tán

Bảo vệ 1

Bảo vệ 2

Bảo vệ 3


Bảo vệ 4

Trật tự
xử lý

Thơng

Giá

Thơng

Giá

Thơng

Giá

Thơng

Giá

điệp

trị

điệp

trị

điệp


trị

điệp

trị

100

100

100

100

1

M1

120

M1

120

M1

120

M1


120

2

M2

110

M2

110

M2

110

M2

110

3

M3

99

M3

99


M3

99

M3

99

Sự gắn bó giữa 4 người bảo vệ
-

Tình huống thứ 4:
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 người bảo vệ đều có thơng tin đó. Trạng thái lúc này của hệ là gắn bó. Ba
trong số họ phát đi các thơng tin sau:
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

Hình II-3: Thời hạn truyền và nhận thơng điệp khơng trật tự

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 9/21


Tiểu luận Môn học

Hệ phân tán

Bảo vệ 1

Bảo vệ 2

Bảo vệ 3

Bảo vệ 4


Trật tự
xử lý

Thông

Giá

Thông

Giá

Thông

Giá

Thông

Giá

điệp

trị

điệp

trị

điệp

trị


điệp

trị

100

100

100

100

1

M1

120

M2

90

M3

90

M1

120


2

M3

108

M3

81

M1

110

M2

110

3

M2

98

M1

101

M2


100

M3

99

Hiện tượng thể hiện sự khơng gắn bó giữa 4 người bảo vệ

Như vậy, trong bài tốn hệ quản lý đổ xe, việc khơng gắn bó dữ liệu ln ln xảy
ra ở các trạm nếu khơng có một cơ chế để thực hiện đồng bộ hố các tiến trình (cho phép
các ơ tơ vào bãi đậu theo một trình tự). Khi thực hiện phân tán chức năng cung cấp trên
nhiều trạm khác nhau (các bảo vệ) có 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 hồn tồn chính xác.
Trên cơ sở phân tích bài tốn ở trên chúng ta nhận thấy vấn đề khơng gắn bó dữ liệu trên
các hệ phân tán cần phải có cách giải quyết thích hợp. Phương pháp giải quyết vấn đề này
được nêu lên ở phần tiếp.

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 10/21


Tiểu luận Môn học

Hệ phân tán

CHƯƠNG III: SẮP XẾP CÁC THÔNG ĐIỆP ĐẾN DỰA TRÊN ĐỒNG HỒ
LOGIC
I.


CƠ SỞ LÝ THUYẾT
1. Các 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
1
2
3

Qui tắc
Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật
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
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.
2. Miền găng
Miền găng: đoạn chương trình cho phép tiến trình truy cập vào tài nguyên dùng
chung (nhưng mỗi lần chỉ một tiến trình được phép sử dụng).
Vấn đề miề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ỗ.
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 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

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 11/21


Tiểu luận Môn học

Hệ phân tán




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 tố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.

4. Đồng hồ Logic
-

Khái niệm đồng hồ logic: Là các giá trị gán cho các sự kiện tính để cung cấp
thông tin về thứ tự xảy ra của chúng.

-

Số nguyên L(e) gán cho sự kiện e trong một thực hiện tha món iu kin a đ
b ị L(a) < L(b)

-

Gii thuật nhãn thời gian logic:


Mỗi bộ xử lý pi duy trì một biến đếm (nhãn thời gian logic) Li, có giá trị

ban đầu là 0



Mọi thông báo pi gửi đi được gán nhãn thời gian giá trị hiện thời của Li



Với mỗi sự kiện tính a, Li được tăng để > giá trị trước đó và nhãn thời
gian của mọi thông báo nhận được

L(a) là giá trị của Li khi sự kiện a kết thúc, ký hiệu Li(a)
Ví dụ: Đồng hồ Logic

-

Thứ tự bộ phận
Ví dụ
 a ® b : L(a) = 1 < 2 = L(b)
 f ® i : L(f) = 4 < 5 = L(i)
 a ® e : L(a) = 1 < 3 = L(e)

-

Thứ tự toàn phần

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 12/21



Tiểu luận Môn học

Hệ phân tán

Sử dụng thêm id của bộ xử lý trong nhãn thời gian
Ví dụ
L(a) = (1,0) < (1,1) = L(c)
Vì sao sử dụng đồng hồ logic?
Trong hệ thống không đồng bộ, thường không thể biết sự kiện nào xảy ra trước sự kiện
nào.
Một số ví dụ :
-

-

Ví dụ A


p0 gửi thơng báo m0 cho p1



Trước khi m0 tới p1, p1 gửi thông báo m1 cho p0



p0 và p1 không thể biết thông báo nào đã được gửi trước

Ví dụ B



p0 gửi thơng báo m0 cho p1



Sau khi m0 tới p1, p1 gửi thông báo m1 cho p0



p0 và p1 biết m0 được gửi và nhận trước khi m1 được gửi

 Cần sắp xếp các sự kiện theo thứ tự bộ phận
5. Thứ tự bộ phận xảy ra trước
-

Trong một thực hiện, sự kiện tính a xảy ra trước sự kiện tính b, ký hiệu a ®
b, nếu:


a và b xuất hiện trên cùng một bộ xử lý và a xảy ra trước b trong thực
hiện trên bộ xử lý đó, hoặc



a gây ra việc gửi thơng báo m và b bao hàm việc nhận thông báo m, hoặc



$ sự kiện tính c sao cho a ® c và c ® b


-

Xảy ra trước có nghĩa là thơng tin từ sự kiện a có thể ảnh hưởng đến sự kiện b

-

Nếu trong hai sự kiện khơng có sự kiện nào xảy ra trước thì chúng tương
tranh, ký hiệu ║

6. Đồng hồ vector
-

Vấn đề đối với đồng hồ logic:

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 13/21


Tiu lun Mụn hc

H phõn tỏn



a đ b ị L(a) < L(b); cha chc L(a) < L(b) ị a đ b




"Xảy ra trước" là thứ tự bộ phận, trong khi các giá trị đồng hồ logic là
những số nguyên có thứ tự tồn phần

-

Đồng hồ vector tổng qt hóa của đồng hồ logic: Các giá trị được lấy từ một
tập thứ tự bộ phận thay vì một tập thứ tự toàn phần

-

Khái niệm đồng hồ vector : Là các giá trị gán cho các sự kiện để cung cấp các
thông tin không nhân quả và nhân quả giữa chúng

-

Giá trị V(e), thuộc tập thứ tự bộ phận, gán cho sự kiện e trong một thực hiện
thỏa đáng thỏa mãn a ® b Û V(a) < V(b)

7. Giải thuật nhãn thời gian vector (vector timestamps)

-

Mỗi bộ xử lý pi duy trì một vector Vi n chiều, có giá trị ban đầu là (0,..., 0)

-

Mọi thông báo pi gửi đi được gán nhãn thời gian giá trị hiện thời của Vi

-


Với mỗi sự kiện tính a của pi


Gán Vi[i] := Vi[i] + 1



Với mỗi thơng báo pi nhận được có nhãn thời gian T

-

Cập nhật Vi[j] := max(T[j], Vi[j]) " j ¹ i

-

Nhãn thời gian vector V(a) = Vi(a) là giá trị của Vi khi sự kiện a kết thúc

8. So sánh nhãn thời gian vector

Cho V1 và V2 là hai vector nguyên n chiều
-

-

-

Bằng


V1 = V2 Û V1[i] = V2[i] " i




E.g. (3,2,4) = (3,2,4)

Nhỏ hơn hoặc bằng


V1 £ V2 Û V1[i] £ V2[i] " i



E.g. (2,1,4) < (3,2,4)

Nhỏ hơn


V1 < V2 Û V1 £ V2 nhưng V1 ¹ V2

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 14/21


Tiểu luận Môn học


-

Hệ phân tán


E.g. (2,1,4) < (3,2,4)

Không thể so sánh


V1 ║ V2 Û ù V1 £ V2 và ù V2 £ V1



E.g. (3,2,4) ║(4,1,4)

Lưu ý : Các phép so sánh khơng theo như thứ tự chữ cái
Ví dụ về nhãn thời gian vector

V(g) = (0,0,1) và V(b) = (2,0,0) là không thể so sánh mặc dù L(g) = 1 và L(b) = 2
9. Thực hiện α

Xét một thực hiện α trên một mạng đầy đủ
-

Mỗi bộ xử lý pi liên tiếp gửi một thông báo đến pi+1, pi+2,..., pn-1, p0,..., pi2, gọi sự kiện gửi đầu tiên là ai.

-

Mỗi pi liên tiếp nhận được một thông báo từ pi-1, pi-2,..., p0, pn-1,..., pi+2,
gọi sự kiện nhận cuối cùng là bi

Thực hiện α với N=4


GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 15/21


Tiểu luận Môn học

Hệ phân tán

10. Trạng thái kênh truyền:

Vấn đề: Trạng thái hệ thống bao gồm không chỉ trạng thái các bộ xử lý mà cả
trạng thái các thông báo đang di chuyển
-

Giải pháp với nhát cắt gần nhất


Mỗi thành phần của mảng store chứa thêm số thông báo nhận được (trực
tiếp) từ mỗi bộ xử lý hàng xóm



Để tính nhát cắt nhất quán gần nhất, mỗi pi thực hiện:
o

Duyệt mảng store từ chỉ số nhỏ nhất đến chỉ số lớn nhất, giả lập lại
các bước tính

o


Ghi dấu các thơng báo định gửi trong q trình giả lập

o

Ngừng giả lập khi tìm thấy m' gần nhất sao cho store[m'] có nhãn
vector ≤ K

-

Giải pháp với chụp trạng thái


Mỗi pi ghi lại chuỗi các thông báo nhận được từ pj giữa thời điểm pi
thiết lập biến answer và thời điểm pi nhận được thơng báo đánh dấu từ pj



Đó là các thông báo đang di chuyển thuộc nhát cắt nhất quán

11. Hàng đợi:

Queue: là một danh sách tuyến tính mà phép thêm được tiến hành một đầu danh
sách, phép loại bỏ được tiến hành tại đầu còn lại của danh sách. Queue còn gọi là danh
sách FIFO (First In First Out)
Loại bỏ

Thêm vào

-


Hàng đợi luôn chứa một thông điệp

-

Khi một trạm gởi thơng điệp thì nó cũng ghi vào hàng đợi của mình.

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Đầu

Cuối

Trang 16/21


Tiểu luận Môn học

Hệ phân tán

II. GIẢI THUẬT
1. Mô tả
-

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.

-

Giải thuật này nhằm giải quyết vấn đề trình tự (vấn đề mấu chốt của hệ

phân tán) dựa trên giá trị đồng hồ lô-gic để sắp xếp các thơng điệp đến.

-

Mỗi trạm s đều có trang bị cơng tơ với các giá trị ngun gọi là Hs. Đó
chính là đồng hồ lơ gích 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 Hr, thì
Hr := He +1
Chấm dứt nếu

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 ln có quan
hệ xác định như sau:
a ® b Û Hi(a) < Hi(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 (Hi(a),i).

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 17/21


Tiểu luận Mơn học

Hệ phân tán

Theo định nghĩa, ta có:
a Þ b Þ (Hi(a) < Hi(b))
hay (Hi(a) = Hi(b) và i
2. Trình bày giải thuật
-

Trạm i có thể gửi cho các trạm khác thơng điệp có dạng (T Hi, i), trong đó:


Hi là thời điểm thứ i, đây là dấu của thơng điệp có nghĩa là đồng hồ
lơgic của nó.



i: số thứ tự của trạm




T có thể nhận một trong ba giá trị REQ, REL và ACQ.

Ba giá trị này xác định bản chất của ba loại thông điệp khác nhau như bảng sau:
STT Thơng điệp
1

REQ

2

REL

3

ACQ

-

Giải thích
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
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
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.

Khi có một thông điệp được gởi đi bởi trạm i đồng thời nó cũng được ghi
trong hàng đợi của trạm này. Giả sử rằng mỗi hàng đợi ban đầu chứa các
thông điệp :
Mi = (REL, Hinit , i)


Trong đó: i, Hinit là thời điểm khởi sự giống nhau cho tất cả các trạm.
-

Tiêu chí để sắp xếp dựa vào Hi
Mỗi trạm quản lý một hàng đợi các thông điệp được sắp xếp hồn tồn bởi
quan hệ Þ theo cặp <thời gian, số> của từng thơng điệp.

3. Thuật tốn được mơ tả theo sơ đồ sau :
-

Khởi tạo hàng đợi, mỗi máy tự phát thông điệp
Mi = (REL, Hinit , i)

-

Khi trạm đang truy cập vào tài nguyên:

GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 18/21


Tiểu luận Môn học



Hệ phân tán

Để truy cập vào tài ngun một trạm nào đó sẽ phát một thơng điệp

u cầu Mi (T, Hi, i) đến tất cả các trạm khác và đưa yêu cầu vào hàng
đợi yêu cầu của trạm này.



Khi trạm j nhận thông điệp yêu cầu từ i, nó sẽ gởi ngược lại thơng
điệp (có chứa đồng hồ logic Hj) cho trạm j và đưa yêu cầu này vào
trong hàng đợi yêu cầu của nó.
If (state =muon) and (T, Hj,j) < (Ti, Hi,i) then
Begin
Send M(T,Hj,j) đến trạm i
INSERT(Mi,hàngđợi) ‘được sắp xếp theo H
End

-

Khi trạm đang thực thi yêu cầu:
Trạm i nhận một thông điệp với đồng hồ logic lớn hơn đồng hồ ở thời điểm
hiện tại của trạm i và yêu cầu của trạm i đang ở vị trí của hàng đợi u cầu
của nó.

If (H>Hi ) and (Vị trí M ở đầu của hàng đợi) then state=namgiu
-

Khi trạm khơng thực hiện gì cả:
Xố u cầu và gởi thơng điệp giải phóng
Những trạm khác sẽ loại bỏ yêu cầu tương ứng
If state=ranh then xử lý(các thông điệp hàng đợi) ‘sau đó xố
Send thơng điệp giải phóng đến các trạm
Những trạm khác cũng sẽ xoá yêu cầu của nó trong hàng đợi của mình


GV hướng dẫn: PGS. TS. Lê Văn Sơn

Trang 19/21


Tiểu luận Môn học

Hệ phân tán

KẾT LUẬN
-

Việc sắp xếp các thơng điệp đến dựa trên đồng hồ lơgích cho phép đánh dấu
các sự kiện và xác định một trật tự tổng qt chặt chẽ. Nhưng tại đây ta khơng
có quan hệ nào giữa các sự kiện và các giá trị của dấu.

-

Sự mâu thuẫn: giả thiết cả hai trạm 1 và 2 cùng thực hiện trùng nhau. Rồi sau
đó cả hai điều kiện yêu cầu đều nằm ở đỉnh của hàng đợi của mỗi chúng
nhưng trong trường hợp đồng hồ lơgíc của trạm 1 lại nhỏ hơn trạm 2

-

Rõ ràng là yêu cầu trạm i phải có mặt trong hàng đợi của trạm j khi trạm j
đang vào đoạn găng. Điều này cung cấp sự mâu thuẫn yêu cầu của chính tạm j
ở tại đỉnh của hàng đợi yêu cầu khi một đồng hồ logic nhỏ hơn đang có mặt.

GV hướng dẫn: PGS. TS. Lê Văn Sơn


Trang 20/21



×