Định nghĩa hệ tin học phân tán Hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc các bộ xử lýnằm ở xa ở các vị trí khác nhau và được liên kết với nhau thông qu
Trang 1BÀI TIỂU LUẬN
Trang 2***
MỤC LỤC 2
LỜI NÓI ĐẦU 3
CHƯƠNG 2 5
CÁC KHÁI NIỆM CƠ BẢN HỆ TIN HỌC PHÂN TÁN 5
I ĐỊNH NGHĨA HỆ TIN HỌC PHÂN TÁN 5
II CÁC THÀNH PHẦN CỦA HỆ TIN HỌC PHÂN TÁN 6
III ƯU ĐIỂM VÀ HẠN CHẾ CỦA HỆ THỐNG PHÂN TÁN 6
I.1 Ưu điểm 6
I.2 Hạn chế 7
IV NGUYÊN TẮC XÂY DỰNG HỆ PHÂN TÁN 7
V ĐIỀU KIỆN CỦA HỆ PHÂN TÁN 8
VI SỰ KHÁC NHAU GIỮA HỆ TIN HỌC PHÂN TÁN VÀ HỆ TIN HỌC 8
CHƯƠNG 2 9
VAI TRÒ CỦA TRẬT TỰ HÓA VÀ VẤN ĐỀ GẮN BÓ DỮ LIỆU TRONG HỆ TIN HỌC PHÂN TÁN 9
I VAI TRÒ CỦA TRẬT TỰ DỮ LIỆU 9
I.1 Trật tự từng phần 9
I.2 Trật tự hóa các tác động 11
II SỰ GẮN BÓ THÔNG TIN 13
I.1 Điều kiện giả định và thực tế 13
I.2 Tác động và giao dịch 14
III TRIỂN KHAI GIAO DỊCH TÔN TRỌNG SỰ GẮN BÓ 15
IV QUẢN LÝ GẮN BÓ CÁC GIAO DỊCH 17
V CÁC THUẬT TOÁN ĐẢM BẢO SỰ GẮN BÓ THÔNG TIN TRONG CSDL PHÂN TÁN 17 CHƯƠNG 3 18
BÀI TẬP 18
I GIẢI THUẬT DUY TRÌ SỰ GẮN BÓ THÔNG TIN 19
II HỦY BỎ BẾ TẮC VÀ THIẾU THỐN VÔ HẠN: 20
KẾT LUẬN 26
TÀI LIỆU THAM KHẢO 27
Trang 3LỜI NÓI ĐẦU
Tuy nhiên, để có được một giải pháp hữu hiệu đáp ứng các yêu cầu đặt ra của việc gắn bó
dữ liệu trong môi trường phân tán như Internet/Intranet, thì đòi hỏi phải tiếp tục nghiên cứuhoàn thiện các giải pháp hiện hành.Vấn đề tự hóa và vấn đề gắn bó dữ liệu trong hệ tin họcphân tán, đã trở thành một lĩnh vực thu hút nhiều sự quan tâm của các nhà nghiên cứu lýthuyết lẫn các nhà sản xuất phần mềm nhằm tìm ra các giải pháp hữu hiệu đảm bảo tính gắn
bó thông tin trong các cơ sở dữ liệu truy cập ngẫu nhiên với số lượng truy cập lớn Song đểkhai thác có hiệu quả toàn hệ, vấn đề quan trọng là chiến lược khai thác và sử dụng các tàinguyên dùng chung như thế nào? Chiến lược khai thác các tài nguyên dùng chung này làchức năng cũng như đối tượng nghiên cứu của các hệ tin học phân tán Trong thực tế, hệ tinhọc phân tán với những nguyên lý, phương pháp của nó đã và đang được nhiều người quantâm để có thể vận dụng trong quá trình tác nghiệp của mình
Trang 4Trong phạm vi tiểu luận của mình, tôi trình bày được những vấn đề sau:
Ta hãy xét một hệ đa xử lý với bộ nhớ chung, trong đó mỗi một bộ xử lý được trang bị một
bộ nhớ cục bộ hoạt động theo nguyên tắc của bộ nhớ cache Hệ này quản lý ba đối tượng là :
1 Các biến toàn cục, được truy cập bởi nhiều tiến trình.
2 Các biến cục bộ chỉ được phép truy cập bởi một tiến trình có nhu cầu.
3 Các hằng chia xẻ được.
Mỗi ngăn nhớ của bộ nhớ chung hay cục bộ đều bao gồm một ký hiệu cho phép nhận dạng kiểu của đối tượng chứa trong đó Một đối tượng không thể thay đổi kiểu Ta có cơ chế đảm bảo việc loại trừ tương hổ cho các truy cập vào bộ nhớ chung.
Hãy cho biết nguyên lý được mô tả bởi thuật toán truy cập vào các loại đối tượng khác nhau đó với điều kiện duy trì sự gắn bó bằng cách sử dụng ghi tức thời.
Kết luận
Tài liệu tham khảo
Xin chân thành cảm ơn thầy PGS.TS Lê Văn Sơn đã giảng dạy, định hướng nghiên
cứu và cung cấp nhiều tài liệu để tôi có thể hoàn thành tiểu luận này Với kiến thức có hạnnê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 bạn
Một lần nữa xin trân trọng cảm ơn thầy PGS.TS Lê Văn Sơn!
Trang 5CHƯƠNG 2 CÁC KHÁI NIỆM CƠ BẢN HỆ TIN HỌC PHÂN TÁN
I Định nghĩa hệ tin học phân tán
Hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc các bộ xử lýnằm ở xa ở 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ôngdưới sự điều khiển thống nhất của hệ điều hành
Hệ phân tán 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ồ độ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ồ Trong hệ tin học phân tán, các tính toán có thể được tính trên nhiều bộ xử lý haytrên vi xử lý của hệ thống đa bộ xử lý Như vậy hệ thống hệ tin học phân tán đòi hỏi hệthống của mình phải trang bị bộ nhớ cục bộ Các bộ xử lý trao đổi thông tin qua các hệthống đường truyền khác nhau như là cáp chuyên dụng, bus trao đổi, đường điện thoại, cápquang, vv
Khác với hệ thống máy đơn, mạng máy tính là tập hợp các thiết bị đầu cuối được kếtnối với nhau thông qua hệ thống đường truyền Các thiết bị đầu cuối của máy tính rất đadạng, bao gồm tập hợp các máy tính, các thiết bị chuyên dụng, các thiết bị truyền tin, cácthiết bị tiếp nhận và hiển thị thông tin Hệ thống mạng máy tính được điều khiển bằng hệđiều hành mạng Hệ thống tin học này có thể là hệ tập trung hoặc hệ phân tán
Căn cứ vào các thành phần của hệ tin học, ta nhận thấy hệ tin học có thể bao gồmbốn thực thể sau:
Các
hệ thống phần mềm
Hệ thống
dữ liệu
Tập hợp phần cứng
Hệ thống truyền thông
Hình 1 Các thực thể của hệ tin học phân tán
Trang 6Trong hệ tin học phân tán, cấu hình phần cứng của mạng có thể bao gồm các bộ xử lý
có cấu tạo hoàn toàn khác nhau về khả năng, tốc độ và được thiết kế cho các chức năng khácnhau Chúng có thể là các bộ xử lý, các trạm làm làm việc, các máy tính tập trung và cácmáy tính điện tử vạn năng lớn Chúng được gọi bằng các tên khác nhau như trạm, node căn cứ vào ngữ cảnh mà ở đó nó được nêu ra
Ngoài hệ thống phần cứng, phần mềm, dữ liệu thì hệ phân tán còn có hệ thống truyềnthông được mô tả như ở trên Song điều cơ bản để phân biệt hệ tin học phân tán với mạngmáy tính là và hệ điều hành mạng chính là nguyên tắc xây dựng hệ
II Các thành phần của hệ tin học phân tán.
Các thành phần của hệ tin học phân tác có thể phản ánh trong bảng sau:
6 Trạm làm việc của mạng máy tính
7 Thiết bị đầu cuối của mạng
8 Các hệ thống tin học đóng vai trò nút trung chuyển
9 Các mạng cục bộ hoạt động độc lập trong mạng lớn
III Ưu điểm và hạn chế của hệ thống phân tán
I.1 Ư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 ấntạ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
Trang 7làm việc mà không ảnh hưởng đến toàn bộ hệ thống.
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ốngmạng, việc trao đổi dữ liệu diễn ra rất dễ
I.2 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
IV.Nguyên tắc xây dựng hệ phân tán
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ể cung cấp tàinguyên dùng chung ở một trạm khác
Liên lạc: Khi các hệ thống đã được mắc nối với nhau, các thực thể trong hệ có thể
trao đổi thông tin với nhau
Tin cậy: Một trạm trong hệ bị sự cố không làm cho toàn hệ ảnh hưởng, mà ngược lại,
công việc đó được phân cho các trạm khác đảm nhận Ngoài ra, trạm bị sự cố có thể
tự động phục hồi lại trạng thái ban đầu trước khi có sự cố hay trạng thái ban đầu củanó
Tăng tốc: Đây là 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 cho kết quả lâu Tính toán này được chia nhỏ và thựchiện song song trên các trạm Điều này cần thiết đối với các trạm quá tải
V Điều kiện của hệ phân tán
Để đảm bảo hoạt động thì các hệ thống kết nối với nhau phải thỏa mãn hai điều kiện cơbản sau đây :
Trang 8 Bất kỳ một hệ thống thành phần nào (hệ cục bộ) đều có thể liên lạc thông suốt vớicác hệ thống thành phần khác.
Mỗi một hệ thống cục bộ được đặc trưng bằng một tên duy nhất và tên này có thểđược nhận biết bởi các hệ thống viễn thông
VI Sự khác nhau giữa hệ tin học phân tán và hệ tin học
Sự khác nhau cơ bản của hệ tin học phân tán và hệ tin học đó là “hệ thống truyềnthông
Các máy tính đơn được nối vào lại với nhau thành một hệ thống mạng thì hệ thông đógọi là hệ tin học phân tán
Các
hệ thống phần mềm
Hệ thống
dữ liệu
Tập hợp phần cứng
Hệ thống truyền thông
Hình 4: Hệ tin học phân tán
Trang 9Chính vì vậy trật tự hóa từng phần giữa các sự kiện mà các tiến trình của nó cần phải đồng
bộ là vấn đề cần phải quan tâm giải quyết
Trong hệ thống phân tán, việc đồng bộ hóa chỉ đặt ra duy nhất vấn đề 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ự đó chỉ có thể thể hiện được thông quaviệc trao đổi các thông điệp với nhau
Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờ vào quan
hệ được kí hiệu là và gọi là “có trước” hay “ở ngay trước”
Quan hệ này tối thiểu phải thỏa mãn được các ràng buộc thể hiện trong bảng sau đây:
C1: Nếu A và B là hai sự kiện của cùng một trạm và nếu A được
thực hiện trước B thì theo trật tự của trạm ta có: AB
C2: Nếu A là phát thông điệp bởi một trạm nào đó và nếu B là thu
của thông điệp này thì ta có: AB
Trang 10A4
A5
B1B2
B3
B4
B5
t
Trang 11I.2 Trật tự hóa các tác động
Cho một tập các giao dịch M = (T1, T2, ,Tn) lần lượt được thực hiện bởi các tiến
trình độc lập p 1 , p 2 , , p n Việc thực hiện tuần tự có nghĩa là thực hiện tất cả các giao dịchcủa M theo kiểu nối đuôi nhau và tuân thủ một trật tự nào đó Sự gắn bó dữ liệu của hệ đượcbảo toàn, theo định nghĩa, bằng việc thực hiện riêng biệt từng giao dịch Do vậy, nó cũngđảm bảo trong chế độ thực hiện tuần tự của M
Trong trật tự tuân thủ trật tự nội tại của từng giao dịch, dãy này bao gồm tất cả các tácđộng cấu tạo nên giao dịch M; mỗi một tác động chỉ xuất hiện một và chỉ một lần Một dãycác tác động như vậy được gọi là trật tự hóa của tập hợp các giao dịch M
Ví dụ 2:
Cho T1 = (a11, a12, a13, a14) và T2 = (a21, a22, a23, a24) Một trật tự hóa M = {T1, T2}được thể hiện theo một trong nhiều cách sau:
Như vậy, trật tự hóa tuần tự là các trật tự hóa tương ứng với việc thực hiện tuần
p hợp các giao dịch Đây là điều kiện đủ của sự gắn bó
Ví dụ 3:
Quản lý các tài khoản tại một ngân hàng Mỗi một người mở tài khoản tại ngân hàng
sẽ được lưu trữ trong một bản ghi của CSDL Trong tài khoản của người sử dụng không baogiờ có giá trị bằng 0 hay giá trị âm
Ta cần giả định một số quy tắc sau:
Trang 12STT Quy tắc
1 Chỉ có một loại phép toán (hay giao dịch) duy nhất là chuyển khoản từ tài khoảnnày sang tài khoản khác
2 Hệ có số lượng tài khoản cố định
3 Không có trao đổi nào khác diễn ra ngoài ngân hàng
4 Ngân hàng không được phép tiết lộ bí mật về số dư của khách
Phép toán chuyển khoản thể hiện bằng cách trừ đi một giá trị P nào đó ở một tàikhoản và cộng chính giá trị đó vào tài khoản khác
Kí hiệu: A là số dư tài khoản bị trừ đi và B là số dư tài khoản được cộng vào
U – giao dịch mớiT- các giao dịch chuyển khoản
Ba trật tự hóa có thể là S1, S2, và S3
Hình 2: Trật tự hóa S1
Giao dịch loại T
A:=A-PA:=(1+t)xAB:=(1+t)*BB:=B+PGiao dịch loại U
Giao dịch loại T
A:=A-PA:=(1+t)xA
B:=(1+t)*BB:=B+PGiao dịch loại U
Trang 13Hình 5: Trật tự hóa S2
Hình 6: Trật tự hóa S3
Ta nhận thấy dễ dàng là trật tự hóa S2 có tác dụng tương đương với trật tự hóa tuần tựS3, trong khi đó trật tự hóa S1 lại khác Trong trật tự hóa S2 và S3, các tác động cập nhậtlần lượt của tài khoản A và B đều được thực hiện theo cùng một tuần tự, còn trong trật tựhóa S1 thì trật tự tác động cập nhật tài khoản B bị đảo ngược
Ví dụ này cho ta thấy sự quan trọng của việc đảm bảo trật tự khi cập nhật thông tin
II Sự gắn bó thông tin
I.1 Điều kiện giả định và thực tế
Ta có một tập hợp thông tin nào đó có thể được truy cập bởi một tập hợp các tiến trình
Số lượng đối tượng thông tin có thể truy cập và số lượng tiến trình có nhu cầu thông tin là
cố định Hệ này phát triển rời rạc theo thời gian, giữa các điểm xác định, ta có thể nhận biếtđược trạng thái thực của chúng, nghĩa là các giá trị của đối tượng và ngữ cảnh thực hiện củacác tiến trình Hệ như vậy hoạt động với độ ổn định tuyệt vời
Các điều kiện giả định trên so với hệ thực tế có những điểm khác nhau căn bản là :
- Các đối tượng và các tiến trình có thể được tạo lập và huỷ bỏ có tính chất động trongsuốt quá trình tồn tại của hệ
- Các đối tượng và các tiến trình có thể được phân tán trên các trạm khác nhau liên hệvới nhau qua hệ thống viễn thông
- Hệ thống viễn thông và các tiến trình là các đối tượng có thể xảy ra sự cố kỹ thuật
Giao dịch loại T
A:=A-P
A:=(1+t)xAB:=(1+t)*BB:=B+PGiao dịch loại U
Trang 14I.2 Tác động và giao dịch
Các đối tượng khác nhau của hệ không phải là các đối tượng độc lập nhau, chúng quan
hệ với nhau bởi tập hợp các quan hệ gọi là các ràng buộc toàn vẹn Các ràng buộc này thểhiện sâu sắc các đặc tính riêng biệt của hệ
Trạng thái của hệ thoả mãn một tập các ràng buộc toàn vẹn gọi là trạng thái gắn bó.Các nhà thiết kế và vận hành hệ mong muốn rằng việc thực hiện các tiến trình phải duytrì cho được hệ trong trạng thái gắn bó Để chính xác hoá đặc tính này, cần phải lưu ý làtrạng thái của hệ chỉ được xác định ở mức quan sát cho trước
Ta quan tâm đến hai mức quan sát:
Stt Mức Giải thích
1 NSD - Tiến trình là một dãy thực hiện các giao dịch Giao dịch đó là
chương trình duy nhất được thực hiện từ một trạng thái gắn bó dẫn
hệ đến một trạng thái gắn bó khác
2 Hệ thống - Mỗi giao dịch được cấu tạo từ một dãy các tác động được thể hiện
như sau Nếu 2 tác động A và B thuộc hai giao dịch khác nhau đượcthực hiện bởi hai tiến trình thì hiệu ứng tổng quát của chúng sẽ làhiệu ứng của dãy (A;B) hoặc là (B;A)
Trang 15III Triển khai giao dịch tôn trọng sự gắn bó
Cho một tập hợp giao dịch M={T1,T2…,Tn} Một trật tự hóa của tập hợp các tác độngthành phần sẽ tương ứng với việc thực hiện hoàn toàn các giao dịch Việc thu được một trật
tự hóa gắn bó chỉ có thể thành công khi áp dụng các ràng buộc trên trật tự thực hiện các tácđộng Nguyên lý của phương pháp là ở chỗ làm chậm một tác động nào đó cho đến thờiđiểm mà sự thực hiện của nó không còn có nguy cơ phá hủy sự gắn bó của trật tự hóa
Để đảm bảo các giao dịch trên tôn trọng sự gắn bó thông tin thì người ta đưa ra cácphương pháp, cơ chế để đảm bảo khi giao dịch vẫn có sự gắn bó thông tin toàn vẹn dữ liệutrên cơ sở dữ liệu phân tán là:
- Cơ chế then cài
o Then cài loại trừ tương hỗ
o Then cài lựa chọn đối tượng
o Giao dịch hai pha
Bây giờ ta tưởng tượng rằng các đối tượng được phân tán trên nhiều trạm khác nhau và đượcnối với nhau thông qua hệ thống viễn thông và rằng các tiến trình diễn ra trên các trạm khác nhau
Hệ thống viễn thông cho phép các tiến trình trên các trạm khác nhau có thể trao đổi các thông điệpvới nhau Ta giả định rằng các tiến trình và các phương tiện truyền thông là các đối tượng có thể rơivào sự cố Một hệ quản lý tập hợp thông tin phân tán bao gồm:
STT Cơ chế
1 - Cơ chế cho phép sắp xếp một cách tổng quát các tác động của cùng một giao
dịch, ngay cả khi các tác động này diễn ra trên các trạm khác nhau
2 - Cơ chế điều khiển các tranh chấp truy cập cục bộ vào các đối tượng đảm bảo
tôn trọng tính toàn vẹn của các đối tượng truy cập cục bộ này
3 - Cơ chế có khả năng xử lý các bế tắc và thiếu thốn vô hạn, hậu quả của việc
hủy bỏ các giao dịch
4 - Cơ chế phục hồi các giao dịch đã hủy bỏ hay xử lý các sự cố
Cơ chế xử lý sự cố