TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ CAO MINH 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 THẠC SĨ Hà Nội - 2010... 4.1 Ảnh hưởng thời gian sống của
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ CAO MINH
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 THẠC SĨ
Hà Nội - 2010
Trang 2MỤ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ẠNG NGANG HÀNG ……… ERROR! BOOKMARK NOT DEFINED 1.1 Tổng quan về mạng ngang hàng Error! Bookmark not defined 1.1.1 Khái niệm về mạng ngang hàng Error! Bookmark not defined 1.1.2 Ưu điểm của mạng ngang hàng Error! Bookmark not defined 1.1.3 Nhược điểm của mạng ngang hàng Error! Bookmark not defined 1.2 Phân loại mạng ngang hàng Error! Bookmark not defined 1.2.1 Phân loại theo mức độ tập trung của các node mạng Error! Bookmark not defined 1.2.2 Phân loại theo cấu trúc liên kết Error! Bookmark not defined 1.3 Mạng ngang hàng có cấu trúc dựa trên DHT(Distributed Hash Table) ……….……….Er ror! Bookmark not defined 1.3.1 Giới thiệu DHT Error! Bookmark not defined 1.3.2 Mạng chord Error! Bookmark not defined a Mô hình mạng Chord Error! Bookmark not defined b Ánh xạ khóa vào một node trong Chord Error! Bookmark not defined c Tìm kiếm trong mạng Chord Error! Bookmark not defined d Tham gia và ổn định mạng Error! Bookmark not defined 1.4 Kết luận Error! Bookmark not defined CHƯƠNG 2 - CÂN BẰNG TẢI TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC……….………
ERROR! BOOKMARK NOT DEFINED
2.1 Khái niệm về tải trên mạng ngang hàng Error! Bookmark not defined
2.1.1 Khái niệm Error! Bookmark not defined
2.1.2 Node quá tải Error! Bookmark not defined
2.1.3 Node có tải cao và Node có tải thấp Error! Bookmark not defined
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 Error!
Bookmark not defined
2.2.1 Định danh các node không cân bằng Error! Bookmark not defined
2.2.2 Định danh dữ liệu không cân bằng Error! Bookmark not defined
2.2.3 Hot spots Error! Bookmark not defined
Trang 32.2.5 Nhận xét Error! Bookmark not defined
2.3 Các giải pháp cân bằng tải Error! Bookmark not defined
2.3.1 Hướng sử dụng server ảo Error! Bookmark not defined
a Sử dụng Log(N) Virtual Servers Error! Bookmark not defined
b Phương pháp Proportion Error! Bookmark not defined c.Phương pháp di chuyển Virtual Server (Transfer) Error! Bookmark not defined
2.3.2 Hướng không sử dụng server ảo Error! Bookmark not defined
Thuật toán cân bằng tải theo ngưỡng Error! Bookmark not defined
2.3.3 Kết luận Error! Bookmark not defined
CHƯƠNG 3 - ĐỀ XUẤT CẢI TIẾN THUẬT TOÁN CÂN BẰNG TẢI THEO NGƯỠNG
……… ……… E
RROR! BOOKMARK NOT DEFINED
3.1 Một số khái niệm Error! Bookmark not defined 3.2 Thuật toán ThresholdPlus Error! Bookmark not defined 3.3 Đánh giá: Error! Bookmark not defined
CHƯƠNG 4 - ĐÁNH GIÁ HIỆU QUẢ CỦA GIẢI PHÁP ĐỀ XUẤT DỰA TRÊN
MÔ PHỎNG
……… ……… E
RROR! BOOKMARK NOT DEFINED
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…
Error! Bookmark not defined
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
Error! Bookmark not defined
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
…Error! Bookmark not defined
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ó: Error! Bookmark not defined 4.5 Kết luận Error! Bookmark not defined
CHƯƠNG 5 - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
……… ERROR! BOOKMARK NOT DEFINED 5.1 Kết luận Error! Bookmark not defined
Trang 45.2 Hướng phát triển tiếp theo Error! Bookmark not defined
THUẬT NGỮ
có cấu trúc
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
tin về các đặc tả tài nguyên tại mỗi node
LBM (Load Balancing Matrix) Ma trận cân bằng tải
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
P2P (Peer to Peer network) Mạng ngang hàng
Trang 5đồng hồ)
Successor(n) Node đứng liền trước n (Tính theo chiều
kim đồng hồ)
DANH MỤC HÌNH VẼ
Hình 1 Mô hình mạng ngang hàng Error! Bookmark not defined Hình 2 Mô hình mạng ngang hàng thuần tuý Error! Bookmark not defined Hình 3 Hệ thống mạng ngang hàng lai ghép Error! Bookmark not defined Hình 4 Tìm kiếm dữ liệu chia sẻ trong Gnutella Error! Bookmark not defined
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 Error! Bookmark not defined
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 Error! Bookmark not defined Hình 7 Định danh các node không cân bằng Error! Bookmark not defined Hình 8 Dữ liệu các node không cân bằng Error! Bookmark not defined Hình 9 Kết quả mô phỏng về sự phân bố dữ liệu không đều nhau Error! Bookmark
not defined
Hình 10 Node Host spots Error! Bookmark not defined Hình 11.Khả năng các nút không cân bằng Error! Bookmark not defined Hình 12.Cân bằng tải sử dụng Log(N) Virtual Servers Error! Bookmark not defined Hình 13 Tạo mới VS (a) và loại bỏ VS (b) Error! Bookmark not defined
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) Error! Bookmark not defined Hình 15 Phương pháp One - to - One Error! Bookmark not defined Hình 16 Phương pháp One - to - Many Error! Bookmark not defined
Trang 6Hình 17 (a) Node A chuyển tải cho 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
Error! Bookmark not defined
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 Error! Bookmark not defined
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 Error! Bookmark not defined
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 Error! Bookmark not defined
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
Error! Bookmark not defined
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)
Error! Bookmark not defined
Hình 23 Node A thực hiện cân bằ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 Error! Bookmark not defined
Hình 24 Node A thực hiện cân bằng tải, node A chia tải cho node láng giềng B bằng
cách dịch chuyển định danh của A về phía B Error! Bookmark not defined
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 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) .Error!
Bookmark not defined
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 Error! Bookmark not defined
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 Error! Bookmark not defined Hình 28 Truy vấn đặt vào các node ở dạng phân bố Zipf với tỷ lệ thay đổi .Error!
Bookmark not defined
Hình 29 So sánh ThresholdPlus với Tranfer và Propotion .Error! Bookmark not
defined
Trang 7MỞ ĐẦU
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 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ạ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 toá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 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 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
Trang 8server ả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 đề 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 bằng tả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â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 tôi
Trang 9TÀI LIỆU THAM KHẢO
[1] I Stoica, R Morris, D Karger, M.F Kaashoek, H Balakrisnan, “Chord: A Scalable peer-to-peer lookup service for Internet applications”, In Proceedings of ACM SIGCOMM’01, August 2001
[2] Ananth Rao, Karthik Lakshminarayanan, Sonesh Surana, Richard Karp, and Ion Stoica Load Balancing in Structured P2P Systems In Proceedings IPTPS, 2003
[3] P B Godfrey and I Stoica., Heterogeneity and Load Balance in Distributed Hash Table Proceedings of IEEE INFOCOM, 2005: p 596-606
[4] J Ledlie and M Seltzer, Distributed, Secure Load Balancing with Skew, Heterogeneity, and Churn Proc IEEE INFOCOM, 2005
[5] D R Karger and M Ruhl., Simple efficient load balancing algorithms for peer-to-peer systems In Proc.of IPTPS, 2004
Trang 10[6] Y Zhu and Y Hu., Efficient, proximity-aware load balancing for DHT-based p2p systems IEEE Transactions on Parallel and Distributed Systems,
2005 VOL 16(4)
[7] J Byers, J.C., and M Mitzenmacher, Simple Load Balancing for Distributed Hash Tables In Proc of 2nd International Workshop on Peer-to-Peer Systems (IPTPS ’03), Berkeley, USA, February 2003
[8] Gerhard Weikum, “Peer-to-Peer Information Systems”, http://www-dbs.cs.uni-sb.de/lehre/ws03_04/P2P-seminar.htm
[9] P.Ganesan, M Bawa, H G Molina, Online Balancing of Range-Partitioned
VLDB Conference Toronto, Canada, 2004
[10] F Bustamante and Y Qiao Friendships that last: Peer lifespan and its
role in P2P protocols In Eighth International Workshop on Web Content Caching and Distribution, Hawthorne, NY, October 2003