1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giải pháp cân bằng tải sử dụng cấu trúc thư mục cho mạng ngang hàng có cấu trúc luận văn ths công nghệ thông tin 60

39 346 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 12,38 MB

Nội dung

Trang 1

TRUONG DAI HOC CONG NGHE

DO CAO MINH

GIAI PHAP CAN BANG TAI SU DUNG CAU TRUC THU MUC CHO MANG NGANG HANG CO CAU TRUC

Nganh: Cong nghé thong tin

Chuyên ngành: Truyền dữ liệu và mạng máy tính

Mã số: 60 48 15

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Hoài Sơn

Hà Nội - 2010

Trang 2

MỤC LỤC - - con S9 9 Đi 9.9 I9 9 1 I0 00.00 00809000866 1 DANH MỤC THUẬT NGỮ -c- {s55 155 555555 55555 3

DANH MỤC HÌNH VỈỀ - -G c G2 SƠ S000 19 6359 96ses 4

MỞ ĐẦU G0 6

CHƯƠNG l1 - TỎNG QUAN VÉ MẠNG NGANG HÀNG -<° 8

11 Tổng quan về mạng ngang hàng -. s -s=-=5s=seseseseseseeersssrseenmre 8 1.1.1 Khái niệm vê mạng ngang hàng «5-5555 S5 5S 31152 8

1.1.2 Uu diem cia mang ngang hang escessessesesseeteseseseesesnesneeeeneenseneeneenss 9

1.1.3 Nhuogc diém cia mang ngang han cccccesssseesesssenseceeecceeeesesesessaees 9 1.2 Phan loai mang ngang hang cccccccscsssssscccscssssccscccssssssssssccsssssscssssssesesees 10 1.2.1 Phân loại theo mức độ tập trung Của các node mnạng - -««««s««: 10 1.2.2 Phân loại theo câu trúc liên kẾt << 22-313 eeees 12 1.3 Mạng ngang hàng có cấu trúc dựa trên DHT(Distributed Hash Table)

Hậ 9 9 9 69 9.6 6 9.6 8 9 0 8.0 0 6.0 9 96 8 09 09 610668019 06 0 9 6 6 0101068 0.9 008.010 06 60)9 9 06.01910688 01910 66.00010160 8/06 14 1.3.1 Giới thiệu DHIT, QGĂ G Ă S989 909 30 10 10 1 n0 kh 14 1.3.2 Mang vi 0H 16 A Mơ hình mạng Chorởđ .-e- se ceieeeierrrrrrrrrrrei 16

b Anh xa khoa vào một node trong COYdÏ c c1 1111103111 1351134 18

C Tìm kiêm trong mạng Chordi -e« series 18 d Tham gia và ôn định Mang co aaa xà 19

1.4 Kết luận -<-<s<+e+sS2S9E2 413133301313 8130132320130402914 1E 19 CHUONG 2 - CAN BANG TAI TREN MẠNG NGANG HÀNG CÓ CÁU

I):10 9= 4 21

2.1 Khái niệm về tải trên mạng ngang hàng -.-.s 5s sesesesesesssse 21 2.1.1 Khái niệm - CC 9S nọ ni KH E34 21 2.1.2 Node quá tải 2303 0881001010340 011040 0000010010101 0000100 22 2.1.3 Node có tải cao và Node có tải thâp . -<<ccsSsssssssssssssesss 22 2.2_ Các nguyên nhân dẫn đến mất cân bằng tải trên các hệ thống DHT 22 2.2.1 Định danh các node khơng cân băng «che 22 2.2.2 _ Định danh dữ liệu không cân băng . - 5 << + sSsssssssssssssssssss 23 2.2.3 Hot spofs - t11418011801111 18101000 110Á0000000011 04000010100 1Á 24 2.2.4 Khả năng các node không cân băằng - << <2 S*SSSSSEsssssssssss 25 "» NI — 25

2.3 Các giải pháp cân bằng tải 5s s<cseserersersereerxersresersrrsererssrsore 25

Trang 3

c.Phương phap di chuyén Virtual Server (Transfer) c.ccccssesssssssessessstscssscevsessees 28 2.3.2 Hướng không sử dụng Server ảO 9g ng x4 32 Thuật toán cân bằng tải theO HgưÕïg, - - - - csEEEeEEESEeEsEersrersrersrersrerrree 32

2.3.3 (con 38 CHƯƠNG 3 - DE XUAT CAI TIEN THUAT TOAN CAN BANG TAI THEO )/00/9)/0 1" 39

SN ni chẽ 40

3.2 Thuật tốn ThresholdPÌus .oo 555 2 6< 99599 5669556995.888686869986565656 40 3.3 Đánh giá: oo 0c s55 5S 99 9Ó 0 00 0000000000 00.04 0 0006006000000 0400406 06 45

CHUONG 4 - ĐÁNH GIÁ HIỆU QUÁ CỦA GIẢI PHÁP ĐÈ XUẤT DỰA TRÊN MO PHONG 47 4.1 Ảnh hướng thời gian sống của một node tới các thuật toán cân bằng tải 47

4.2 Ảnh hưởng của số lượng các câu truy vấn tới các thuật toán cân băng tải 48 4.3 Ảnh hướng của câu truy vẫn dạng Zipf tới các thuật toán cân bằng tải .49 4.4 So sánh kết quả thực nghiệm của thuật toán Threshol Plus với các thuật toán ã CÓ: ocoo co 9 9.9.9 0.0 0000000904 0 00.0 50 0000000000000 0 00 0660900000000 04 96.06 50

4.5 KKẾ( luận 5% % 2% %9 90 909.090.0900 0909.0909 09090909 0909.91909099055 51 CHUONG 5 - KÉT LUẬN VÀ HƯỚNG PHÁT TRIỂN -.- 53 5.1 {in 53

Trang 4

3 THUAT NGU Thuật ngữ Y nghĩa

Based -DHT Dựa trên bảng băm phân tán

Broadcast Một thông điệp truyên tới tất cả các trạm Chord Một giao thức dựa trên mang ngang hàng

có câu trúc

Client/Server Máy khách/ Máy chủ

DHT (Distributed Hash Table ) Bang bam phan tan

Directory Node Thu muc ; Dong vai tro lưu trữ các

thông tin tải của các node

Entry Một bản ghi trong bảng dùng để lưu thông tin về các đặc tả tài nguyên tại mỗi node

Finger Table Bang dinh tuyén

Host Ports Node được truy cập với tân số cao

Identify Dinh danh

Key Khóa

LBM (Load Balancing Matrix) | Ma trận cân băng tải

Load Tải

Load-balancing Cân bằng tải

Node Thực thê có khả năng thực hiện một cơng

việc hữu ích nào đó và trao đôi kết quả với các thực thé khác qua mạng một cách trực

tiếp hoặc gián tiếp

Overload Quá tải

P2P (Peer to Peer network) Mạng ngang hang

Partial query Truy vân từng phân

Predecessor(n) Node đứng liên sau n (Tính theo chiều kim đồng hồ)

Query Truy van

Successor(n) Node đứng liền trước n (Tính theo chiều

kim đồng hồ)

Target Tải lớn nhật mà một node có thê nhận

Unilization Hệ số sử dụng

Trang 5

DANH MUC HINH VE

Hình 1 Mơ hình mạng ngang hàng - 001301131113 11 1111111111111 111111 kh 8 Hình 2 Mơ hình mạng ngang hàng thuần tuý - - + ++E£k£k£krkekrkrkrkred 11 Hình 3 Hệ thống mạng ngang hàng lai ghép .eeeseesseseeesseecevecsvevsvevsvevsvevsvevaees 12 Hình 4 Tìm kiếm dữ liệu chia sẻ trong Gnutella - 5s s + E*Ek£k£s££zEe£zEexd 13 Hình 5 Một mạng Chord với 3 node 0, 1, 3 và các bảng Finger Table ứng với mỗi node N = 3 bit nén CO 3 €TIẨYY - T000 0000000003011911 91915 919 n0 eh 17

Hình ó6 Lưu giữ key trong mang Chord: node 0 lưu key 6, node 1 lưu key 1 va node 3

I0) 27 = 43 18

Hình 7 Định danh các node không cân bằng . + E3 sE#EEEeErkrerkrerered 23 Hình 8 Dữ liệu các node không cân bằng - 2 << SE Evv cv veesed 23

Hình 9 Kết quả mô phỏng về sự phân bố đữ liệu không đều nhau 24

00081008) 8si 0) 11 24

