Tải bản đầy đủ (.pdf) (13 trang)

DSpace at VNU: Thiết kế và phân tích giải thuật duy trì dữ liệu chung phân tán

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 (311.47 KB, 13 trang )

ĐẠ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

1


LỜ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

2


MỤ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.
CHƢƠNG 2. CÁC GIẢI THUẬT SƠ ĐẲNG ....................... 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.

3


CHƢƠNG 3. GIẢI THUẬT CẬP NHẬT VỚI TRI THỨC BỘ PHẬN [3]Error! Bookmark not def
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.
CHƢƠNG 4. GIẢI THUẬT AS CẢI TIẾ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

4


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 trên
từng bộ xử lý

3

Cập nhật Tăng


Incremental

Thực hiện nhiều Cập nhật Tăng trƣởng

trưởng theo

Updates with

đồng thời, mỗi Cập nhật Tăng trƣởng

Phân đoạn Dữ

Data segments

cho một đoạn dữ liệu.

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

5


hạ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

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ý

Knowledge

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

6


DANH SÁCH CÁC HÌNH VẼ
Hình 1.1

Mô hình tổng quát hệ thống phân tán

(12)

Hình 1.2

Mô hình chuyển thông báo

(13)

Hình 1.3

Mô hình với bộ nhớ dùng chung

(14)

Hình 2.1

Ví dụ minh họa bài toán Duy trì dữ liệu chung trong hệ phân (24)
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

Hình 2.2

Một thực hiện của giải thuật Phát tỏa Đầy đủ (n = 4, m =4, (27)
∆ = 7)

Hình 2.3

Sửa lỗi cho hai bộ xử lý đầu trong một thực hiện của giải
thuật Cập nhật Tăng trưởng (n = 4, m =4, ∆ = 7)

(28)

Hình 3.1

Một trạng thái của hệ thống khi thực hiện giải thuật AS

(33)

Hình 3.2

Vùng quét của bộ xử lý Q

(34)

Hình 3.3

Hình chữ nhật của các tiến trình con của tiến trình Q


(35)

Hình 3.4

Hoạt động của một tiến trình (mũi tên biểu diễn thông báo
sửa lỗi )

(36)

Hình 3.5

Một thực hiện của giải thuật AS (vùng chữ nhật đầu tiên).

(39)

Hình 4.1

Giải thuật AS cải tiến

(48)

Hình 4.2

Một thực hiện của giải thuật AS cải tiến (vùng chữ nhật đầu
tiên).

(53)

Hình 5


Khung chung cho các phiên bản tự ổn định của các giải thuật
Cập nhật Tăng trưởng, giải thuật AS, và giải thuật AS cải
tiến.

(61)

7


MỞ ĐẦ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á

8


độ 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.

9


CHƯƠ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,

10


TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt:
[1].

Tho05 Nguyễn Đại Thọ, Tập các bài giảng Các giải thuật phân tán, 2005.

Tài liệu tiếng Anh:
[2]

ACG+90 Baruch Awerbuch, Israel Cidon, Inder Gopal, Marc Kaplan, and
Shay Kutten. Distributed control for paris. In Proc. 9th ACM
Symp. On Principles of Distributed Computing, pages 145-160,
1990.

[3].

AS97


Baruch Awerbuch, Leonard J. Schulman, The maintenance of
common data in a distributed system, Journal of the ACM
(JACM), v.44 n.1, p.86-103, Jan. 1997

[4].

ACK90

Baruch Awerbuch, Israel Cidon, and Shay Kutten, Optimal
maintenance of replicated information. In Proc. 31st IEEE
Syrup. on Foundations of Computer Science, 1990.

[5].

ACK+91

Baruch Awerbuch, Israel Cidon, Shay Kutten, Yishay Mansour,
and David Peleg, Broadcast with partial knowledge, In Proc.
10th ACM Symp. on Principles of distributed computing, 1991

[6]

AGH90

Baruch Awerbuch, Oded Goldreich, Amir Herzberg, A
quantitative approach to dynamic networks, Proceedings of the
ACM PODC 1990.

[7].


Dij73

Edsger W. Dijkstra, Self-stabilizing systems in spite of
distributed control, Comm. ACM 17 November 1974, 643-644.

[8].

Tel00

Gerard Tel, Introduction to Distributed Algorithms, Second
Edition. Cambridge University Press, 2000.

[9].

AW04

Hagit Attiya, Jenifer Welch, Distributed computing:
Fundamentals, simulations and advanced topics, Second

11


Edition, John Wiley & Sons, 2004.
[10].

Met84

J.J. Metzner, An improved broadcast retransmission protocol.
IEEE Trans. on Communications, COM- 32(6):679-683, June

1984.

[11].

Sch87

Mischa Schwartz, Telecommunication Networks: Protocols,
Modeling and Analysis, Addition-Wesley, Massachusetts, 1987.

[12].

Lyn97

Nancy A. Lynch, Distributed Algorithms. Morgan Kaufmann,
1997.

[13].

Gar02

Vijay K. Garg, Elements of Distributed Computing. John Wiley
&
Sons, 2002.

[14].

SG89

John M. Spinelli and Robert G. Gallager. Broadcasting topology
information in computer networks. IEEE Trans. on Commun.,

May 1989.

[15].

Sta00

William Stallings, Data & Computer Communications, Prentice
Hall, New Jersey, Sixth Edition, 2000.

[16]

MRR80

John McQuillan, Ira Richer, and Eric Rosen. The new routing
algorithm for the arpanet. IEEE Trans. on Commun., 28(5):711719, 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.

[18]

CG88

I. Cidon and I. S. Gopal. Paris: An approach to integrated highspeed private networks. International Journal on Digital &

Analog Cabled System, 1(2):77-86, April-June 1988.

[19]

Wec80

S. Wecker. DNA: The digital networks architecture. IEEE
Trans. on Commun, COM-28:510-526, April 1980.

12


13



×