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

THUẬT TOÁN gắn bó TRÊN cơ sở dấu

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 (236.6 KB, 15 trang )

MỤC LỤC
CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN VÀ KIẾN THỨC CHUNG VỀ TIN
HỌC HỆ PHÂN TÁN 3
I.1 Khái niệm: 3
I.2 Vấn đề trỏ thông tin 4
I.3 Vấn đề hệ thống nhiều bản sao 4
CHƯƠNG II: THUẬT TOÁN ĐẢM BẢO SỰ GẮN BÓ YẾU NHỜ DẤU 10
II.1. NGUYÊN LÝ 10
II.2. KHAI TRIỂN HỆ ỔN ĐỊNH 10
II.3. CÁC HÀNH VI NGOÀI CHẾ ĐỘ BÌNH THƯỜNG 10
PHẦN B : BÀI TẬP 12
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
LỜI NÓI ĐẦU

Hệ tin học phân tán là lĩnh vực còn khá mới mẽ, nhưng những ứng dụng của nó ngày càng rộng
rãi, giải quyết hiệu quả nhiều bài toán mà hệ tin học tập trung không đáp ứng được hoặc chỉ đáp ứng
được một phần.
Hiện tại, các nội dung mang tính lý thuyết nguyên lý của hệ tin học phân tán còn nhiều vấn đề chưa
được giải quyết triệt để và đang là mục tiêu khám phá của nhiều nhà nghiên cứu về công nghệ thông
tin.
Với mong muốn tìm hiểu nắm vững các nội dung nguyên lý của hệ tin học phân tán để có thể triển
khai được các ứng dụng phân tán trong thực tế, bài tiểu luận môn học " Hệ tin học phân tán" là cơ hội
tốt để cho chúng tôi tìm hiểu về lĩnh vực này.
Trong phạm vi tiểu luận của mình, tôi trình bày được những vấn đề sau:
Phần I: Lý thuyết
Trong chương 1 tôi trình bày các khái niệm cơ bản và kiến thức chung của hệ tin học phân tán.
Chương 2 tôi trình bày thuật toán gắn bó trên cơ sở dấu
Phần II: Bài tập
Đ
ây là bài toán dựa vào thuật toán của Mullery.
Trong một hệ thống phân tán giả định có độ ổn định tuyệt vời, ta muốn duy trì một sự gắn bó mạnh


giữa các bản sao của một đối tượng được định vị trên các trạm khác nhau.
Thuật toán dựa trên các nguyên lý sau đây :
• Trước khi thực hiện cập nhật, một trạm nào đó cần phải yêu cầu và thống nhất với các
trạm khác.
• Khi đã có được sự thống nhất, thì trạm này tiến hành công việc cập nhật; điều này phải tiến
hành trên tất cả các bản sao; đối tượng không thể truy cập chừng nào các bản sao còn
chưa cập nhật hết.
• Các xung đột giữa các trạm được giải quyết bằng một trật tự có hệ số ưu tiên giữa các
trạm, được cố định một lần lúc khởi sự cho toàn bộ.
1. Hỏi có bao nhiêu trạng thái khác nhau cần xem xét cho mỗi bản sao.
2. Hãy tr ình bày sơ đồ hoạt động của thuật toán (đồ thị phát triển).
3. Hãy đánh giá bằng hàm của số lượng bản sao, số lượng các thông điệp cần thiết để
thực hiện một cập nhật.
4. Ta phải sửa đổi thuật toán như thế nào để chịu đựng được sự cố trên một trạm (giả sử
hệ viễn thông hoạt động tốt).
.Xin chân thành cảm ơn Thầy Lê Văn Sơn đã trang bị những kiến thức và thông tin về môn
học và giới thiệu những tài liệu tài liệu thiết thực để tôi có thể hoàn thành tiểu luận này.
Với kiến thức có hạn nên tiểu luận này không tránh khỏi những sai sót. Rất mong nhận được
sự góp ý của Thầy và các anh chị trong lớp.
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 2
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
A. LÝ THUYẾT
CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN VÀ KIẾN THỨC CHUNG VỀ TIN
HỌC HỆ PHÂN TÁN
I.1 Khái niệm:
Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán 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 hệ thống viễn thông dưới sự điều hành thống nhất của một hệ điều hành.
Từ định nghĩa này, người ta có thể xem hệ phân tán như là một tập hợp bao gồm các
bộ xử lý hoặc bộ vi xử lý với bộ nhớ và đồng hồ nhịp độc lập. Điều này đồng nghĩa với việc