Hình 11.Khả năng các nút không cân băng - + x3 EEvcvrvcervveesed 25

Hình 12.Cân bằng tải sử dụng Log(N) Virtual SerVefS 5 cccccxcerererered 27 Hình 13 Tạo mới Về (a) và loại bỏ VS (b) HH HH ng ng và 28 Hình 14 Node nặng tải di chuyển VS sang node nhẹ tải (nếu chỉ có 1 VS mà vẫn

nặng tải thì sẽ chia làm 2 VS để di chuyỂn) ¿-¿-¿- ¿cà SESEE RE EErrrxree 29

Hình 15 Phương pháp Ône - fO - Ône - S0 0130013 113111111151 19 nếp 30 Hình 16 Phương pháp Ône - to - Many - 01k kh 31 Hình 17 (a) Node A chuyén tai cho node lang riéng B va (b) Chuyển định danh của node C vào giữa A và B Độ cao của mỗi hình tương ứng là biểu điễn tải của các node Hình 18 Node A có tải vượt quá ngưỡng Node B có tải thấp hơn trong hai láng riềng của A Tải được chuyển từ Node A cho Node B . 5s csxsecxeesevee 34 Hình 19 Node A có tải vượt quá ngưỡng Node B có tải thấp hơn trong 2 láng riềng của A Tải được chuyển cho node E - - - ssEESEEEEEEEEEEEEEEEEEEErErererererrrered 34 Hình 20 Node A có tải vượt quá ngưỡng, node E chuyên tải cho F, E di chuyển vị trí

đến giữa A và B để nhận tải + SE EE SE EE E99 3E 3E TT ch rà cư re rereở 35 Hình 21 Node A có tải vượt quá ngưỡng: Node G là nhẹ tải khi đi chuyển không

làm cho Successor(G) bị quá tải; di chuyển vị trí của G đến giữa A và B để G chịu tải Hình 22 Các node nhẹ tải A và F hỏi successor của nó (các đường mũi tên nét liên) và thơng báo tình trạng tải cho thư mục 1 và thư mục 2 (các đường mũi tên nét đứt).42 Hình 23 Node A thực hiện cân bằng tải, node lang riéng B nhận tải hộ node A bằng

Trang 6

5

Hình 24 Node A thực hiện cân băng tải, node A chia tai cho node lang giéng B bang cách dịch chuyển định danh của A về phía B - + +EE#E+EeEeErEcerxvsesed 43 Hình 25 Node A hỏi thư mục 1 để tìm một node nhẹ tải có thể dịch chuyển được (đường mũi tên nét liên) Định đanh của node nhẹ tải E được chuyên đến giữa

predecessor(A) và A để nhận tải hộ node A (đường mũi tên nét đứt) - 44 Hình 26 Thời gian sống trung bình của một node thay đổi, các câu truy vẫn thực hiện

với phân bố Zipf và UnifOrim - - sưng rvee 48

Hình 27 Số câu truy vấn đặt vào một node thay đổi, truy vấn được phân bố ở đạng V0 8906: 0 49

Hình 28 Truy vấn đặt vào các node ở dạng phân bố Zipf với tỷ lệ thay đôi 50

Trang 7

MO DAU

Một kiểu kiến trúc mạng mới với tên là mạng ngang hàng (Peer to Peer - P2P) đã phát triển nhanh chóng trên internet Trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính tốn và băng thơng của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạng thông thường Sự phát triển nhanh chóng của mạng ngang hàng trong những năm gân đây thúc đây sự ra đời của nhiều ứng dụng mạng như các hệ thống chia sẻ file, tìm kiếm thơng tin, tính tốn lưới Mạng ngang hàng có cấu trúc ra đời đảm bảo cho tính hiệu quả cũng như khả năng mở rộng của các ứng dụng này Tuy nhiên, để đảm bảo chất lượng dịch vụ cho các ứng dụng xây dung trên mạng ngang hàng có cấu trúc cần phải giải quyết vấn đề cân bằng tải trong mạng ngang hàng có cấu trúc

Có hai hướng tiếp cận chính cho các thuật toán cân bằng tải đó là: hướng tiếp cận dựa trên server ảo (virtual server) và hướng tiếp cận không dựa trên server ảo Trong luận văn này tôi tập trung vào hướng tiếp cận không dựa trên server ảo và đưa ra một giải thuật cải tiến của giải thuật cân bằng tải theo ngưỡng Giải thuật của chúng tôi đưa ra cho phép các node quá tải tìm chính xác và nhanh chóng một node phù hợp để thực hiện việc cân bằng tải Chúng tôi đã cài đặt và thử nghiệm thuật toán đề xuất trong điều kiện mạng gần với thực tế và thấy răng thuật toán của chúng tôi giải quyết tốt vẫn đề cân bằng tải của các node trong mạng

Nội dung luận văn gồm 5 chương cụ thê cho từng chương như sau:

Chương 1: Giới thiệu tổng quan về mạng ngang hàng, những khái niệm cơ bản về mạng ngang hàng đồng thời giới thiệu giao thức Chord, giao thức được sử dụng để triển khai mạng phủ DHT khi xây dựng chương trình mơ phỏng

Chương 2: Tìm hiểu về vấn đề cân bằng tải trên mạng ngang hàng, một số nguyên nhân dẫn đến mắt cân băng tải, các giải pháp đã được dé xuất và phân tích về các giải pháp này

Chương 3: Trên cơ sở các vấn đề tìm hiểu được ở chương 2 Chúng tôi đề xuất giải pháp cân bằng trên mạng ngang hàng có cấu trúc theo hướng không sử

dụng server ảo Đó là một giải thuật cải tiến của giải thuật cân bang tai theo

Trang 8

7

Chương 4: Trình bảy cách thực hiện chương trình mơ phỏng đồng thời trình bày kết quả đánh giá giải thuật cân bằng tải dựa trên mô phỏng của chúng tôI

Chương 5: Trình bày các cơng việc mà chúng tôi đã thực hiện được,

những vấn đề còn tổn tại của luận văn và hướng phát triển tiếp theo của chúng

Ae

Trang 9

CHUONG 1 - TONG QUAN VE MANG NGANG HANG

Trong chương này, luận văn sẽ giới thiệu khái quát vê mạng ngang hàng, các đặc điềm, các hình thức phần loại của mạng ngang hàng, khái niệm vê DHT và mạng hàng có cấu trúc đồng thời giới thiệu về một số mạng ngang hàng đã và đang được ứng dụng có hiệu quả

1.1 Tổng quan về mạng ngang hàng

1.1.1 Khái niệm về mạng ngang hàng

Mạng ngang hàng là một mạng mà kiến trúc của nó được tạo nên bởi các máy tính liên kết với nhau, các máy tính tham gia trong mạng đều bình đẳng như nhau và được gọi là các peer, mỗi máy tính tham gia mạng là một phần và duy trì sự tồn tại của mạng Các máy tính trong mạng thường xuyên liên lạc với các

máy tính khác để ôn định mạng và chia sẻ đữ liệu với nhau Dữ liệu được chứa

trên các máy tính và được chia sẻ trực tiếp với nhau giữa các máy tính tham gia vào mạng

Hình 1 Mơ hình mạng ngang hàng

Ứng dụng thường xuyên gặp nhất của mạng ngang hàng là chia sẻ tệp tin,

tất cả các dạng như: âm thanh, hình ảnh, dữ liệu hoặc để truyền dữ liệu thời

Trang 10

1.1.2 Ưu điểm của mạng ngang hàng

Mục đích quan trọng của mạng ngang hàng là các máy tính tham gia mạng đều đóng góp tài nguyên bao gồm băng thông, lưu trữ, khả năng tính tốn Do đó khi càng nhiêu mày tính tham gia mạng thì khả năng tông thể của mạng càng lớn Do việc các thông tin lưu trữ không chỉ trên máy chủ mà còn được lưu trữ ở chính các máy tham gia mạng nên mơ hình này rất phù hợp với tính phi tập trung của Internet

