Tiểu luận môn Hệ tin học phân tán Trang 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áychỉ có thể biết được trạng thái gần đúng của các máy khác.. I.2 Hệ thống nhiề
Trang 1Tiểu luận môn Hệ tin học phân tán Trang
Đề số 5:
I Giải quyết vấn đề nhiều bản sao
II Bài toán này dựa vào thuật toán Herman.
Với thuật toán ở phần VI.4.2.2 (theo hệ ổn định), bây giờ, ta chấp nhận rằng các NSD có thể thực hiện toàn bộ các giao dịch đã nêu.
Hãy cho biết sơ đồ tuần tự của các xử lý sau :
1 Các thao tác đọc.
2 Các thao tác cập nhật.
LỜI NÓI ĐẦU
Những năm gần đây, các thành tựu mới nhất của hệ thống tin học về phầncứng, phần mềm và các hệ dữ liệu ổn định, tin cậy đã góp phần đáng kể cho sựphát triển của toàn xã hội nói chung, ngành công nghệ thông tin nói riêng Xuhướng toàn cầu hoá thông tin dẫn đến nhu cầu xử lý thông tin ngày một tăng Hệ
dữ liêu tập trung không còn đáp ứng được hết các yêu cầu đặt ra Như thương mạiđiện tử, chính phủ điện tử Hệ phân tán đã ra đời để đáp ứng những nhu cầu xử lýthông tin trên các hệ thống ứng dụng có quy mô rộng lớn đó
Hiện nay, các chuyên gia công nghệ thông tin đang rất quan tâm đến hệphân tán là hệ thống tin học hiện đại, đa dạng, phức tạp và đang trên đà phát triểnnhanh chóng Việc nghiên cứu hệ đòi hỏi phải có phương pháp hợp lý, mang tínhkhả thi cao và được chia cắt thành các phương diện tiếp cận khác nhau Mỗiphương diện đều phải có mục tiêu, phương pháp và đối tượng nghiên cứu tươngđối độc lập nhau trên cơ sở nhất quán với mục đích chung của hệ
Trong giới hạn của một báo cáo tiểu luận kết thúc môn học “Hệ tin học
phân tán”, báo cáo này trình bày những nội dung sau:
I Giải quyết vấn đề nhiều bản sao
II Bài toán này dựa vào thuật toán của Herman, theo hệ ổn định Bây giờ,
ta chấp nhận rằng các người sử dụng có thể thực hiện toàn bộ các giao dịch đã nêu
Hãy cho biết sơ đồ tuần tự xử lý các thao tác đọc, các thao tác cập nhậtĐược sự giúp đỡ, hướng dẫn tận tình của Thầy giáo PGS.TS Lê Văn Sơn vàcác bạn đồng nghiệp, tôi đã hoàn thành được những nhiệm vụ cơ bản trên Tuynhiên, với thời gian và kiến thức còn hạn chế, tiểu luận này chắc chắn còn nhữngthiếu sót , tôi rất mong nhận được sự góp ý chân thành của Thầy giáo Lê Văn Sơn
và các bạn đồng nghiệp Cho phép tôi xin được bày tỏ lòng biết ơn chân thànhThầy giáo Lê Văn Sơn và các bạn đồng nghiệp đã giúp đỡ tôi hoàn thành côngviệc này
Trân trọng cám ơn!
Học viên thực hiện: Trần Đình Truyền
1
Trang 2CHƯƠNG I
MỞ ĐẦU VỀ HỆ TIN HỌC PHÂN TÁN
I.1 Giới thiệu hệ tin học phân tán
I.1.1 Định nghĩa
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ôngtin 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à đượcliên kết với nhau thông qua phương tiện viễn thông dưới sự điều hành thống nhấtcủ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 baogồ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 haynhiề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áchtrọ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ố,…
I.1.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ểmnhậ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ậptrung, 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:
Trang 3
Tiểu luận môn Hệ tin học phân tán Trang
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áychỉ 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ảiphá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ửu đi kèmtheo 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ôngxác đinh được 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 baogiờ 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ênnhiều máy trên mạng
I.2 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 tinliê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 ngaytại hệ thống cục bộ của mình
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àophươ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 đổithô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
3
Trang 4là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ưngchứ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ônggắ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êntậ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ìnhthườ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.2.1 Thuật toán cung cấp cho hệ phân tán
Vì sự ổn định và hiệu quả mà ta phải phân tán chức năng cung cấp trênnhiều trạm khác nhau Sự hoạt động gắng bó với nhau giữa các chương trình cungcấ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ánquả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êntắ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ìnhiii) Các thông điệp phải được xử lý cùng một trật tự như nhau trong cácchươ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ìnhphát thông điệp
I.2.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.2.3 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
Trang 5
Tiểu luận môn Hệ tin học phân tán Trang
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ạngthá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ạmkhá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ấpphả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ấtphá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ự duynhấ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ệntử,…, 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ánphứ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
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 trongmô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ảnsao 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
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ôngtrì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áccông việc:
Kiểm tra tính hợp thức của truy cập thông tin Khôi phục thông tin
5
Trang 6Cập nhật thông tin
An toàn 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ụcTrong các nội dung nêu trên, vấn đề quan trọng nhất là cập nhật tự độngthông tin vào các bản sao
CHƯƠNG II
GIẢI QUYẾT VẤN ĐỀ NHIỀU BẢN SAO
II.1 Vấn đề nhân bản các đối tượng dữ liệu
Khi nghiên cứu về hệ phân tán chúng ta thấy rằng, thời gian truy cập trungbình vào thông tin trong hệ phân tán có thể được rút ngắn, trong một số trườnghợp, nhờ vào phương pháp nhân nhiều bản và được gọi là nhiều bản sao của mộtđối tượng thông tin
Ta cần phân biệt hai trường hợp khác nhau được thể hiện sau đây:
Trang 7Tiểu luận môn Hệ tin học phân tán Trang
Mỗi một bộ xử lý đều có bộ nhớ cục bộ của mình, hay còn gọi là cache,
được dùng để sao chép lại các vùng đang làm việc của bộ nhớ chung Một chương
trình thể hiện thuật toán thay thế đảm nhận nhiệm vụ làm mới các bộ nhớ cục bộ.
Trường hợp có nhiều bộ xử lý muốn truy cập vào cùng một đối tượng, ta sử dụngnhư là sự tham chiếu đến phiên bản của đối tượng tìm thấy trong bộ nhớ chung
b) Hệ truy cập từ xa thông qua một máy server duy nhất:
Trong trường hợp này, một đối tượng được đưa vào trên một trạm xác định
và được quản lý bởi một server cục bộ trên trạm này Khi một tiến trình ở xa muốn
sử dụng đối tượng, nó phải bắt đầu bằng yêu cầu server cho một bản sao thông qua
hệ thống viễn thông Sau khi sử dụng xong, tiến trình phải gửi lại cho server mộtphiên bản đã được sửa đổi của đối tượng
Các trường hợp thể hiện trong hình 1 và 2 xét theo chức năng là giốngnhau Đó là trường hợp một bản duy nhất của đối tượng là một đặc quyền
Trang 8Trường hợp 2
Tính cân đối giữa các người sử dụng tài nguyên thông tin của mạng
Tại đây, tất cả các bản đóng vai trò đối xứng Công việc được tiến hànhtheo kiểu này cho phép rút ngắn thời gian truy cập, nếu số lần truy cập để đọc lớnhơn số lần truy cập để cập nhật và vì lý do thuận lợi sử dụng theo nghĩa có sẵn đểdùng
Tình hình nêu trên đặt ra cho chúng ta nhiều vấn đề cần phải giải quyết Đóchính là các lần cập nhật thông tin hay nói cách một cách tổng quát là cập nhật cácbản sao Từ đó, ta rút ra các đặc điểm quan trọng sau đây :
1) Khi chỉ tồn tại một bản tập trung đặc quyền, ta có thể đặt ra rằng việcthay đổi đối tượng thực hiện trên một trong các bản sao sẽ được sao lại ngay lập
L
e e
L
HÖ thèng viÔn th«ng
e L
e
L L
e
L
e
.
Trang 9Tiểu luận môn Hệ tin học phân tán Trang
tức vào bản chính Đó chính là trường hợp ghi tức thời và các cập nhập đều gắn
bó Với các phương pháp ghi khác, ngược lại, các thay đổi tương ứng của một bản
sao đối tượng cục bộ chỉ được sao lại trên bản chính khi thuật toán thay thế đượcthực hiện nhằm cung cấp lại các bản ghi bị chiếm bởi bản sao cục bộ đó
2) Khi không tồn tại bản đặc quyền, ta có thể gặp các trường hợp không gắn
bó thông tin
Trường hợp thứ hai làm phát sinh hai yêu cầu mới:
i) Toàn bộ giao dịch thay đổi bản sao của đối tượng cần phải chép lạicàng sớm càng tốt thay đổi đó trên tất cả các bản sao khác Trong khithực hiện giao dịch, không có bất kỳ sao chép nào khác được thựchiện Sau khi thực hiện xong, tất cả các bản sao hoàn toàn giốngnhau
ii) Việc cập nhật tức thời (theo hệ tập trung) của tất cả các bản sao làkhông cần thiết
Trong tất cả các trường hợp, một giao dịch tham chiếu trạng thái một đốitượng thực hiện xuất phát từ một trạm trên bản cục bộ cần phải cung cấp :
+Hoặc là một giá trị cập nhật của tất cả các thay đổi diễn ra trướctham chiếu
+Hoặc là một giá trị đã cũ, nhưng lại là giá trị đã được cập nhật ởthời điểm trước đó
Sự tham chiếu không bao giờ phải cung cấp một giá trị xuất phát từ việcthực hiện từng phần của một giao dịch
II.2 Th
uật toán quản lý nhiều bản sao
Thuật toán cho phép sao lại các thay đổi của một đối tượng trên các bản saokhác nhau như sau:
II.2.1 Cơ chế then cài
Một giao dịch nào đó đang thực hiện phép then cài trên một đối tượngmuốn giành quyền sử dụng đối tượng này theo một vài kiểu truy cập nhất định Cơchế then cài gán hay không gán quyền truy cập này căn cứ vào quy tắc tiền địnhnhư loại trừ tương hỗ, luật đọc, hiệu chỉnh thông tin,…
Nếu quyền được thừa nhận thì đối tượng bị cài then bởi giao dịch Nếukhông, tiến trình giao dịch bị khoá và đối tượng không bị cài then
9
Trang 10Cơ chế cài then cho phép một giao dịch có thể giải phóng đối tượng mà nó
đã cài then
II.2.1.1 Loại trừ tương hỗ
Một trong những giải pháp giản đơn để đạt được trật tự hoá gắn bó thể hiện
ở chỗ bắt buộc phải sử dụng trật tự hoá tuần tự, toàn bộ giao dịch được đặt trong
cặp hàm nguyên thuỷ mo_giaodich và dong_giaodich Đây là sự đảm bảo cho việc
loại trừ tương hỗ giữa các giao dịch
II.2.1.2 Then cài chọn lựa các đối tượng
Một giao dịch thay đổi giá trị của đối tượng phải loại trừ tất cả các đốitượng khác muốn truy cập, ngược lại thì việc truy cập được tiến hành theo kiểutương tranh
Để đảm bảo điều đó luôn luôn được thực hiện, người ta cho phép tiến hànhcài then một đối tượng trước khi việc sử dụng nó có hiệu lực
Một giao dịch có thể thực hiện trên ba hàm nguyên thuỷ trên đối tượng e:
kiểu loại trừ
bởi cùng giao dịch này
Trong môi trường phân tán, phục vụ cho các ứng dụng có khối lượng xử lýthông tin lớn trong điều kiện kỹ thuật phần cứng, phần mềm không đồng nhất, việcquản lý nhiều bản sao trong điều kiện số lượng cập nhật lớn được đặt ra Chính vìvây, trong phần này chúng ta sẽ tìm hiểu sơ lược các thuật toán cho phép sao lạicác thay đổi của một đối tượng trên các bản sao khác nhau đảm bảo hệ thống hoạtđộng một cách hiệu quả
II.2.2 Xử lý các sự cố
Một cơ chế cho phép duy trì gắn bó trong môi trường phân tán có sự cốphải là:
i) Giao dịch T bắt buộc phải được thực hiện một cách trọn vẹn
ii) Nếu có sự cố diễn ra thì bắt buộc nó phải quay trở lại điểm xuất phát
Trang 11
Tiểu luận môn Hệ tin học phân tán Trang
+Nếu một tiến trình bị sự cố trước khi kết thúc T nhưng lại sau các thao tácthay đổi cần thiết của T, trạng thái của hệ là gắn bó
+ Nếu một tiến trình bị sự cố trước khi diễn ra các thay đổi của T, trạng tháicủa hệ là gắn bó
+ Nếu một tiến trình bị sự cố giữa các thay đổi T, trạng thái của hệ là khônggắn bó
Các mô hình và giải thuật nghiên cứu phải đảm bảo các đặc tính toàn vẹn
dữ liệu của hệ và tuân thủ theo các giai đoạn thể hiện trong hình vẽ 4
Hình 5 Sơ đồ mô tả hệ thống nhiều bản sao
Hình 4 Ba giai đoạn của một giao dịch
Hình 4 Ba giai đoạn của một giao dịch
Trang 12m là số lượng các đối tượng dữ liệu
q là số trạm được mắc nối
Các ràng buộc trên các bản sao:
Trên bản sao của một đối tượng:
Nếu ta có n bản sao b1, b2,…, bn của đối tượng b, một trong các ràng buộctoàn vẹn là:
b1=b2= =bn Trên các bản sao của toàn bộ các đối tượng:
b11=b21= =bn1
b12=b22= =bn2
Hệ thống viễn thông là đối tượng có thể diễn ra các sự cố kỹ thuật và ùn tắtđường truyền, ta có số lần truy cập bản sao trên thực tế sẽ lớn hơn M rất nhiều;hiệu năng hoạt động của hệ trong trường hợp này sẽ bị giảm
Cách đầu tiên được áp dụng là then cài Giả sử với trường hợp có n bản saob1, b2, …, bn của đối tượng b, để tham chiếu đến b, cần phải thực hiện giao dịch:
Để thực hiện việc cập nhật vào các bản sao, ta cần phải cài then chúng mộtcách hợp thức theo kiểu loại trừ
v_doc(b i ) doc(b i ) giai_phong(b i )
Để cho i:=1 đến n thực hiện v_viet(b i )
<Thực hiện các cập nhật và chép chúng vào tất cả các bản>
Để cho i:=1 đến n thực hiện giai_phong(b i )