các bộ xử lý không sử dụng chung bộ nhớ và đồng hồ. Như vậy, mỗi một hệ xử lý thông tin
thành phần của hệ phân tán bao gồm một hay nhiều bộ xử lý và bộ nhớ cục bộ. Hệ xử lý
thông tin thành phần phải được thiết kế sao cho về cấu trúc, số lượng và dung lượng có thể
cho phép thực hiện một cách trọn vẹn các chức năng mà nó đảm nhận.
Hệ phân tán được xây dựng nhằm mục đích 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ử, thư viện điện tử số, xây
dựng các cơ sở dữ liệu tìm kiếm…
Ta có thể nói hệ phân tán bao gồm 4 thực thể như hình vẽ.
* Ưu và nhược điểm của hệ phân tán
a) Ưu điểm
 Chia xẻ tài nguyên: Chia xẻ tài nguyên trong hệ thống phân tán cung cấp một
cơ chế để chia xẻ tập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán,
in ấn tại một vị trí xa, sử dụng những thiết bị ở xa để thực hiện các thao tác…
 Tăng tốc độ tính toán: Hệ thống phân tán cho phép phân chia việc tính toán
trên nhiều vị trí khác nhau để tính toán song song.
 An toàn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác vẫn
tiếp tục làm việc mà không ảnh hưởng đến toàn bộ hệ thống.
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 3
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
 Thông tin liên lạc với nhau: Có nhiều lúc, chương trình cần chuyển đổi dữ
liệu từ vị trí này sang vị trí khác. Khi các vị trí được nối kết với nhau trong một hệ
thống mạng, việc trao đổi dữ liệu diễn ra rất dễ.
b) Hạn chế
 Giá phát triển phần mềm cao: Do các khó khăn khi cài đặt một hệ thống phân
tán, giá thành sẽ tăng lên.
 Dễ mắc lỗi hơn: Vì các trạm trong hệ phân tán làm việc song song, khó có thể
đảm bảo thuật toán được thực hiện đúng trên tất cả các trạm. Do vậy mà số lỗi sẽ
tăng lên.
 Khối lượng các xử lý tăng: Hệ thống phân tán cần truyền nhiều thông báo,

nhiều tính toán phụ. Do vậy khối lượng xử lý tăng lên so với hệ thống tập trung.
I.2 Vấn đề trỏ thông tin
Trong hệ phân tán, thời hạn truyền một thông điệp là hiệu số giữa thời điểm nhận và thời
điểm truyền. Ta giả sử rằng, thời hạn đó đủ lớn so sánh với hệ tập trung, là địa lượng biến
thiên và ở cặp máy này khác với ở cặp máy khác. Từ đó ta có hai hệ quả sau đây:
1) Ở một thời điểm cho trước, một bộ xử lý đang thực hiện trên một máy chỉ có thể biết
được trạng thái gần đúng của các máy khác.
2) Trật tự nhận các thông điệp trên các máy nhận có thể không giống trật tự phát của
chính các thông điệp đó.
Các máy trên mạng có thể bị sự cố và các thông điệp có thể bị mất. Giải pháp cho vấn đề
này là máy phát đánh số thứ tự tất cả các gói thông tin gửi đi kèm theo các số đó cho máy
nhận. Nếu máy phát không đánh số thì máy nhận sẽ không xác đinh được thứ tự các gói tin.
Ta có hệ quả ba là:
3) Hai máy giống nhau chứa thông tin hoàn toàn giống nhau lại không bao giờ giống
nhau về mặt trạng thái.
Từ những vấn đề nêu trên, ta rút ra các đặc tính tổng quát của hệ phân tán:
i) Thời gian truyền thông điệp là một biến với giá trị khác nhau, giá trị này có thể rất
lớn.
ii) Tần suất xuất hiện các sự cố trong khi vận hành mạng lớn.
iii) Việc truy cập tài nguyên, kích hoạt các tiến trình trong mạng không thể thực hiện
bởi một thiết bị duy nhất, mà chức năng này phải được phân tán trên nhiều máy trên mạng.
I.3 Vấn đề hệ thống nhiều bản sao
* Trong hệ phân tán, quá trình tổ chức, vận hành các hệ thống cho phép đăng ký từ xa,
từng hệ thống cục bộ đều có lưu trữ một bản sao của tất cả các thông tin liên quan đang có ở
tất cả các hệ thống cục bộ.
Ưu điểm nổi bật của kiểu tổ chức này là:
i) Dễ dàng thực hiện việc truy cập thông tin cần thiết cho các yêu cầu ngay tại hệ thống
cục bộ của mình
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 4
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán

ii) Cho kết quả truy cập một cách nhanh chóng.
Tuy nhiên, chỉ cho kết qủa tương đối chính xác và phụ thuộc rất nhiều vào phương pháp và
thời hạn cập nhật thông tin trong các CSDL cục bộ.
* Sự tồn tại nhiều bản sao trong một hệ phân tán trên nhiều hệ thống cục bộ khác nhau
có thể dẫn đến các hệ quả sau đây:
i) Cập nhật thông tin diễn ra do đăng ký gần hay từ xa hoặc sự thay đổi thông tin cục bộ
trên một hệ cục bộ nào đó cần phải được tiến hành cho tất cả các hệ thống cục bộ và không
được phép bỏ sót hệ thống nào cả. trong khoản thời gian làm tươi, thông tin phải đảm bảo
sao cho việc truy vẩn dữ liệu cho kết quả kịp thời hay đặt truy vấn trong trạng thái treo.
ii) Cần phải tránh trường hợp các thao tác trên hai bản sao khác nhau nhưng chứa cùng
một thông tin được truy cập bởi hai hay nhiều yêu cầu dẫn đến không gắn bó.
Hai vấn đề vừa nêu trên xác định về các ràng buộc đối với vấn đề gắn bó dữ liệu. Để đảm
bảo sự gắn bó này điều kiện đủ là phải bắt buộc tuân thủ trình tự nào đó cho các bản sao,
các cập nhật thông tin.
Biện pháp hàng đầu nhằm thực hiện việc loại trừ tương hỗ tổng quát trên tập hợp các bản
sao khi đăng ký và thực hiện việc đăng ký trước khi trả lại bình thường. Biện pháp này có
mặt hạn chế là không cho phép các chương trình đăng ký thực hiện song song. Tất cả các
bản sao đều được khoá chặt trong lúc đăng ký.
I.3.1 Thuật toán cung cấp:
Vì sự ổn định và hiệu quả mà ta phải phân tán chức năng cung cấp trên nhiều trạm khác
nhau. Sự hoạt động gắng bó với nhau giữa các chương trình cung cấp là rất cần thiết để bảo
đảm cho hoạt động cung cấp được hoàn toàn chính xác.
Một sự hoạt động gắn bó dữ liệu 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 nguyên tắc sau:
i) Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật
ii) 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
iii) 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. Trật tự duy nhất trên tập hợp các thông điệp của hệ, và trật tự được thực hiện
thông qua việt hợp lực giữa các tiến trình cung cấp hay tiến trình
phát thông điệp

