Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
1,17 MB
Nội dung
1
ĐẠI
HỌ
C
QUỐ
C
GIA
HÀ
NỘI
TRƯỜNG
ĐẠI
HỌC
CÔNG
NGHỆ
ĐỖ CAO MINH
GIẢI PHÁPCÂNBẰNGTẢISỬDỤNG
CẤU TRÚCTHƯMỤCCHOMẠNG
NGANG HÀNGCÓCẤUTRÚC
LUẬN
VĂN
THẠC
SĨ
2
Hà Nội - 2010
MỤC LỤC……………………………………………………………………. …… 1
DANH MỤC THUẬT NGỮ………………………………………………….…… 3
DANH MỤC HÌNH VẼ…………………………………………………… …… 4
MỞ ĐẦU …………… …………………………….……………………….…………6
CHƯƠNG 1 - TỔNG QUAN VỀ MẠNGNGANG HÀNG……………………… 9
1.1 Tổng quan về mạngnganghàng 9
1.1.1 Khái niệm về mạngnganghàng 9
1.1.2 Ưu điểm của mạngnganghàng 10
1.1.3 Nhược điểm của mạngnganghàng 11
1.2 Phân loại mạngnganghàng 11
1.2.1 Phân loại theo mức độ tập trung của các node mạng 11
1.2.2 Phân loại theo cấutrúc liên kết 13
1.3 Mạngnganghàngcócấutrúc dựa trên DHT(Distributed Hash Table)
………………………………….……………………………………………….15
1.3.1 Giới thiệu DHT 15
1.3.2 Mạng chord 17
a. Mô hình mạng Chord 17
b. Ánh xạ khóa vào một node trong Chord 19
c. Tìm kiếm trong mạng Chord 19
d. Tham gia và ổn định mạng 20
1.4 Kết luận 20
CHƯƠNG 2 - CÂNBẰNGTẢI TRÊN MẠNGNGANGHÀNGCÓCẤU
TRÚC…………………………………….………………………………………… 22
2.1 Khái niệm về tải trên mạngnganghàng 22
2.1.1 Khái niệm 22
2.1.2 Node quá tải 23
2.1.3 Node cótải cao và Node cótải thấp 23
2.2 Các nguyên nhân dẫn đến mất cânbằngtải trên các hệ thống DHT 23
2.2.1 Định danh các node không cânbằng 23
2.2.2 Định danh dữ liệu không cânbằng 24
2.2.3 Hot spots 25
2.2.4 Khả năng các node không cânbằng 26
2.2.5 Nhận xét 26
3
2.3 Các giảiphápcânbằngtải 26
2.3.1 Hướng sửdụng server ảo 27
a. Sửdụng Log(N) Virtual Servers 27
b. Phương pháp Proportion 28
c.Phương pháp di chuyển Virtual Server (Transfer) 29
2.3.2 Hướng không sửdụng server ảo 33
Thuật toán cânbằngtải theo ngưỡng 33
2.3.3 Kết luận 39
CHƯƠNG 3 - ĐỀ XUẤT CẢI TIẾN THUẬT TOÁN CÂNBẰNGTẢI THEO
NGƯỠNG …………………………………… ……………………………… 40
3.1 Một số khái niệm 41
3.2 Thuật toán ThresholdPlus 41
3.3 Đánh giá: 46
CHƯƠNG 4 - ĐÁNH GIÁ HIỆU QUẢ CỦA GIẢIPHÁP ĐỀ XUẤT DỰA TRÊN
MÔ PHỎNG ………………………………………………… ………………… 48
4.1 Ảnh hưởng thời gian sống của một node tới các thuật toán cânbằng tải….48
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ânbằngtải 49
4.3 Ảnh hưởng của câu truy vấn dạng Zipf tới các thuật toán cânbằngtải …50
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ó: 51
4.5 Kết luận 52
CHƯƠNG 5 - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN………………… 54
5.1 Kết luận 54
5.2 Hướng phát triển tiếp theo 54
4
THUẬT NGỮ
Thuật ngữ Ý 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 mangnganghàng
có cấutrúc
Client/Server Máy khách/ Máy chủ
DHT (Distributed Hash Table ) Bảng băm phân tán
Directory Node Thưmục ; Đóng vai trò lưu trữ các
thông tin tải của các node
Entry
Một bản ghi trong bảngdùng để lưu thông
tin về các đặc tả tài nguyên tại mỗi node
Finger Table Bảng định tuyến
Host Ports Node được truy cập với tần số cao
Identify Định danh
Key Khóa
LBM (Load Balancing Matrix) Ma trận cânbằngtải
Load Tải
Load-balancing Cânbằngtả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ạngnganghàng
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 vấn
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
Workload Tải làm việc
5
DANH MỤC HÌNH VẼ
Hình 1. Mô hình mạngnganghàng 9
Hình 2. Mô hình mạngnganghàng thuần tuý 12
Hình 3. Hệ thống mạngnganghàng lai ghép 13
Hình 4. Tìm kiếm dữ liệu chia sẻ trong Gnutella 14
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 có 3 entry 18
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 19
Hình 7. Định danh các node không cânbằng 24
Hình 8. Dữ liệu các node không cânbằng 24
Hình 9. Kết quả mô phỏng về sự phân bố dữ liệu không đều nhau 25
Hình 10. Node Host spots 25
Hình 11.Khả năng các nút không cânbằng 26
Hình 12.Cân bằngtảisửdụng Log(N) Virtual Servers 28
Hình 13. Tạo mới VS (a) và loại bỏ VS (b) 29
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) 30
Hình 15. Phương pháp One - to - One 31
Hình 16. Phương pháp One - to - Many 32
Hình 17. (a) Node A chuyển tảicho node láng riềng B và (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.
34
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 35
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 B 35
Hình 20. Node A cótải vượt quá ngưỡng, node E chuyển tảicho F, E di chuyển vị trí
đến giữa A và B để nhận tải 36
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
38
6
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ảichothưmục 1 và thưmục 2 (các đường mũi tên nét đứt).43
Hình 23. Node A thực hiện cânbằng tải, node láng riềng B nhận tải hộ node A bằng
cách dịch chuyển định danh về phía A 44
Hình 24. Node A thực hiện cânbằng tải, node A chia tảicho node láng giềng B bằng
cách dịch chuyển định danh của A về phía B. 44
Hình 25. Node A hỏi thưmục 1 để tìm một node nhẹ tảicó thể dịch chuyển được
(đường mũi tên nét liên). Định danh 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). 45
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à Uniform. 49
Hình 27. Số câu truy vấn đặt vào một node thay đổi, truy vấn được phân bố ở dạng
Zipf và Uniform 50
Hình 28. Truy vấn đặt vào các node ở dạng phân bố Zipf với tỷ lệ thay đổi. 51
Hình 29. So sánh ThresholdPlus với Tranfer và Propotion. 52
7
MỞ ĐẦU
Một kiểu kiến trúcmạng mới với tên là mạngnganghà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 toá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ạngnganghàng trong những năm gần đây thúc
đẩy sự ra đời của nhiều ứng dụngmạng như các hệ thống chia sẻ file, tìm kiếm
thông tin, tính toán lưới… Mạngnganghàngcócấutrú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 dựng trên mạngnganghàngcó
cấu trúccần phải giải quyết vấn đề cânbằngtải trong mạngnganghàngcócấu
trúc.
Có hai hướng tiếp cận chính cho các thuật toán cânbằngtả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ânbằngtả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ânbằ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ânbằngtả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ạngngang hàng, những khái niệm cơ
bản về mạngnganghà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ânbằngtải trên mạngngang hàng, một số
nguyên nhân dẫn đến mất cânbằng tải, các giảipháp đã được đề xuất và phân
tích về các giảipháp này.
8
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ảiphápcânbằng trên mạngnganghàngcócấutrú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ânbằngtải theo
ngưỡng.
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ânbằngtả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
tôi.
9
CHƯƠNG 1 - TỔNG QUAN VỀ MẠNGNGANGHÀNG
Trong chương này, luận văn sẽ giới thiệu khái quát về mạngngang hàng,
các đặc điểm, các hình thức phân loại của mạngngang hàng, khái niệm về DHT
và mạnghàngcócấutrúc đồng thời giới thiệu về một số mạngnganghàng đã và
đang được ứng dụngcó hiệu quả.
1.1 Tổng quan về mạngnganghàng
1.1.1 Khái niệm về mạngnganghàng
Mạng nganghà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ẻ dữ 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ạngnganghàng
10
Ứng dụng thường xuyên gặp nhất của mạngnganghà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
gian thực… . Việc sửdụngmạngnganghàngmang lại nhiều ưu điểm cho người
dùng . Luận văn xin trình bày một số ưu điểm của mạngngang hàng.
1.1.2 Ưu điểm của mạngnganghàng
Mục đích quan trọng của mạngnganghà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 toá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ạngnganghàngcó khả năng xử lý
cao hơn cả những máy chủ lớn hiện nay, do đó sửdụngmạngnganghàngcó 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ạngnganghàngcó 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ạngnganghà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
vấn đề 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ạngnganghàng cũng
còn tồn tại một số nhược điểm
[...]... ta có thể phân loại mạngnganghàng thành hai loại: mạngnganghàng không cócấutrúc và mạngnganghàngcócấutrúc a Mạngnganghàng không cócấutrúc Một mạngnganghàng được gọi là mạngnganghàng không cócấutrú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ó. .. còn tồn tại trong mạng DHT và các hướng giải quyết luận văn xin tiếp tục trình bày ở các chương sau 22 CHƯƠNG 2 - CÂNBẰNGTẢI TRÊN MẠNGNGANGHÀNGCÓCẤUTRÚCCânbằngtải là một trong những điều kiện để giúp chomạngcó 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ânbằngtải và đã có một số nghiên cứu và đã có các giảiphápcho vấn đề cânbằngtải Trong chương này... thức chung để xác định nút mạng nào chịu trách nhiệm cho dữ 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ạngnganghàngcócấutrúc cũng nhanh hơn so với mạngnganghàng không cócấutrúc Nếu như mạngnganghàng không cócấutrúc các máy tính gửi thông điểm broadcast để tìm kiếm thông tin thì trong mạngnganghàngcócấutrúc một máy tính chỉ cần... áp dụng việc cânbằngtảicho các Node láng riềng 35 B B 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 tác giả Prasanna Ganesan Đưa ra một cải tiến dựa vào phương pháp cânbằngtả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ânbằngtải khi hệ thống đạt đến mức độ cânbằng thì lượng tả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ạngnganghàngcó thể phân làm 2 loại: mạngnganghàng thuần tuý và mạngnganghàng lai a Mạngnganghàng thuần tuý Trong mạngnganghàng thuần tuý thì vai trò của các máy trong mạng là ngang nhau và trong mô hình mạng này đã loại bỏ sự tồn tại của các máy chủ tập trung Trong mạng này đã khắc phục được vấn... là hàng xóm của nó Truy vấn sau đó sẽ được chuyển dần 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ạngnganghàng của riêng mình với các tính năng muốn có Hình 4 Tìm kiếm dữ liệu chia sẻ trong Gnutella 15 b MạngnganghàngcócấutrúcMạngnganghàngcó cấu. .. hiệu quả bởi mạngnganghàngcócấutrúc nhờ vào việc áp dụng những kiến trúc DHT Tuy nhiên, một trong những vấn đề trọng tâm cầngiải quyết trong mạng DHT là làm thế nào để cânbằngtải giữa các node tham gia trong hệ thống Yếu tố gây mất cân bằngtải trước hết là khả năng không giống nhau của các node 21 tham gia vào mạng và một số yếu tố khác cũng dẫn tới việc mất cân bằngtải trong mạng, như việc... xảy ra sự mất cân bằngtải nghiêm trọng - node - data Hình 11.Khả năng các nút không cânbằng 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ânbằngtải giữa các node cần được đưa vào áp dụng 2.3 Các giải phápcânbằngtải Đã có nhiều nghiên cứu về cânbằngtải được các... trong mạngnganghàng không cócấutrú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ạngnganghàng không cócấu trúc, yêu cầu tìm kiếm được phát trên toàn mạng nên không cócấu trúc. .. thuật toán cânbằngtả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 Tj nào đó thì đầu tiên nó cố gắng chuyển tảicho 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 và 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 . 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. dịch vụ cho các ứng dụng xây dựng 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