Xét về khía cạnh sức mạnh xử lý, mạng ngang hàng có khả năng xử lý cao hơn cả những máy chủ lớn hiện nay, do đó sử dụng mạng ngang hàng có thể cải thiện đáng kế hiệu quả của các phương pháp phân tích, xử lý dữ liệu và giải các bài toán phức tạp Sở dĩ làm được như vậy là vì mạng ngang hàng có thê tận dụng được khả năng xử lý, khả năng lưu trữ còn thừa của các máy tham gia mạng với những thuật toán phân tán hợp lý Công nghệ này đã chia việc xử lý lớn ra thành nhiều việc xử lý để có thể giao cho các máy tính khác trong mạng cùng thực hiện Mỗi máy tính sẽ xử lý một phần công việc và trả về kết quả xử lý cho máy tính trung tâm, máy tính trung tâm sẽ ghép nối các kết quả này lại với nhau Bằng cách như vậy, ta có thê giải quyết các bài toán phức tạp yêu cầu vẫn đề xử lý, lưu trữ lớn mà không cần phải nâng cấp khả năng xử lý của hệ

thống hiện tại

Tính chất phân tán của mạng ngang hàng cũng giúp cho việc phân tán

trách nhiệm cung cấp dịch vụ đến tất cả các node trên mạng, nó sẽ loại bỏ được

van đề ngừng trệ dịch vụ do nơi cung cấp duy nhất gặp sự cố Đối với mô hình tập trung, chỉ cần máy chủ gặp sự cố thì cả hệ thống sẽ ngưng trệ Còn đối với mạng ngang hàng, máy tính có thể tham gia hoặc rời khỏi mạng bất kỳ lúc nào

mà mạng vẫn hoạt động bình thường, các máy tính cịn lại vẫn có th trao đôi

thông tin và chia sẻ tài nguyên cho nhau

Bên cạnh nhiều ưu điểm đã được nêu ở trên thì mạng ngang hàng cũng

còn tồn tại một số nhược điểm

1.1.3 Nhược điểm của mạng ngang hàng

Trang 11

khác nhau, khi nó kết nối đến nhiều máy tính khác nhau cùng cung cấp một dich vụ

Các yêu câu gửi đi có thê khơng nhận được kêt quả trả vê vì khơng có gì đảm bảo sẽ tôn tại một máy nào đó có khả năng đáp ứng yêu câu đó

Do đặc điêm là các node có thê rời mạng bât kì lúc nào nên có thê bị ngắt kết nỗi tới các node này bất cứ thời điểm nào

1.2 Phân loại mạng ngang hàng

Mạng ngang hàng có nhiều tiêu trí phân loại khác nhau, trong luận văn này xIm được trình bày hai tiêu trí phân loại mạng ngang hàng đó là: Phân loại theo mức độ tập trung của các node mạng và phân loại theo cấu trúc liên kết của các node

1.2.1 Phần loại theo mức độ tập trung của các node mạng

Nếu lấy tiêu chí về mức độ tập trung của các node mạng, mạng ngang hàng có thê phân làm 2 loại: mạng ngang hàng thuần tuý và mạng ngang hang lai

a Mạng ngang hàng thuận tuý

Trang 12

Hình 2 Mơ hình mạng ngang hang thuan tuy b Mạng ngang hàng lai ghép

Trong mơ hình này, các peer lưu giữ nội dung chia sẻ với các node khác ở trên mang Tat cả các peer đều kết nối tới một server, server này lưu giữ thông tin về:

-_ Bảng thông tin kết nối của người dùng đăng kí (địa chỉ IP, băng thông

kết nỗi )

-_ Bảng liệt kê danh sách các file mà các peer năm giữ và chia sẻ ở trên mang cùng với các thông tin mô tả về các files ( tên file, ngày tạo ) Tât cả các peer muôn kêt nôi vào mạng đêu phải liên lạc với server và thông báo với server các file mà nó có

Một peer mà mn tìm kiêm một file, yêu câu tìm kiêm được chuyên cho

server, server tìm kiêm trong thông tin chỉ mục của mình và trả lại danh sách các

Trang 13

Nie oP

“Đau,

Hình 3 Hệ thống mạng ngang hàng lai ghép

1.2.2 Phân loại theo câu trúc liên kết

Mạng phủ bao gồm tất cả các node mạng đại điện cho các máy tham gia và các liên kết giữa các node mạng này Một liên kết tôn tại giữa hai node mạng khi

một node mạng biết vị trí của node mạng kia Dựa vào cấu trúc liên kết trong

mạng phủ người ta có thể phân loại mạng ngang hàng thành hai loại: mạng ngang hàng khơng có cấu trúc và mạng ngang hàng có cấu trúc

a Mạng ngang hàng khơng có cầu trúc

Một mạng ngang hàng được gọi là mạng ngang hàng không có cấu trúc khi liên kết giữa các node trong mạng phủ được thiết lập ngẫu nhiên (tức là không theo một quy luật nào cả) Những mạng như vậy dễ dàng xây dựng vì khi một node muốn tham gia mạng có thê lẫy liên kết có sẵn của một node khác đang ở trong mạng và sau đó dan dan tự bản thân nó sẽ thêm vào các liên kết mới của riêng mình

Trong mạng ngang hàng khơng có cấu trúc, khi một node muốn tìm kiếm một dữ liệu, thì yêu cầu tìm kiếm sẽ truyền trên toàn bộ mạng để tìm ra càng

Trang 14

13

chia sé trong một vải máy thì xác suất tìm thấy là rất nhỏ Tính chất này là hiển nhiên trong mạng ngang hàng khơng có cấu trúc vì khơng có bất kỳ mối tương quan nào giữa một máy và dữ liệu của nó quản lý trong mạng, do vậy yêu cầu tìm kiếm được chuyển một cách ngẫu nhiên đến một số máy trong mạng Số máy trong mạng càng lớn thì khả năng tìm thấy thơng tin càng nhỏ Do khi muốn tìm kiếm trên mạng ngang hàng khơng có cấu trúc, u cầu tìm kiếm được phát trên tồn mạng nên khơng có cấu trúc định hướng, một yêu cầu thường chuyên cho số lượng lớn các máy tính trong mạng làm tiêu tốn băng thông, dẫn

đến hiệu quả tìm kiếm thấp

Một mơ hình mạng ngang hàng khơng cấu trúc điển hình đó là mạng Gnutella Các máy tính trong Gnutella được mô tả như là những “servent”, các thành viên trong mạng và được chia sẻ file Các máy tính khác có thê lẫy được những file chia sẻ này Việc tìm kiếm file trên mạng mô tả trong hình 4, khi một máy tính A tìm kiếm file X, nó sẽ gửi một truy vẫn broadcast tới tất cả các máy tính nó biết, được coi là hàng xóm của nó Truy vấn sau đó sẽ được chuyên dan qua các bước và tới được máy tính có chứa file X Gnutella có mã nguồn mở và có giao thức mô tả rõ ràng trên mạng Internet, bất cứ ai quan tâm cũng có thế tìm hiểu và phát triển để tạo ra một mạng ngang hàng của riêng mình với các

/¬#Ý oN ge KY tính năng mn có | ~ AI ¬— Source A

Trang 15

b Mạng ngang hàng có cầu trúc

Mạng ngang hàng có cấu trúc khắc phục nhược điểm của mạng không cấu trúc băng cách sử dụng hệ thống Bảng Băm Phân Tán (DHT: Distributed Hash Table) Hệ thống này định nghĩa liên kết giữa các nút mạng trong mạng phủ theo một thuật toán cụ thê, đồng thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đối với một phần đữ liệu chia sẻ trong mạng Với cầu trúc này, khi một

máy cần tìm một dữ liệu, nó chỉ cần áp dụng một giao thức chung để xác định

nút mạng nào chịu trách nhiệm cho đữ liệu đó và sau đó liên lạc trực tiếp đến nút mạng đó để lẫy kết quả Việc tìm kiếm thơng tin trên mạng ngang hàng có cầu trúc cũng nhanh hơn so với mạng ngang hàng không có cấu trúc Nếu như mạng ngang hàng khơng có cấu trúc các máy tính gửi thơng điểm broadcast đề tìm kiếm thơng tin thì trong mạng ngang hàng có cẫu trúc một máy tính chỉ cần gửi thơng điệp tìm kiếm qua một số máy tính Giao thức tìm kiếm chung trong mạng sẽ đảm bảo thơng tin sẽ được tìm thấy Một số mạng ngang hàng có cau