I.3.2 Sắp xếp kiểu đóng dấu
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à dựa vào đồng hồ lô gích cục bộ của chính trạm.
I.3.2.1. Nguyên lý: Tập hợp tất cả các yêu cầu cập nhật được sắp xếp theo cùng một kiểu
trên tất cả các trạm nhờ cơ chế dấu. Theo đó mỗi một yêu cầu được phát đi cho tập hợp các
trạm, trên mỗi trạm tồn tại một tiến trình server đảm nhận nhiệm vụ tiếp nhận các yêu cầu
theo một trật tự về dấu. Điều đó cho phép có một sự gắn bó yếu giữa các bản sao.
I.3.2.2. Triển khi hệ số ổn định: các giao dịch cần xét ở đây là các khả năng đọc, ghi hay
cập nhật. Cập nhật được xác định như một dãy các thao tác đọc rồi ghi, thao tác kiểm tra -
đọc tức thì trạng thái hiện hành của bản sao.
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 5
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
Mỗi một server tiếp nhận các yêu cầu ghi đến các trạm cục bộ ở thời điểm cho trước.
nó tiếp nhận các yêu cầu và tính toán trên cơ sở dấu theo tiêu chí lâu nhất. Điều đó dẫn đến
chúng ta cần phải chú ý ở hai trường hợp:
Trường hợp 1:tập hợp các yêu cầu ghi khi chờ chứa cá yêu cầu từ tất cả các trạm khác.
Trong trường hợp này các yêu cầu đi qua, nếu chúng tồn tại, là mới hơn so với các yêu cầu
đã đi qua. Nói cách khác, yêu cầu lâu nhất chính là yêu cầu đang chờ.
Trường hợp 2: tồn tại các trạm mà không có bất kỳ yêu cầu nào được truyền đến. Ta giải
quyết bằng cách truyền cho tất cả các trạm một thông điệp yêu cầu và bắt buộc phải xác
nhận. Do vậy, sau một khoảng thời gian theo giả thiết về độ ổn định ta sẽ xác nhận: hoặc là
các yêu cầu đi qua, hoặc là trả lời các thông điệp yêu cầu. Lúc này, ta nói được các thông
điệp đến từ tất cả các trạm.
I.2.2.3. Các hành vi bên ngoài chế độ bình thường:
Có hai vấn đề mở rộng hơn đối với thuật toán này là cho phép rút ra hay chèn vào tuỳ
ý một trạm nào đó. Điều đó, dẫn đến hai vấn đề sau chúng ta cần phải tôn trọng:
Vấn đề 1: Việc đột nhiên biến mất một trạm nào đó pahỉ được các trạm khác nhận biết một
cách tự động.
Vấn đề 2: việc phát đi một thông điệp là phép toán không thể chia cắt đi được nữa. Đó là
một thông điệp hoặc là tất cả các trạm đều phải nhận được hoặc là không một trạm nào

nhận được cả.
Vì vậy, nếu điều kiện đầu tiên được khống chế thì điều kiện thứ hai mới được đảm bảo.
I.3.3. Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần hoàn:
I.3.3.1. Nguyên lý: trước khi phát một yêu cầu một trạm nào đó cần phải kết hợp với nó một
số thứ tự được cấp từ bộ tuần tự tuần hoàn. Các yêu cầu được tiếp nhận tại mỗ trạm theo
cùng một trật tự thống nhất. Điều đó giúp ta có được một sự gắn bó yếu. Điều chúng ta cần
quan tâm ở đây là cơ chế phân phối các số dựa trên nền tảng tổ chức các trạm theo kiểu
vòng tròn ảo.
I.3.3.2. Triển khai hệ số ổn định: bộ tuần tự cung cấp cho mỗi yêu cầu số sắp tới còn chưa
dùng, giả sử dó là T. Khi đến phiên của trạm nhận bộ tuần tự, nó yêu cầu một số lượng n số
đúng bằng số lượng các yêu cầu cập nhật đang chờ trên trạm này. Các số này là:
T, T + 1, T + 2, ….T + n – 1
Nó tiếp tục chuyển bộ tuần tự cho trạm kế tiếp liền sau nó và số sắp tới chưa dùng đến
T + n.
Khi một trạm đã có sự cố, nó phát yêu cầu cập nhật cùng vơi số này. Trên mỗi trạm,
các cập nhật được thực hiện bằng cách tiếp nhận các yêu cầu cùng các số liên tiếp
nhau( theo một trật tự). Để xác định yêu cầu sắp đến cần phải xử lý , mỗi một trạm duy trì
một biến số V được phối hợp với yêu cầu xử lý cuối cùng. Các yêu cầu mang các số lớn
hơn V + 1 được lưu trữ trong khi chờ xử lý yêu cầu V + 1.
I.3.3.3. Các hành vi ngoài chế độ bình thường: Hiện tại. người ta đã chế tạo thành công và
đưa vào sử dụng một cách ổn đọnh trong mạng một số giao thức cho phép tái sinh bộ tuần
tự khi bộ này bị mất và đặt cấu hình vòng tròn ảo trở lại theo kiểu tự động.
Các giao thức hoạt động trong điều kiện giả định là mạng viễn thông cho phép phát
hiện các sự cố của một trạm và cần phải được bổ khuyết một cách đầy đủ nhằm duy trì trật
tự toàn phần cần thiết cho việc gắn bó:
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 6
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
Vấn đề 1: Việc tái sinh bộ tuần tự cần phải tiến hành song song với việc tính toán số sắp có
để dùng.
Vấn đề 2: Khi phát hiện có một trạm bị sự cố, ta cần phải xác định các số mà trạm này đã

