CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT TT Tiếng Việt Tiếng Anh Ý nghĩa 1 Bộ xử lý Processor Một thực thể trong mạng 2 Cập nhật Tăng trưởng Incremental Update Cập nhật được thực hiện lần lượt t
Trang 1ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐỖ HIỀN
THIẾT KẾ VÀ PHÂN TÍCH GIẢI THUẬT DUY TRÌ DỮ LIỆU CHUNG
PHÂN TÁN
LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN: NGUYỄN ĐẠI THỌ
NĂM 2007
Trang 2LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cô Trường Đại học Công nghệ - ĐH QGHN, các thầy cô Viện Công nghệ Thông tin đã mang lại cho học viên chúng tôi những bài học hữu ích trong suốt khóa học Đặc biệt, xin chân thành cảm ơn thầy giáo, TS Nguyễn Đại Thọ, đã hướng dẫn tôi hoàn thành luận văn này
Tôi xin cam đoan luận văn “Thiết kế và phân tích giải thuật duy trì dữ liệu chung
phân tán” là do tôi thực hiện dưới sự hướng dẫn của TS Nguyễn Đại Thọ - giảng viên
trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Mọi trích dẫn và tài liệu tham khảo được sử dụng trong luận văn đều được tôi chỉ rõ nguồn gốc
Hà Nội, ngày 25 tháng 10 năm 2007
Đỗ Hiền
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 3
CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT 5
DANH SÁCH CÁC HÌNH VẼ 7
MỞ ĐẦU 8
CHƯƠNG 1 HỆ PHÂN TÁN 10
1.1 Khái niệm hệ phân tán 10
1.2 Vai trò của hệ phân tán 10
1.3 Đặc trưng của các hệ phân tán Error! Bookmark not defined 1.4 Mô hình hóa các hệ phân tán Error! Bookmark not defined
1.4.1 Mô hình chuyển thông báo Error! Bookmark not defined 1.4.2 Mô hình với bộ nhớ dùng chung Error! Bookmark not defined 1.4.3 Mô hình xen kẽ Error! Bookmark not defined 1.4.4 Thực hiện và những tính chất của thực hiện Error! Bookmark not defined
1.5 Đánh giá độ phức tạp Error! Bookmark not defined 1.6 Khả năng kháng lỗi và tính tự ổn định Error! Bookmark not defined
1.6.1 Khả năng kháng lỗi Error! Bookmark not defined 1.6.2 Tính chất tự ổn định Error! Bookmark not defined 1.6.3 Vai trò của tự ổn định Error! Bookmark not defined 1.6.4 Đánh giá độ phức tạp Error! Bookmark not defined
2.1 Giới thiệu Error! Bookmark not defined 2.2 Bài toán Error! Bookmark not defined 2.3 Đánh giá độ phức tạp Error! Bookmark not defined 2.4 Giải thuật Phát tỏa Đầy đủ Error! Bookmark not defined 2.5 Giải thuật Cập nhật Tăng trưởng [4] Error! Bookmark not defined
Trang 4CHƯƠNG 3 GIẢI THUẬT CẬP NHẬT VỚI TRI THỨC BỘ PHẬN [3]Error! Bookmark not defined 3.1 Tư tưởng Error! Bookmark not defined
3.2 Giải thuật Error! Bookmark not defined
3.3 Tính đúng đắn và độ phức tạp Error! Bookmark not defined
3.4 Ví dụ một thực hiện Error! Bookmark not defined
4.1 Đặt vấn đề Error! Bookmark not defined
4.2 Thực hiện cải tiến Error! Bookmark not defined
4.3 Tính đúng đắn và độ phức tạp Error! Bookmark not defined
4.4 Ví dụ một thực hiện Error! Bookmark not defined
CHƯƠNG 5 GIẢI THUẬT DUY TRÌ DỮ LIỆU CHUNG PHÂN TÁN ÁP DỤNG
TRONG THỰC TIỄN Error! Bookmark not defined
5.1 Hệ thống động với tôpô bất kỳ Error! Bookmark not defined
5.2 Dữ liệu chung phân tán Error! Bookmark not defined
5.3 Độ dài dữ liệu không cố định Error! Bookmark not defined
5.4 Khả năng kháng lỗi và tính tự ổn định Error! Bookmark not defined
KẾT LUẬN Error! Bookmark not defined
TÀI LIỆU THAM KHẢO 11
Trang 5CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
TT Tiếng Việt Tiếng Anh Ý nghĩa
1 Bộ xử lý Processor Một thực thể trong mạng
2 Cập nhật Tăng
trưởng
Incremental Update
Cập nhật được thực hiện lần lượt trên từng bộ xử lý
3 Cập nhật Tăng
trưởng theo
Phân đoạn Dữ
liệu
Incremental Updates with Data segments
Thực hiện nhiều Cập nhật Tăng trưởng đồng thời, mỗi Cập nhật Tăng trưởng cho một đoạn dữ liệu
4 Cấu hình Configuration Trạng thái toàn cục của hệ thống bao
gồm trạng thái của các thực thể và trạng thái của các kênh truyền giữa các thực thể
5 Cây bao trùm Spanning tree Cây bao gồm tất cả các nút của một đồ
thị, và mỗi nút xuất hiện duy nhất một lần
6 Đồ thị phụ thuộc Dependency
graph
Độ thị có hướng không chu trình có thêm các phụ thuộc hàm
7 Dẫn ống Pipeline Khi nhận được thông báo từ bộ xử trước
thì chuyển ngay thông báo này cho bộ xử
lý liền sau
8 Dữ liệu chung Common data Dữ liệu được nhìn nhận như nhau bởi
mọi thực thể trong hệ thống
9 Hệ phân tán Distributed
system
Hệ thống bao gồm các thiết bị tính riêng
rẽ có thể giao tiếp với nhau
10 Khứ lỗi Fault tolerance Khả năng hệ thống bỏ qua một số hữu
Trang 6hạn lỗi để những bộ phận chưa bị lỗi vẫn hoạt động bình thường
11 Phát tỏa Broadcast Gửi thông tin đến tất cả các bộ xử lý
trong thành phần liên thông
12 Phát tỏa Đầy đủ Full Broadcast Phát tỏa mọi thông tin có
13 Phát tỏa với Tri
thức Bộ phận
Broadcast with Partial
Knowledge
Phát tỏa chỉ những phần dữ liệu thay đổi với mục đích sửa lỗi tại các bộ xử lý nhận
14 Sai khác cục bộ Local
discrepancy
Số bít trong dữ liệu riêng khác với dữ liệu nguồn
15 Sai khác tổng Total
discrepancy
Tổng tất cả các sai khác cục bộ
16 Tiến trình Process Một chương trình đang thực thi
17 Trạm Site Một thực thể trong mạng
18 Tự ổn định Self-stabilizing Tính chất của hệ thống có thể xuất phát
từ trạng thái bất kỳ luôn thể hiện được hành vi hợp lệ mong muốn
19 Khung nhìn View “Hình ảnh” mà một bộ xử lý nhận được
từ một bộ xử lý khác
20 Nguồn Source Bộ xử lý nguồn
Trang 7DANH SÁCH CÁC HÌNH VẼ
tán Trong ví dụ này, có n+1 = 5 bộ xử lý duy trì một khung nhìn với m = 4 mục Nguồn là bộ xử lý 0 Các mục sai so với nguồn được gạch chân Độ sai khác cục bộ là số mục gạch chân tại một bộ xử lý Độ sai khác tổng là ∆ = 7
(24)
∆ = 7)
(27)
thuật Cập nhật Tăng trưởng (n = 4, m =4, ∆ = 7)
(28)
sửa lỗi )
(36)
tiên)
(53)
Cập nhật Tăng trưởng, giải thuật AS, và giải thuật AS cải tiến
(61)
Trang 8MỞ ĐẦU
Trong tính toán phân tán có rất nhiều công việc liên quan đến việc duy trì khung
nhìn (view) đến các đối tượng chung tại các trạm (sites) khác nhau của hệ thống phân
tán Với đối tượng chung là tôpô của hệ thống ta có yêu cầu cập nhật tôpô, hay nếu đối tượng chung là một tài nguyên cụ thể được lưu trữ trên một trạm nào đó ta có yêu cầu liệt kê danh sách tài nguyên trên mỗi trạm, hoặc một cơ sở dữ liệu tổng quát
Các đối tượng này bị tác động bởi những thay đổi, ví dụ liên kết giữa hai nút mạng được thêm mới hay mất đi làm thay đổi tôpô mạng, một tài nguyên được chiếm dụng rồi giải phóng, một bản ghi cơ sở dữ liệu được sửa đổi Như vậy, vấn đề đặt ra ở đây là cần có một cơ chế hiệu quả cho việc cập nhật khung nhìn về đối tượng chung tại các trạm khác nhau
Mục tiêu của luận văn này là xem xét, đánh giá một số giải thuật cập nhật “khung nhìn” về đối tượng chung đó, đồng thời đưa ra đề xuất cải tiến các giải thuật đã xem xét nếu có thể
Các giải thuật duy trì dữ liệu chung trong hệ phân tán, và đặc biệt phương pháp
Phát tỏa với Tri thức Bộ phận, được tìm hiểu trong luận văn này bao gồm Phát tỏa Đầy đủ, Cập nhật Tăng trưởng [4], giải thuật AS [3] Từ các tìm hiểu về giải thuật
trên, tác giả luận văn đã đưa ra một đề xuất cải tiến giải thuật AS Cải tiến này được thực hiện bằng cách cắt bỏ các thông báo dư thừa được sử dụng trong giải thuật AS Kết quả cải tiến được tác giả luận văn đánh giá và chứng minh Ngoài ra, trong luận văn này, tác giả đã quan tâm đến các khía cạnh thực tế khi áp dụng những giải thuật được xem xét hoặc đề xuất, trong đó khả năng kháng lỗi với tính tự ổn định [7] được đặc biệt chú ý Với mỗi giải thuật đã được xem xét hoặc đề xuất, tác giả đã chỉ ra một phiên bản tự ổn định của nó
Luận văn được trình bày trong năm chương với nội dung mỗi chương như sau:
Chương 1 giới thiệu hệ phân tán, các mô hình hệ phân tán, vai trò, đặc trưng của
các hệ phân tán, các khái niệm cơ bản về cấu hình, thực hiện và phương pháp đánh giá
Trang 9độ phức tạp của giải thuật phân tán [1], [8], [9] Phần cuối chương trình bày các vấn đề
về khả năng kháng lỗi với tính chất tự ổn định [7]
Tiếp theo, Chương 2 trình bày bài toán duy trì dữ liệu chung trong hệ phân tán và
các giải thuật sơ đẳng, bao gồm giải thuật Phát tỏa Đầy đủ và giải thuật Cập nhật Tăng trưởng [4] Mô hình bài toán, tiêu chuẩn đánh giá độ phức tạp được trình bày
Với mỗi giải thuật, sau phần xem xét và trình bày giải thuật, tác giả đều đưa ra một ví
dụ minh họa thực hiện của giải thuật
Chương 3 trình bày giải thuật cập nhật với tri thức bộ phận, giải thuật AS [3] Sau
phần trình bày tư tưởng và chi tiết giải thuật là phần chứng minh tính đúng đắn và đánh giá các độ phức tạp Một ví dụ được tác giả đưa ra để minh họa cho hoạt động của giải thuật AS
Trong Chương 4, tác giả đưa ra một đề xuất cải tiến giải thuật AS bằng cách cắt bỏ
các thông báo không cần thiết trong giải thuật AS Hiệu quả tiết kiệm thời gian và thông báo của giải thuật AS cải tiến so sánh với giải thuật gốc được phát biểu và chứng minh Giải thuật cũng được mô tả bằng mã hình thức.Cuối cùng là minh hoạ một thực hiện của giải thuật AS cải tiến
Chương 5 bàn về các thay đổi cần thực hiện để các giải thuật duy trì dữ liệu có thể
thực thi được trong một số vấn đề hiện thực của hệ phân tán, đó là các vấn đề về Hệ thống với tôpô bất kỳ, Dữ liệu chung phân tán, Độ dài dữ liệu thay đổi, Khả năng kháng lỗi và tự ổn định
Chắc chắn, luận văn còn có những thiếu sót trong nội dung cũng như trong trình bày Tác giả của luận văn rất mong nhận được sự đóng góp ý kiến của các thầy cô giáo
và của các anh/chị học viên
Trang 10CHƯƠNG 1 HỆ PHÂN TÁN
1.1 Khái niệm hệ phân tán
Có rất nhiều khái niệm khác nhau về hệ phân tán Một cách tổng quan, hệ phân tán
là tập hợp các thiết bị tính riêng rẽ có thể giao tiếp với nhau Đây là một khái niệm hết sức tổng quát, bao trùm một phạm vi rộng các hệ thống máy tính ngày nay, từ các bộ chíp VLSI đến các bộ đa xử lý, các mạng cục bộ, và Internet Nếu như hệ song song phối hợp nhiều bộ xử lý nhằm giải quyết một vấn đề cho trước một cách nhanh nhất thì hệ phân tán bao gồm một tập các bộ xử lý có chương trình làm việc riêng bán độc lập, vì những lý do gì đó, ví dụ chia sẻ tài nguyên, tăng tính sẵn sàng, khứ lỗi, các bộ
xử lý cần phối hợp hành động với nhau
Ta có thể thấy các hệ phân tán ở khắp mọi nơi Điển hình, các hệ phân tán được sử dụng để chia sẻ tài nguyên và chia sẻ dữ liệu Các máy tính kết nối mạng với nhau có thể dùng chung máy in, máy quét, chia sẻ các tệp tài liệu, chương trình… Tính toán ngang hàng là một kiểu thực hiện của hệ phân tán ngày càng trở nên phổ biến cho việc cung cấp các thiết bị và dịch vụ tính toán Các hệ phân tán nhiều tham vọng hơn cho hiệu năng hoạt động cao bằng cách kết hợp giải các bài toán con một cách song song, đồng thời tăng tính sẵn sàng của hệ thống trong trường hợp một số thiết bị gặp lỗi
1.2 Vai trò của hệ phân tán
Ngày nay hệ phân tán đang trở nên phổ biến vì những vai trò ứng dụng quan trọng của chúng Trước hết, phải kể đến đó là vai trò trao đổi thông tin Các hệ phân tán cho khả năng chia sẻ thông tin rộng rãi và tức thời Lấy ví dụ, thông tin từ hệ thống máy tính đặt tại Sở giao dịch chứng khoán TPHCM có thể được sử dụng bởi hệ thống máy tính đặt tại trụ sở của các công ty chứng khoán thành viên hay cũng có thể chia sẻ đến tận các nhà đầu tư Các thông tin chứng khoán cũng luôn yêu cầu phải có tính chính xác cũng như tức thời rất cao, và hệ phân tán cũng có thể cung cấp những khả năng đảm bảo được điều này
Hệ phân tán cũng cho khả năng chia sẻ thông tin giữa các thiết bị hỗn tạp Một máy tính có thể "nói chuyện" với các máy tính khác loại, các điện thoại cố định, di động,
Trang 11TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt:
Tài liệu tiếng Anh:
Shay Kutten Distributed control for paris In Proc 9 th ACM Symp On Principles of Distributed Computing, pages 145-160,
1990
common data in a distributed system, Journal of the ACM
(JACM), v.44 n.1, p.86-103, Jan 1997
maintenance of replicated information In Proc 31st IEEE
Syrup on Foundations of Computer Science, 1990
and David Peleg, Broadcast with partial knowledge, In Proc
quantitative approach to dynamic networks, Proceedings of the
ACM PODC 1990
distributed control, Comm ACM 17 November 1974, 643-644.
Edition Cambridge University Press, 2000
Fundamentals, simulations and advanced topics, Second
Trang 12Edition, John Wiley & Sons, 2004
IEEE Trans on Communications, COM- 32(6):679-683, June
1984
Modeling and Analysis, Addition-Wesley, Massachusetts, 1987
1997
&
Sons, 2002
information in computer networks IEEE Trans on Commun.,
May 1989
Hall, New Jersey, Sixth Edition, 2000
algorithm for the arpanet IEEE Trans on Commun.,
28(5):711-719, May 1980 [17] BGJ+85 A.E Baratz, J P Gray, P.E Green Jr., J M Jaffe, and D.P
Pozefski SNA networks of small systems IEEE Jurnal on
Selected Areas in Communications, SAC-3(3): 416-426, May
1985
high-speed private networks International Journal on Digital &
Analog Cabled System, 1(2):77-86, April-June 1988
Trans on Commun, COM-28:510-526, April 1980