trúc nổi tiếng như: Chord, CAN, Kademlia, pastry trong đó Chord và CAN

được mô tả chỉ tiết, đã được mô phỏng và cho kết quả qua các bài báo Trong phân tiếp theo luận văn xin trình bày chỉ tiết về giao thức mạng Chord

1.3 Mạng ngang hàng có cấu trúc dựa trên DHT(Distributed Hash Table)

1.3.1 Giới thiệu DHT

Các nghiên cứu về DHT được bắt nguồn cùng với sự phát triển của các hệ thống P2P như Napster, Gnutella, và Freenet, những hệ thống này sử dụng lợi thế của các tài nguyên phân tán trên mạng Internet để cung cấp một ứng dụng đơn hữu dụng Cụ thể, chúng đã sử dụng lợi thế tăng băng thông và sức chứa của ô cứng còn nhàn rối của các Peer đê cung câp dịch vu chia sé file

Những hệ thống này khác nhau ở cách thức thực hiện việc tìm kiếm dữ liệu

mà các peer quản lý Napster sử dụng một server trung tâm: mỗi node khi tham gia vào mạng sẽ gửi một danh sách các file được lưu trữ ở máy lên cho server, server sẽ xử lý các truy vấn, tìm các file trong danh sách, rồi gửi đường dẫn tới node chứa các file cần tìm Thành phần trung tâm này tạo ra một điểm yếu trong hệ thống vì có thể bị tấn cơng hoặc có thể bị kiện cáo về bản quyén Gnutella va những mạng tương tự chuyên sang sử dụng mô hình phát tràn các thơng điệp truy vấn (flooding query model), mỗi truy vẫn được đưa ra tương ứng với việc

Trang 16

15

đủ tránh được điểm yếu của thành phần trung tâm như trên, thì phương pháp này

lại kém hiệu quả hơn so với Napster Cuối cùng Freenet thực sự là phân tán, nó

sử dụng cơ chế routing dựa trên khóa, mỗi file được gán một khóa, các khóa gan giống nhau sẽ cùng được lưu ở một tập các node Các truy vấn sẽ được định tuyến đi trong mạng mà không phải ghé thăm tất cả các node có trên mạng Tuy nhiên, Freenet không đảm bảo đữ liệu sẽ được tìm thấy

DHT su dung co ché dinh tuyén dựa trên khóa trên một kiến trúc mạng chặt chẽ hơn để có thể đạt được cả tính phân tán về tài nguyên của Gnutella và Freenet, tính hiệu quả về truy vẫn của Napster Có một hạn chế là DHT chỉ hỗ

trợ tìm kiếm chính xác chứ khơng hỗ trợ tìm kiếm theo từ khóa, hay tìm kiếm

theo khoảng, tuy nhiên các chức năng này có thể triển khai mở rộng trên nền DHT

Distributed hash tables (DHTs) 1a hé théng mang phân tán, cung cấp các dich vu tim kiém dua vao bảng băm Bảng băm là một cặp ( tên, giá trị) Mỗi một node khi tham gia vào mạng có thể dễ dàng tìm thấy giá trị mong muốn dựa vào tên của giá trị đó Việc hình thành tên (khóa) và gắn các khóa đó với giá trị tương ứng được thực hiện trực tiếp tại các node trong mạng, chính vì vậy khả năng sập mạng được giảm tối thiểu khi các node tham gia hoặc dời bỏ mạng Chính lý do này khiến khả năng mở rộng của mạng DHT là cực lớn, quá trình kiêm soát việc tham gia, dời bỏ mạng của các node cũng trở nên dê dàng hơn

Với cầu trúc vững mạnh, DHT được sử dụng để xây dựng nhiều ứng dụng phức tạp như: Hệ thống các file phân tán, hệ thống chia sẻ file ngang hàng, hệ thống nội dung phân tán, tin nhắn tức thời, Multicast Các mạng DHT nổi tiếng thường được nhắc đến 1a: Bittorrent, eDonkey network, Yacy

Một số mạng based - DHT đầu tiên như CAN, Chord được giới thiệu cùng thời gian năm 2001 Từ đó lĩnh vực nghiên cứu này trở lên khả sôi động Công nghệ DHT đã được sử dụng như một thành phần của BitTorrent

DHT nhân mạnh vào các thuộc tính sau:

e_ Không tập trung (Decentralization): Cac node tham gia câu thành hệ thơng khơng có thành phần trung tâm làm điều phối mạng

e_ Khả năng mở rộng: Hệ thống vẫn có thê hoạt động hiệu quả với

Trang 17

e Kha nang chiju loi: Hé thong van có thê làm việc ôn định ngay cả

khi có các sự kiện node tham gia, rời bỏ, lỗi diễn ra liên tục

Kỹ thuật khóa được sử dụng dé dat duoc mục đích là mỗi node chỉ cần liên

kết với một số ít các node khác trong hệ thống, thường là O(logn) với n là số node tham gia Vì vậy sự thay đổi trong các thành viên chỉ ảnh hưởng đến một phân nhỏ của hệ thống

Một số thiết kế DHT tìm đến tính bảo mật chống lại những người tham gia ác tâm và cho phép người tham gia giấu danh tính, mặc dù điều này không phô biến trong các hệ thống P2P chia sẻ file

Cuối cùng, DHT phải giải quyết những vấn đề cơ bản của các hệ thống phân tán đó là cân bằng tải, tính tồn vẹn đữ liệu, hiệu năng (cụ thé la dam bảo

các hoạt động như định tuyến, lưu trữ, truy vẫn phải được thực thi nhanh chóng)

1.3.2 Mạng chord

Theo một đánh giá tổng hợp về các thuật toán định tuyến dựa trên DHT trong các kiến trúc mạng khác nhau như hình trịn (ring, với giao thức Chord), hình cây (tree), hình hộp (hypercube, với giao thức CAN), .xét về sự linh hoạt trong việc định tuyến, khả năng phục hồi trạng thái cũng như khả năng chịu lỗi, kiến trúc Ring đều được đánh giá cao Vì vậy, kiến trúc Chord[1] thường hay

được sử dụng như là mạng phủ để thực hiện các cài đặt cải tiến việc các ứng

dụng, xử lý trên P2P có cấu trúc

a M6 hinh mang Chord

Chord[1] được mô tả dưới dạng một vịng trịn và khơng gian định danh

phân bồ đều trên vòng tròn tăng dần theo chiều kim đồng hồ Nếu gọi N là số bit định danh của không gian thì mạng Chord có thể chứa tối đa 2Ì node Mỗi node trên Chord có một định danh iđ và duy trì liên kết 2 chiều với node đứng liền trước và liền sau nó theo chiều kim đồng hồ tạo thành một mạch liên kết vòng

Node liền trước được goi la Successor(id), va node liền sau được gọi là

Predecessor(id) Thêm vào đó, một node sẽ lưu một bảng định tuyến gọi là Finger Table, cho phép node đó định tuyến tới các node ở xa Mỗi dòng trong bảng Finger Table sẽ lưu thông tin về 1 node ở xa, gọi là 1 entry Không gian

Trang 18

17

finger table keys start| int |succ | 6 |

1 |[1.⁄2)| 1 2 | (2,4)| 3 4 | [4,0)| 0

finger table keys

Start] int |succ | 1 |

2 |[2.3)| 3 3 |[3.5)| 3 5 |[5/1)| 0

finger table keys Start! int 'succ 2 |

4 |[45)} 0 5 |[57)| 0 7 |[73)| 0

Hình 5 Một mạng Chord với 3 node 0, 1, 3 và các bảng Finger Table ứng với mdi node N = 3 bit nén cé 3 entry

Các trường trong mỗi entry trong bảng Finger Table được định nghĩa trong bảng dưới: Notation Definition Finger[k].start (n+2*1) mod 2" 1<k<m —., interval - | (mngerlklstartfngerlkdllstart | node | Fñtnodie>nfñngdlkldrn `

_Ñueesr | The next node on ther identifier |

circle;

Finger[1].node

| Predecessor | The previous node on the identifier |

circle