lấy và các số còn chưa sử dụng, rồi gửi các yêu cầu có mang các số này
Vấn đề 3: Việc cho một trạm hội nhập vào lại trong vòng tròn cần phải tiến hành song song
với việc cập nhật lại các bản sao của nó.
Sử dụng các số liên tục cho phép tránh được hiện tượng một vài cập nhật bị mất và các
lần mất mà không được phát hiện. Việc triển khai bộ tuần tự tuần hoàn cũng làm cho ta gặp
phải một số khó khăn khác.
I.3.4. Thuật toán đảm bảo sự gắn bó mạnh:
I.3.4.1. Nguyên lý: tập hợp bao gồm các trạm được tổ chức theo kiểu vòng tròn ảo. các cập
nhật được thực hiện theo hai thì:
1. Thống nhất giữa các trạm.
2. Thực hiện cập nhật.
Do vậy, thuật toán này đảm bảo sự gắn bó mạnh. Nếu có nhiều yêu cầu cập nhật diễn
ra đồng thời thì ta phải có quy tắc để quyết định yêu cầu nào được tiếp nhận và thỏa mãn.
Nhằm phục vụ cho ý tưởng đó, ta thường hay sử dụng dấu phối hợp cho mỗi cập nhật và ta
xử lý yêu cầu có thời gian lâu nhất.
I.3.4.2. Triển khai hệ số ổn định:
Trạng thái có thể cảu mỗi trạm là:
STT Trạng thái Giải thích
1
Nghỉ ngơi Trạm không thực hiện cập nhật nào cả
2
Hoạt động Trạm đãnhận một yêu cầu cập nhật cục bộ mà yêu cầu này đã
được truyền cho trạm khác để kiểm tra.
3
Thụ động Trạm đồng ý cho một cập nhật và chờ trật tự tương ứng.
4
Cập nhật Trạng đang trong tình trạng chuyển của cập nhật , trong khi đó
tất cả các yêu cầu khác truyền đến đều được lưu trữ. Chúng sẽ
được xử lý khi quay về một trong các trạng thái khác.
Lúc khởi sự, tất cả các trạm đều ở trong trạng thái nghỉ ngơi.