Trong do gia tr] cua trường node tai dong 1 của bang duoc coi nhu 1a finger thir i cua node n Thong tin luu trong bang ciing bao gém ca IP va Port cua cac node lién quan Node dau tién trong bang Finger Table cia n chinh 1a Successor của n, hay con dugc goi la Immediate Successor

Trang 19

+ Mỗi node chỉ cần lưu trữ thông tin của một số node nhất định trong bảng định tuyến của mình

+ Node biết thông tin về các node gần nó nhiều hơn là các node ở xa

+ Băng cách sử dụng bảng Einger Table một node n có thể xác định được vị trí của bất kỳ khóa nào trên mạng

b Anh xạ khóa vào một node trong Chord

Chord[ 1 | ánh xạ các khóa vào các node, thường sẽ là một cặp key và value

Một value co thé la 1 address, 1 vin ban, hodc 1 mục đữ liệu Chord có thể thực

hiện chức năng này bằng cách lưu các cặp key/value ở các node mà key được ánh xạ Một node sẽ chịu trách nhiệm lưu giữ một khóa k nếu node đó là node có định danh ¡d nhỏ nhất va id lon hơn k Một node khi lưu giữ khóa k cũng sẽ được gọi là Successor của k, ký hiệu là Successor(k)

Fal 7 i@ successor(1) = 1

successor(2)= 3

successor(6) =0

Hình 6 Lưu giữ key trong mạng Chord: node 0 lưu key 6, node 1 lưu key 1 và node 3 lưu key 2

c Tim kiém trong mang Chord

Khi một node n cần tìm kiếm một khóa có định danh id, node n sé tim node

Trang 20

19

Một ví dụ được chỉ trong hình §, giả sw node 3 muốn tìm successor của ID

= 1 (hoặc còn có thể coi là khóa) ID =1 thuộc khoảng [7, 3) Node 3 kiểm tra

entry thứ 3 trong bảng định tuyến của nó, là 0 Bởi vì 0 nằm ngay trước 1 trên vòng tròn, node 3 sẽ hỏi node 0 để tìm successor của 1 Tiếp theo, node 0 sẽ tìm trong bảng định tuyến của nó và suy ra successor của 1 chính là node 1, và trả lời node 3 rằng node 1 chính là successor của khóa ID = I

d Tham gia và Ôn định mạng

Trong 1 mạng động, thường xuyên có sự thay đối với các node tham gia và

rời khỏi bất kì lúc nào Để có thể xác định được vị trí của các khóa ở trong

mạng, Chord cần thỏa mãn 2 điểm sau:

e©_ Mỗi successor của một node phải được duy trì đúng

e_ Với mỗi khóa k, node successor(k) có trách nhiệm quản lý k

Khi tham gia vào một mạng Chord, một node n cần chọn cho nó một định danh id và báo cho các node bên cạnh biết sự tham gia của nó Các node

Successor và Predecessor sẽ cần phải cập nhật thông tin về node mới tham gia vào mạng Node n cũng khởi tạo bảng định tuyến Finger Table Để mạng vẫn định tuyến đúng sau khi có sự tham gia của node n, các node cần thường xuyên chạy thuật tốn ơn định mạng dé cap nhat thong tin vé node bén canh (hay node láng giềng) Một số node có lưu thơng tin vé n trong bang Finger Table thi can cap nhat cdc entry lién quan trong Finger Table Cudi cling, node Successor cla n sẽ chuyển một phần khóa k mà bây giờ n là Successor(k) cho n lưu giữ Việc chuyển khóa sẽ do tang trên của ứng dụng thực hiện

Khi một node chuân bị rời khỏi mạng, nó cân thơng báo cho các node bên cạnh biệt đê ôn định lại mạng Node đó cũng sẽ chuyên các khóa nó lưu giữ cho node Successor của nó

1.4 Kết luận

Trang 22

21

CHƯƠNG 2 - CAN BANG TAI TREN MANG NGANG HANG CO CAU

TRUC

Cân bằng tải là một trong những điều kiện để giúp cho mạng có thể hoạt động một cách có hiệu quả Có rất nhiều các nguyên nhân dẫn đến mất cân bằng tải và đã có một số nghiên cứu và đã có các giải pháp cho vẫn đề cân bằng tải Trong chương này xin trình bày các nghiên cứu về một số nguyên nhân dẫn đến mật cần băng tải và một sô giải pháp cân bắng tải đã được công bô

2.1 Khái niệm về tải trên mạng ngang hàng

2.1.1 Khái niệm

Mục đích chính của các hệ thống P2P là chia sẻ tài nguyên sẵn có (bandwidth, storage, CPU power) giữa các peers sao cho người dùng có thê truy

van va str dụng một cách hiệu qua

“Hiệu quả” ở đây nghĩa là hệ thống phải đảm bảo sự phân chia “tải” càng đồng đều giữa các peers càng tốt —> cân bằng tải là vấn đề rất quan trọng đối với hệ thống P2P

Tải (Load/Workload ): phụ thuộc vào từng hệ thống P2P cụ thể:

- Số bít yêu cầu để lưu trữ đữ liệu

- Băng thông mạng

- Lượng thời gian mà CPU cân đề xử lý công việc Các kí hiệu:

n — số nodes trong hệ thống

l¡ — tải của n¡ tại một thời điểm cụ thể

c; — Kha nang tai (capacity) cua node cua nj, H¡ — hệ số sử dụng (utilization) của node Nj

_ili

/— đi

Khi p; > 1, node n bi “nang tải”, ngược lại node n được coi là “nhẹ

2939

tai”

› nodesn ln

a

Ponodem Cn

Trang 23

2.1.2 Node qua tai

Khé nang tai cia m6t node (C,Target): Là tải lớn nhất mà một node có thê nhận được

Với mỗi nút n; mà tải thực tế tại thời điểm bất kỳ vượt quá khả năng chịu tải

lớn nhất của nó thì nút n; gọi là quá tải (Overloaded) Một nút quá tải không có khả năng lưu trữ, định tuyến, hoặc tính tốn

2.1.3 Node có tải cao và Node có tải thấp

Như đã trình bày ở trên mỗi nút chỉ có một khả năng tải C¡ nào đó Theo lý thuyết khi một nút có tải chưa vượt quá C; vẫn chưa bị coi là quá tải Tuy nhiên trong thực tế khi các nút hoạt động cần phải có những xử lý tải trung gian (temporarily) do vậy tải có thể vượt quá khả năng tải C¡ Vì lý do đó mà ta đưa ra khái niệm nút có tải cao và nút có tải thấp

Mỗi nút được thiết lập ngưỡng tải cao U; và ngưỡng tải thấp L¡ Tuy nhiên việc xem xét nút có tải cao và nút có tải thấp cịn phụ thuộc vào từng thuật toán

cụ thể

2.2 Các nguyên nhân dẫn đến mất cân bằng tải trên các hệ thống DHT

Bên cạnh ưu điểm trong việc tô chức và truy vẫn dữ liệu một cách có câu trúc, các giao thức sử dụng DHT có một nhược điểm tồn tại và đã được đề cập

trong nhiều nghiên cứu, đó là: Sự phân tán dữ liệu giữa các nút trong hệ thống Dựa trên tính chất phân bố ngẫu nhiên kết quả của hàm băm, khi tính tốn đến độ phức tạp của truy vẫn hay phép gán dữ liệu trên DHT, người ta thường mặc định là dữ liệu phân bố gần như đồng đều giữa các nút Bên cạnh đó, các nút tham gia hệ thống cũng được coi là có khả năng như nhau về băng thông, lưu

trữ, xử lý của CPU Trong thực tế lại có một sự khác biệt lớn về tải giữa các

nút hay còn gọi là sự mất cân bằng tải Có thể có nhiều nguyên nhân dẫn tới việc mất cân bằng tải trên mạng ngang hàng, ở đây luận văn xin đưa ra bốn nguyên nhân chính dân đên mật cân băng tải

2.2.1 Định danh các node không cân bằng

Trang 24

23

thì sự khác nhau về kích cỡ của vùng nhỏ nhất và lớn nhất có thể lên tới O(NlogN)

Hình 7 Định danh các node không cân bang

2.2.2 Định danh dữ liệu không cân bằng

Giả sử vẫn đề định danh node đã được giải quyết, nếu đữ liệu được phân bỗ

quả tập trung vào một vùng thì cũng sẽ gây tình trạng “nặng tải” tại khu vực đó Nói cách khác, vị trí dat files cũng có thể gây ảnh hưởng lớn tới hiệu năng của hệ thống

@ - node gw - data

Hình 8 Dữ liệu các node không cân bằng

Kết quả mô phỏng hệ thống DHT Chord ở hình 9 với 4,096 node và khoảng 500,000 files dữ liệu cho thấy khơng có sự phân bố tối ưu đữ liệu trên

các node (hình trá1), thậm chí mơ phỏng với số files dữ liệu dao động từ 100,000

Trang 25

Phân bố tối ưu số 200

documents/nodes s o 150} # = w a § Š 100} 3 Ẻ s 3 5 * š S L Ễ = 50 ¬ = > a F s : , 0 : 0 200 400 600 800 1000 1200 ũ 200k 400k 600k 800k 1000k

Documents per node Number of documents in the DHT

Hình 9 Kết quả mô phỏng về sự phân bố dữ liệu không đều nhau 2.2.3 Hot spots

Một số nghiên cứu đã cho thấy mức độ thường xuyên truy vấn đến các files có thể dao động từ 1 — 3 lần Các tác giả đã phát hiện ra rằng trong các hệ thống

P2P hiện nay chỉ có 10% số các files được truy vẫn nhiều nhất và chiếm tới 60%

tông lưu thơng trên mạng Ví dụ các dữ liệu mà được nhiều người yêu thích (các file MP3 được nhiều người truy cập) và dẫn đến việc truy cập vào nút này nhiều

hơn, do đó nó phải chịu tải nhiều hơn các node bình thường khác tallat-song4.mp3 tallat-song3.mp3 @® - node g - data tallat-song1.mp3 tallat-song2.mp3 britney.mp3

Trang 26

25

2.2.4 Khả năng các node không cân bằng

Trong thực tế các nút tham gia vào mạng thường rất đa dạng và có khả năng (CPU, Storage, Bandwidth) là khác nhau, có những node khi tham gia vào mạng là những máy tính đời cũ kết nối Internet chậm (Dial Up), nhưng cũng có những máy tham gia vào mạng là các máy có cấu hình mạnh kết nối internet băng thông rộng(ADSL) Saroui và đồng nghiệp đã nghiên cứu 2 hệ thống chia sẻ files nổi tiếng là Napster va Gnutella cho thay mức độ chênh lệch về khả năng của các node có thể lên tới 3, thậm chí là 5 lần Trong một thực tế như vậy, nếu các vùng mà được gán cho các node yếu thì cho dù phân bố lưu trữ các files đữ liệu và truy vẫn trong hệ thong đạt được sự đồng đều thì vẫn xảy ra sự mat can bang tai nghiém trong

@ - node gw - data

Hình 11.Kha nang cdc nut khéng cAn bang

2.2.5 Nhận xét

Với những nguyên nhân đã nêu ở trên thì rõ ràng việc phân tán tải đồng đều trên hệ thống không thể chỉ đơn giản dựa vào các hàm băm Những kĩ thuật khác nhằm mục đích cân băng tải giữa các node cần được đưa vào áp dụng

2.3 Các giải pháp cân bằng tải

Trang 27

2.3.1 Hướng sử dụng server ảo

Theo hướng này mỗi node vật lý quản lý một hoặc nhiều server ảo với các định danh ngẫu nhiên được chọn từ không gian định danh Các server ảo hoạt động như các node tham gia mạng DHT Trong một hệ thống với các node có khả năng đồng đều cao, mỗi node vật lý cần duy trì O(logn) server ảo để làm giảm nhân tố mất cân băng xuống đến một hằng số Với một hệ thống DHT gồm nhiều node có khả năng chịu tải khác nhau, mỗi node vật lý sẽ chọn một s6 lượng server ảo tỷ lệ với khả năng của nó Sau đây luận văn xin trình bày một số thuật toán cân bằng tải thực hiện theo hướng này

a Sw dung Log(N) Virtual Servers

Tư tưởng của giải thuật cân bằng tải này khá đơn giản, đó là: sử dụng log(N)VS[4] cho mỗi node để cân bằng các không gian định danh node Giải

thuật này được xây dựng dựa trên thực tế là các định danh node không được

phân bố một cách đồng đều trên tồn bộ khơng gian định danh mà có phân bố rat gan với dạng phân b6 Poisson

Log(N) VS mac định tải được phân bố trong không gian định danh một cách đồng đều và khả năng các node là như nhau Chính vì vậy, nếu mỗi node có 1 VS thì dẫn tới khả năng một số node sẽ gặp phải tình trạng “nghẽn cơ chai” (nguyên nhân mất cân bằng tải thứ nhất đã nêu ở trên)

Theo Lí thuyết giới hạn trung tâm (Central Limit Theorem), nếu số lượng VS của mỗi node càng tăng lên thì các định danh node được phân bố đồng đều hơn trong không gian định danh Điều này đồng nghĩa với việc mức độ cân băng tải trong hệ thống càng cao hơn Tuy nhiên, việc mỗi node vật lí có q nhiều VS sẽ dẫn tới việc tăng thông tin quản trị nên giải thuật này đã đưa ra giải pháp là mỗi node sẽ có log(N) VS Ví dụ minh họa ở hình 12 cho thấy, trong quá trình ra nhập mạng, mỗi node tự hình thành một số VS và mỗi VS ra nhập hệ thống

Trang 28