Trạm khởi sự việc cập nhật , đầu tiên cần phải gửi một yêu cầu cho phép cập nhật, nó
chỉ làm được việc đó trong trạng thái nghỉ ngơi. Lúc này nó được nhận dấu và được gửi vào
vòng tròn trạm khởi sự chuyển từ trạng thái nghỉ ngơi sang trạng thái hoạt động.
Nếu chỉ có một yêu cầu duy nhất được đưa vào vòng tròn, nó đi qua tất cả các trạm để
chuyển các trạm từ nghỉ ngơi sang thụ động. khi đó, nó trở về nơi khởi sự thì việc thống
nhất coi như hoàn tất. việc cập nhật nói riêng lúc này được gửi đi và mỗi trạm sau khi thực
hiện trở về trạng thái nghỉ ngơi.
Nếu có nhiều yêu cầu đưa ra đồng thời trong vòng tròn, thì tình hình đó dễ dàng diễn ra
xung đột. lúc này, ta phải chọn một yêu cầu có thời gian dấu lâu nhất. Để tiến hành công
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 7
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
việc đó, ta nêu bật vai trò của bộ chắn đường cho các trạm khởi sự. Một trạm nào đó trong
trạng thái nghỉ ngơi hay thụ động phải chuyển toàn bộ yêu cầu đã đến nó, một trạm trong
trạng thái hoạt động chỉ phải chuyển các yêu cầu có thời gian lâu hơn các yêu cầu mà chính
nó phát đi, các yêu cầu khác đều bị dừng lại và được lưu trữ.
Các yêu cầu bị lưu trữ lại sẽ được gửi tiếp vào vòng tròn, khi trạm lưu trữ chúng hoàn
thành công việc cập nhật riêng của mình.
I.3.4.3. Hành vi ngoài chế độ bình thường: Các giao thức đặt lại cấu hình vòng tròn theo
kiểu tự động được sử dụng nhằm rút ra hay cho vào tùy ý một số trạm nhất định. Các sự cố
kỹ thuật là rất khó khăn phát hiện các chiến lược mà ở dó các yêu cầu không được ghi lại
khắp nơi trong mạng.
I.3.5. Phân tán biểu hiện trạng thái và chức năng cung cấp
Phân tán biểu hiện trạng thái và chức năng cung cấp, có các giải pháp có thể:
i) Duy trì tại mỗi trạm một bản sao trạng thái tài nguyên tổng quát
ii) Phân tán biểu hiện trang thái trên các trạm, mỗi một trạm chỉ có trạng thái các tài
nguyên 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
iii) Nhóm sắp xếp nhằm bảo đảm cho tất cả các yêu cầu tài nguyên xuất phát từ các
tiến trình đến được các bộ cung cấp khác nhau theo một trật tự duy nhất được cố định từ
trước.

Nội dung của các bản sao trên các trạm của hệ có thể phản ảnh như sau:
- Tập hợp tất cả các tài nguyên còn chưa được cung cấp
- Tập hợp các tài nguyên đã cung cấp
- Đối tượng đang chiếm giữ tài nguyên
- Kiểu sử dụng
- Tập hợp các yêu cầu không được thỏa mãn
- Tập hợp các thông điệp dành cho trường hợp đã được sử dụng
- Tập hợp các thông điệp dành cho trường hợp thất bại
Ngày nay, trong các ứng dụng lớn như thương mại điện tử, giáo dục điện tử,…, bản sao
dữ liệu được sử dụng để tăng tính sẵn sàng của dữ liệu. Tuy nhiên, lợi ích sẵn sàng của dữ
liệu này chỉ có được khi phải trả giá bằng những thuật toán phức tạp để ẩn đi tính phức tạp
trong việc bảo trì nhiều bản sao của đối tượng. Sự khó khăn nằm ở việc phải đảm bảo gắn
bó cho các bản sao của đối tượng để tránh bế tắc khi vận hành hệ thống.
Các thuật toán giải quyết những vấn đề này được gọi là các thuật toán điều khiển bản sao.
Việc quản lý nhiều bản sao của cùng một đối tượng thông tin đang được các nhà chuyên
môn tin học quan tâm nghiên cứu ngay trong giai đoạn phân tích, thiết kế và xây dựng hệ
điều hành. Ngoài ra, đây còn là một trong những vấn đề có tính chất cơ sở cho các ứng dụng
phức tạp.
Quản lý nhiều bản sao là giải pháp kỹ thuật bao gồm tập hợp các thông tin được nhân bản từ
một đối tượng thông tin và các chương trình quản lý chúng trong môi trường phân tán.
Vấn đề truy cập và xử lý thông tin phân tán nói chung, quản lý nhiều bản sao nói riêng
được nghiên cứu trong hàng loạt các công trình của Herman, Ellis, Wilms và Le Lann.
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 8
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
Thuật toán đảm bảo sự gắn bó yếu nhờ dấu, được trình bày trong các công trình nghiên
cứu của Herman.
Nội dung quản lý nhiều bản sao là các giải pháp cho phép tự động hóa các công việc:
Kiểm tra tính hợp lệ của việc truy cập thông tin
Khôi phục thông tin
Cập nhật thông tin