27 Slack Capacity L„V: ra Ts nodes: (a) (3) 1 VS per noe (a [E] 3 V5 per node

Hình 12.C4n bang tai stv dung Log(N) Virtual Servers

Đánh giá: Log(N) VS đơn giản và hoạt động tốt với giả thiết rằng sự phân bồ về tải là đồng đều nhau và các node có khả năng như nhau Tuy nhiên, việc tăng thêm số lượng VS sé lam nay sinh một số vẫn đề

Thứ nhất, khi các node ra/vào mạng thường xuyên, chúng phải mang theo

các VS của node đó và sẽ dẫn tới mất log(N) lần điều chỉnh

Thứ hai, mỗi node phải tăng thêm log(N) lần việc lưu trữ thông tin quản trị VS cũng như thơng tin tìm kiếm Bên cạnh đó, số bước tìm kiếm cũng tăng lên

khi hệ thống có nhiều VS hơn

b Phương pháp Proportfion

Giải thuật Proportion[4] đề cập tới việc giải quyết vẫn đề các nút tham gia hệ thống có khả năng khác nhau Với giải thuật này, khi tham gia vào mạng mỗi nút vật lý sẽ tạo ra một SỐ lượng các Về tuỳ theo khả năng của nút Bên cạnh đó,

thơng tin về tải trước đó cũng được tính đến Sau bước đầu tiên này, mỗi nút sẽ

tự tính toán việc thêm hoặc bớt tải mà không liên hệ với bất cứ node nào khác

Mỗi node sau khi đã tham gia hệ thống sẽ định thời chạy thuật toán Proportion-Adjust để tự tạo mới hoặc loại bỏ một số VS Nếu một node đã quá

tải và đang có nhiều hơn 1 VS, nó sẽ chọn VS chịu tải ít nhất có thể làm cho

node trở thành nhẹ tải để loại bỏ (dòng 2-3 của giải thuật ) Nếu một node là nhẹ tải, nó sẽ tạo thêm 1 VS nếu điều đó khơng làm nó trở thành nặng tải (dịng 4-6)

Hình 13 mơ tả một cách trực quan quá trình loại bỏ hay tạo mới VS của một

node

Proportion-Apsusr()

1 (Initially create VSs in proportion to capacity )

2 if overloaded and VSset.size > 1

Trang 29

4 if underloaded and w+ <U

VSet.size

and VSset.size < VSset.maxsize

6 then Create VS.id < h(x + VSset.size ) I mm K—— LumibB= I lun Se I — I == I I (al fal (b) 1) I

load shedaing load aoquilsttian

Hình 13 Tao mdi VS (a) va loai b6é VS (b)

Đánh giá: Thuật toán Proportion cho phép các node có khả năng khác nhau khi

tham gia vào hệ thơng có thê linh hoạt điều chỉnh tải cho mình, điều đó giúp

thực hiện việc cân bằng tải cho hệ thống Tuy nhiên, việc các node độc lập thực hiện điều chỉnh tải có một số nhược điểm Trước hết, một node chỉ với một vài VS thì khơng thể đánh giá một cách chính xác về hiệu quả của việc tao ra 1 VS

mới Bên cạnh đó, nếu một node quá tải và loại bỏ 1 VS của nó thì điều này có

thể gây nên tình trạng nặng tải với các node khác và dẫn tới việc phải loại bỏ

hàng loạt VS Cuỗi cùng, khi toàn hệ thống đang ở tỉnh trạng nhẹ tải, thuật toán

sẽ dẫn tới việc tất cả các node tạo ra số lượng tối đa VS cho phép, điều này sẽ làm tăng đáng kê số bước tìm kiếm hoặc tình trạng mất ốn định khi các node ra khỏi mạng (vì khi một node rời mạng thì các VS của nó sẽ bị loại bỏ)

c.Phương pháp di chuyển Virtual Server (Transfer)

Giải thuật Transfer[4] hướng vào việc điều chỉnh tải của các node trong hệ thống theo phương pháp “động” Nguyên tắc của giải thuật này như sau: Mỗi

node vật lí chọn một số lượng nhất định các định danh và mỗi định danh sẽ được

đành cho một VS Các node nặng tải sử dụng thuật toán Transfer liên hệ với các node nhẹ tải để yêu cầu được đi chuyển một phân tải của mình (thực chất là gán

lai VS gitta cac node nay) Gia st goi node h là nặng tải, node | la nhẹ tải Việc

di chuyển các VS v giữa các node phải thỏa mãn các ràng buộc sau: 1 Việc di chuyển v từ # sang / không làm cho 7 thành node nặng tải

Trang 30

29

3 Nếu khéng co VS nao cé thé di chuyén dé A tré thanh nhe tai thì đi chuyển VS “nang nhat” tir A sang /

Thuat toan Transfer duoc minh hoa tai Hinh 14

I l a 1 ij we l a H = = ' LÍ l I (ay io} ‘ SỐ I l (a) (a) (D)

transter Sollt and transter

Hinh 14 Node nặng tải di chuyển VS sang node nhẹ tải (nếu chỉ có 1 VS mà vẫn nặng tải thì sẽ chia làm 2 VS để di chuyền)

Transrer()

1 if !overloaded

2 then return

3 if VSset.size > 1

4 then Contact node n at random

5 Choose v € VSset such that:

6 (a) Transferring Vv to N will not overload n 7 (b) v is the least loaded virtual server

8 that will halt overload;

9 Failing that, let v be most loaded VS 10 else v € VSset [0]

11 Create VS.id —yig em? mod D

12 TRANSFER

Giải thuật Transfer có 03 phương pháp di chuyên VS, đó là: “one-to-one”, “one-to-many”, “many-to-many” [2]

Phương pháp One — to — One

Trang 31

Định kì thời gian liên hệ

VSs được di chuyên

Node ngẫu nhiên

Hình 15 Phuong phap One - to - One

Phương pháp này dễ dàng thực hiện trong một mơ hình phân tán Mỗi nút chịu tải nhẹ có thê định kỳ lấy 1 ID ngẫu nhiên rơi sau đó thực hiện thao tác tìm

kiếm đề tìm ra nút chịu trách nhiệm với ID đó Nếu nút đó là nút chịu tải nặng thì một sự dịch chuyển có thê thực hiện giữa 2 nút

Trong phương pháp này chỉ có nút chịu tải nhẹ mới thực hiện thăm dò; Nút tải nặng không thực hiện bất cứ thăm dò nào Đặc điểm của phương pháp này:

- Các nút tải nặng được giảm bớt sức nặng của việc thắm dò

- Khi một hệ thống tải rất nặng và hầu hết các nút chịu tải nặng khơng có sự nguy hiêm nào cho việc tải của mạng khác hoặc bị thât bại

- Nêu tải của một nút tương ứng với độ dài của không gian I[D mà nút đó sở hữu một đâu dị ngẫu nhiên sẽ được thực hiện bởi nút tải nhẹ để tìm ra nút tải nặng

Phương pháp One — ífo — Many

Không giống như phương pháp đầu tiên phương pháp này cho phép tại một

thời điêm Ì nút tải nặng xem xét nhiêu hơn một nút tải nhẹ

Lay h biéu thị cho nút tải nặng và lấy là, l›, ,l, là một tập các nút tải nhẹ

được xem xét bởi h với mỗi cặp (h,l;) chúng ta lấy một server ảo v; Chọn nút tải nhẹ nhất mà làm cho nút h tải nhẹ, nếu khơng có server như vậy số lượng các server vị (1<i<k) được dịch chuyên

Chúng ta thực hiện phương pháp này bằng việc duy trì các Directory mà

lưu trữ thông tin tải về một tập các nút tải nhẹ trong hệ thống Sử dụng hệ thống

DHT giống nhau để lưu trữ các Directory này Giả sử răng có đ Directory trong hệ thống Một nút tải nhẹ l được băm vào một Directory băng việc sử dụng một

hàm băm tốt h° mà cho ta giá trị trong đoạn [0,d) Một Drrectory 1 được lưu trữ

Trang 32

31

Virtual

servers

Hình 16 Phương pháp One - to - Many

Một nút chịu tải nhe | sé thông báo định kỳ tới tải đích và tải hiện tại để nút i=h(h°()), nút chịu trách nhiệm cho Directory h'() Lần lượt, các nút tải nặng sẽ định kỳ lấy mẫu các Directory đang tồn tại Một nút tải nặng n lấy ngẫu nhiên ke[0,d] và gửi thơng tin về tải đích của nó và tải của tất cả các server ảo tới nút j=h(h’(k)) Ở trên nhận như là một thông báo, nút j như là nút chịu tải nhẹ trong

Directory cua no, dé tim ra server ảo tốt nhất mà có thê dịch chuyển từ n tới một

nút chịu tải nhẹ trong Directory của nó Q trình xử lý này sẽ lặp lại cho đến

khi tất cả các nút trở thành tải nhẹ

Phuong phap Many —- to — Many

Phương pháp này là sự mở rộng của hai phương pháp trên Trong khi phương pháp thứ nhất chúng ta thấy phù hợp với một nút chịu tải nặng và một nút chịu tải nhẹ, ở phương pháp thứ 2 phương pháp phù hợp với một nút chịu tải nặng và nhiều nút chịu tải nhẹ, trong phương pháp này chúng ta thấy nó phù hợp

với nhiều nút chịu tải nặng và nhiều nút chịu tải nhẹ

Phương pháp này cho phép nhiều nút chịu tải nặng và nhiều nút chịu tải

nhẹ tương tác lẫn nhau, chúng ta sử dụng khái niệm “Global pool” của các

server ảo, một bước trung gian di chuyển các server ảo từ một nút chịu tải nặng

tới một nút chịu tải nhẹ “Pool” là một cấu trúc đữ liệu được sử dụng để tính

tốn vị trí cuối cùng; khơng có tải nào thực sự bị di chuyển cho đến khi thuật

toán kết thúc

Trang 33

(leave) hệ thống DHT Tuy nhiên, phương pháp này bộc lộ 02 nhược điểm quan

trọng

Thứ nhất, việc duy tri cac Directory D 6 cac node vat li lam mat di mot dac

điểm quan trọng của hệ thống đó là tính phân tán vì thực chất một số nodes phải liên hệ với Directory D để lấy thông tin theo hình thức “tập trung” (tương tự như Client/Server) Trong trường hợp node chứa Directory D gặp sự cố, vẫn đề cân băng tải của khu vực này chắc chắn sẽ bị ảnh hưởng nghiêm trọng

Thứ hai, node chứa Directory D là xác định, ít thay đơi nên đây chính là điểm yếu dé bi tan công, và hậu quả tương nhự như ở nhược điểm thứ nhất, vẫn

đề cân bang tải không thể thực hiện được

Nhận xét

Qua việc phân tích và đánh giá về các giải thuật cân bằng tải tiếp cận theo hướng sử dụng server ảo luận văn nhận thấy, giải pháp sử dụng server ảo còn tồn tại một số yếu điểm, chắng hạn như để quản lý được các server ảo thì mỗi node phai duy trì khá nhiều liên kết đến các server ảo đó, thông thường số liên

két nay la O(logn)

2.3.2 Huwéng khong sir dung server ao

Theo hướng này mỗi định danh trong không gian địa chỉ sẽ tương ứng với mot node vat ly trong mang Dé đạt được sự cân bằng trong hệ thống các giải pháp đưa ra đều phải dịch chuyển định danh của các node trong hệ thống khi có

một node tham gia hoặc rời khỏi hệ thống Một thuật tốn điển hình đi theo

hướng này đó là cân bằng tải theo ngưỡng

Thuật toán cân bằng tải theo ngưỡng

Thuật toán cân bằng tải theo ngưỡng luôn duy trì được tải của mỗi node dưới một ngưỡng ö nào đó Một node trong mạng sẽ cố gắng chuyên tải cho các node khác khi tải của nó tắng quá ngưỡng 6 Xét một dãy các ngưỡng

T = cổ" y s ° ` ` A » A ` a ° a? 2 aA y

Trang 34

Ww YY YU C8 SS ø\yyy 2 XQ ASS 0) Iga | PRX "ÑY | > SQ gy o SOO (8) (0)

Hình 17 (a) Node A chuyén tai cho node lang riéng B va (b) Chuyển định danh của node C vào giữa A và B Độ cao của mỗi hình tương ứng là biểu diễn tải của các

node

Ý tưởng của thuật toán cân bằng tải theo ngưỡng được mô tả như sau: khi

tải của một node n trong mạng vượt quá một ngưỡng T; nào đó thì đầu tiên nó cố

gắng chuyên tải cho một trong hai láng riêng có tải nhỏ hơn Nếu cả hai láng riéng đều có tải lơn hơn va không thê nhận được tải nữa thì nó tìm một node nhẹ tải trong mạng và có tải nhỏ nhất, nhờ node này nhận tải hộ bằng cách dịch

chuyển định danh của node nhẹ tải vừa tìm được vào giữa node n và

predecessor của n Để tìm một node nhẹ tải, node n phát một thông điệp hỏi Successor của n, successor của n tính tốn tải của nó và gửi trả lời node n nếu nó thỏa mãn điều kiện node nhẹ tải có thể dịch chuyển được Ngược lại, successor của n phát tiếp thông điệp để hỏi node tiếp theo trong vòng Chord (node tiếp theo theo chiều kim đồng hồ) Quá trình này tiếp tục cho đến khi tìm được một

node nhẹ tải thỏa mãn điều kiện, hoặc là duyệt hết các node mà khơng tìm được

node nào thỏa mãn

Đã có một số tác giả đê xuất phương pháp cân bằng tải theo hướng nay, cụ thể là:

Theo tac gia H Feelif, M Kitsuregawa, and B C Ooi:

Khi tải của một Node trong hệ thống vượt quá một ngưỡng nào đó thì nó thực hiện việc cân bằng tải theo các bước sau:

a) Xác định tải của các láng riềng của nó để chọn ra láng riềng có tải nhỏ hơn b) Chuyển tải của nó sang láng liếng có tải nhỏ vừa tìm được ở bước a

Trang 35

Cy C

Hình 18 Node A có tải vượt quá ngưỡng Node B có tải thấp hơn trong hai láng

riêng của A Tải được chuyền từ Node A cho Node B

Theo tac gia Prasanna Ganesan

Đưa ra một cải tiến dựa vào phương pháp cân băng tải theo ngưỡng: Tác giả thấy răng: nếu các Node láng riềng có tải cao thì việc cân bằng tải khi hệ thống đạt đến mức độ cân bằng thì lượng tải di chuyển trong hệ thống sẽ nhiều hơn khi định danh lại thứ tự các Node Nếu một trong 2 Node láng riêng có thể

nhận được tải thì nó sẽ chun tải cho Node láng riềng đó

A

[ Vif Vy

Trang 36

35

Nếu các Node láng riềng khơng nhận được tải thì nó sẽ đi tìm Node có tải thấp nhất trong hệ thơng và nhờ Node đó chịu tải hộ

AL

eA Ne Lá bà

QJ

Hình 20 Node A có tải vượt quá ngưỡng, node E chuyền tái cho F, E di chuyển vi tri dén giữa A và B đề nhận tải

Giải pháp này tải giữa các Node được di chuyên thực sự Tác giá Jonathan Ledlie

Sử dụng ý tưởng của các tác gia: H Feelif, M Kitsuregawa, and B C Ooi và Prasanna Ganesan đã giới thiệu ở trên Tác giả có hai cải tiễn

-_ Sử dụng khái niệm Utilization (Hệ số sử dụng) thay cho Workload bởi vì

thuật tốn ban đầu đã giả thiết các nút có khả năng tải giống nhau

Trang 37

THRESHOLD(v t)

1 v.level, — log, (2) | e

2 if v.level, < v.level,_ 3 then return

4 vw’ — adjacent neighbor with lowest level 5 if v’ level < v.level;

6 then A — (1 — 2) x dist(pred(v),v) 7 if wv’ = pred(v)

8 then pred(v).id — pred(v).id +A

9 else vid — vid —A

10 else /* find new predecessor */

1] S — set of log(.N) random VSs 12 Choose s € S such that:

3 (a) s is the least utilized 14 (b) we + Weuce(s) < Gsucels)

15 s.id — pred(v).id + dest pree(v).v) mod D Threshold’s load balancing algorithm

Mỗi nút cho duy nhất một VS, các ID đã chọn ngẫu nhiên khi khởi tạo Thuật toán cân bằng tải được thực hiện theo các bước ở trên Với thuật toán này nó thực hiện cân băng tải cho một node với VS là v vào thời điểm t Các nút thiết đặt gia tri Unitization hién tai cua minh dén khi tang đến một mức nào đó Khi một node đó tăng đến một ngưỡng p Nếu Level của một nút tăng lên thì nó bắt đầu thực hiện cân bằng tải, trước hết nó sẽ xem xét nhờ các hàng xóm của mình để nhờ chịu tải hộ, trước tiên VS v sẽ xem xét điều chỉnh với Successor và Predecessor Nếu như Predecessor nhẹ tải hơn so với v, ID của nó sẽ được địch chuyên về phía v, như vậy v được giảm tải v cũng có thể di chuyên ID của nó

về phía Predecessor khi đó tải của v được chuyển cho Successor chiu tai ho

Trong trường hợp các hàng xóm khơng chịu tải hộ được, nó sẽ đi tìm một node nhẹ tải trong hệ thống và đi chuyển nút đó tới cạnh v để giảm tải cho v nhưng

với điều kiện khi nút mà có thể chịu tải hộ cho v di chuyến đi thì nó khơng làm

Trang 38

37

Thơng điệp tìm kiếm

Node nhẹ tải

yo :

Hình 21 Node A có tải vượt quá ngưỡng: Node G là nhẹ tải khi di chuyển không làm cho Successor(G) bị quá tải; di chuyền vị trí của G đến giữa A và B đề G chịu

tải Theo giải pháp này

- Tải của các Node không được di chuyển mà chỉ là di chuyển định danh của các Node (Mục đích của cân bằng tải là cân bằng số Query truy vẫn đến các Node)

- Số lượng các thông báo phát ra để đi tìm một Node nhẹ tải tối thiểu là Log(N) thơng báo

- Vì là chọn ngẫu nhiên Log(N) định danh nên chưa chắc đã tìm được Node có tải nhẹ thỏa màn điều kiện địch chuyền

Đánh giá: Các thuật toán cân bằng tải theo ngưỡng hoạt động hiệu quả khi trong mạng có tỷ lệ số node nặng tải so với số node nhẹ tải là thấp Trong trường hợp này node nặng tải thường chuyên tải ngay cho các node láng riềng, đo đó tải truy vấn để tìm node nhẹ tải giảm đáng kể

Ngược lại, khi tỷ lệ trên cao, các node trong mạng hầu hết đều quá tải, khả năng chuyến tải của node quá tải cho láng riềng hầu như không xảy ra, chính vì vậy tải truy vấn đề tìm node nhẹ tải tăng rất nhanh Chính điều này làm cho hệ

thống đạt độ cân băng chậm, thuật tốn khơng hiệu quả trong trường hợp này

Trang 39

2.3.3 Kết luận

Ngày đăng: 19/12/2015, 00:46

TỪ KHÓA LIÊN QUAN