An toàn dữ liệu cho các bản sao
Sử dụng các bộ nhớ, đĩa
Chuyển các bản loại bỏ vào vùng có thể khôi phục
Trong các nội dung nêu trên, vấn đề quan trọng nhất là cập nhật tự động thông tin vào
các bản sao.
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 9
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
CHƯƠNG II: THUẬT TOÁN ĐẢM BẢO SỰ GẮN BÓ YẾU NHỜ DẤU
II.1. NGUYÊN LÝ
Tập hợp các yêu cầu cập nhật được sắp xếp theo cùng một kiểu trên tất cả các trạm nhờ
cơ chế dấu. Theo đó mỗi một yêu cầu được phát đi cho tập hợp các trạm. Trên mỗi trạm,
tồn tại một tiến trình Server đảm nhận nhiệm vụ tiếp nhận các yêu cầu theo trật tự của dấu.
Điều đó cho phép có được một sự gắn bó yếu giữa các bản sao.
II.2. KHAI TRIỂN HỆ ỔN ĐỊNH
Các giao dịch cần xét là các khả năng đọc, ghi hay cập nhật. Cập nhật được xác định
như là một dãy các thao tác đọc và ghi, thao tác kiểm tra đọc tức thì trạng thái hiện hành của
một bản sao.
Mỗi một server tiếp nhận các yêu cầu ghi đến từ trạm cục bộ ở thời điểm cho trước. Nó
tiếp nhận các yêu cầu và tính toán trên cơ sở dấu theo tiêu chí lâu nhất.
Khi trạm i truyền các thông điệp cho trạm j, Trật tự nhận các thông điệp tại j là hoàn
toàn giống với trật tự của các thông điệp phát đi. Giả thiết này được kiểm tra trong các
mạng thông thường. Việc xác định các yêu cầu cần xử lý trên một trạm là hoàn toàn có thể .
Có 2 trường hợp cần xem xét:
STT Trường hợp
1
Tập hợp các yêu cầu ghi khi chờ chứa các yêu cầu từ tất cả các trạm khác.
Trong trường hợp này các yêu cầu đi qua, nếu chúng tồn tại, là mới hơn so
với các yêu cầu đã đi qua. Nói cách khác, yêu cầu lâu nhất chính là yêu cầu
đang chờ.
2

Tồn tại các trạm mà không có bất kỳ yêu cầu nào được truyền đến. Ta được
đưa các trường hợp trước đây bằng cách truyền cho tất cả các trạm một
thông điệp yêu cầu và bắt buột phải xác nhận. Do vây, sau một khoảng thời
gian, theo giả thiết về độ ổn định, ta sẽ nhận hoặc là các yêu cầu đi qua,
hoặc là các trả lời cho thông điệp yêu cầu. Lúc này, ta có được các thông
điệp đến từ tất cả các trạm.
II.3. CÁC HÀNH VI NGOÀI CHẾ ĐỘ BÌNH THƯỜNG
Hai vấn đề mở rộng hơn đối với thuật toán này cho phép rút ra hay chen vào tùy ý một
trạm nào đó. Ngược lại, thuật toán chỉ sống trong trường hợp có sự cố, nếu các điều kiện
sau đây được tôn trọng:
STT Điều kiện
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
Việc phát một thông điệp là một phép toán không chia cắt được nữa. Đó
là một thông điệp hoặc là tất cả đều phải nhận được hoặc là không trạm
nào nhận được cả.
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 10
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
Vì vậy, việc tuân thủ hai điều kiện trên đặt ra cho chúng ta tình hình là nếu điều kiện
đầu tiên có thể được khống chế, thì điều kiện thứ hai rất khó đảm bảo.
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 11
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
PHẦN B : BÀI TẬP
Đề bài: Đây là một bài toán dựa vào thuật toán Mullery
Trong hệ thống phân tán giả định có độ ổn định tuyệt vời, ta muốn duy trì một sự gắn bó
mạnh giữa các bản sao của một đối tượng được định vị trên các trạm khác nhau.
Thuật toán dựa trên các nguyên lý sau:
Trước khi thực hiện cập nhật, một trạm nào đó cần phải yêu cầu và thống nhất với các trạm

khác.
Khi đã có sự thống nhất, tiến hành cập nhật; việc cập nhật được tiến hành trên tất cả các
bản sao; đối tương không thể truy nhập chừng nào các bản sao còn chưa cập nhật hết.
Các xung đột giữa các trạm được giải quyết bằng một trật tự có hệ số ưu tiên giữa các trạm,
được cố định một lần lúc khởi tạo.
Câu hỏi:
1. Hỏi có bao nhiêu trạng thái khác nhau cần xem xét cho mỗi bản sao.
2. Hãy trình bày sơ đồ hoạt động của thuật toán (đồ thị phát triển).
3. Hãy đánh giá bằng hàm của số lượng bản sao, số lượng các thông điệp cần thiết để thực
hiện một cập nhật.
4. Ta phải sửa đổi thuật toán như thế nào để chịu đựng được sự cố trên một trạm (giả sử hệ
viễn thông hoạt động tốt).
Trả lời:
1. Có 4 trạng thái cần xem xét cho mỗi bản sao
2. Sơ đồ hoạt động của tuật toán
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 12
STT Trạng thái Giải thích
1 Nghỉ Trạm không thực hiện cập nhật nào cả
2 Hoạt động
Chấp nhận yêu cầu cập nhật và yêu cấu này được truyền
đến các trạm khác để kiểm tra
3 Chờ Đồng ý cho cập nhật và chờ đến trạng thái ưu tiên
4 Cập nhật Đang cập nhật, các yêu cầu khác đến đều được lưu trữ
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 13
Yêu cầu cập nhật
Đồng ý ?
Cập nhật tất cả các bản sao
e
1

, e
2
, , e
n
Kiểm tra số trạm
đã cập nhật hết ?
Chuyển sang trạm tiếp theo
Kiểm tra
hệ số ưu tiên?
hết
còn
kết thúc
đúng
sai
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
3. Đánh giá số lượng các bản sao, số lượng các thông điệp:
Gọi M là số trạm trên một hệ phân tán.
n là số lượng các bản sao của một đối tượng
k số đối tượng của một trạm.
Số lượng bản sao của hệ thống = n. M. k.
Với mỗi đối tượng, để cập nhật các bản sao ta thực hiện các bước sau:
Cho i =1 đến n thực hiện v_viết (ei)
< Thực hiện các cập nhật
và chép lại chúng vào tất cả các bản>
Cho i = 1 đến n thực hiện giai_phong(ei).
Như vậy, số lượng thông điệp để thực hiện cập nhật đối với một đối tượng là = 2.n
Với k đối tượng ta có số thông điệp là = k. 2n
Hệ thống có M trạm, vậy số thông điệp là : (M-1). k. 2n.
4. Giả sử hệ thống viễn thông hoạt động tốt, thuật toán phải được sửa đổi như thế nào
để chịu đựng được sự cố trên một trạm

Khi gửi thông điệp để cập nhật thì đồng thời kiểm tra phản hồi từ trạm và xác định trạm có
bị sự cố hay không.
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 14
GVHD: PGS.TS Lê Văn Sơn Tiểu luận Hệ phân tán
TÀI LIỆU THAM KHẢO
1. Hệ 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. Nguyên lý các hệ cơ sở dữ liệu – Sách dịch Jeffery Ullman – Nhà xuất bản thống
kê.
3. Distributed Systems (Concepts and Design) – George Coulouris, Jean Dollimore &
Tim Kindberg.
4.
5. Tổng kết các công cụ xây dựng HPT: />id=84
6. Distributed systems engineering: />7. Introduction for distributed systems: />tutorial.html
8. Thuật toán wait-die system: />9. Những example về distributed systems: />doid=320251.320260
Học viên: Phùng Hữu Đoàn – KHMT K24 Trang 15

×