ĐẠI HỌC QUỐC GIA HÀ NỘI 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 MỤC LỤC…………………………………………………………………… …… DANH MỤC THUẬT NGỮ………………………………………………….…… DANH MỤC HÌNH VẼ…………………………………………………… …… MỞ ĐẦU …………… …………………………….……………………….…………6 CHƯƠNG - TỔNG QUAN VỀ MẠNG NGANG HÀNG ……………………… ERROR! BOOKMARK NOT DEFINED 1.1 Tổng quan mạng ngang hàng Error! Bookmark not defined 1.1.1 Khái niệm mạng ngang hàng Error! Bookmark not defined 1.1.2 Ưu điểm mạng ngang hàng Error! Bookmark not defined 1.1.3 Nhược điểm 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 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 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 node Chord Error! Bookmark not defined c Tìm kiếm mạng Chord Error! Bookmark not defined d Tham gia ổn định mạng Error! Bookmark not defined 1.4 Kết luận Error! Bookmark not defined CHƯƠNG - 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 tải mạng ngang hàng Error! Bookmark not defined 2.1.1 Khái niệm Error! Bookmark not defined 2.1.2 Node tải Error! Bookmark not defined 2.1.3 Node có tải cao Node có tải thấp Error! Bookmark not defined 2.2 Các nguyên nhân dẫn đến cân tải hệ thống DHT Error! Bookmark not defined 2.2.1 Định danh node không cân Error! Bookmark not defined 2.2.2 Định danh liệu không cân Error! Bookmark not defined 2.2.3 Hot spots Error! Bookmark not defined 2.2.4 2.2.5 Khả node không cân Error! Bookmark not defined Nhận xét Error! Bookmark not defined 2.3 Các giải pháp cân 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 tải theo ngưỡng Error! Bookmark not defined 2.3.3 Kết luận Error! Bookmark not defined CHƯƠNG - ĐỀ 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 - ĐÁ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 node tới thuật toán cân tải… Error! Bookmark not defined 4.2 Ảnh hưởng số lượng câu truy vấn tới thuật toán cân tải Error! Bookmark not defined 4.3 Ảnh hưởng câu truy vấn dạng Zipf tới thuật toán cân tải …Error! Bookmark not defined 4.4 So sánh kết thực nghiệm thuật toán Threshol Plus với thuật tốn có: Error! Bookmark not defined 4.5 Kết luận Error! Bookmark not defined CHƯƠNG - 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 5.2 Hướng phát triển Error! Bookmark not defined THUẬT NGỮ Thuật ngữ Based -DHT Broadcast Chord Client/Server DHT (Distributed Hash Table ) Directory Entry Finger Table Host Ports Identify Key LBM (Load Balancing Matrix) Load Load-balancing Node Overload P2P (Peer to Peer network) Partial query Ý nghĩa Dựa bảng băm phân tán Một thông điệp truyền tới tất trạm Một giao thức dựa mang ngang hàng có cấu trúc Máy khách/ Máy chủ Bảng băm phân tán Node Thư mục ; Đóng vai trò lưu trữ thơng tin tải node Một ghi bảng dùng để lưu thông tin đặc tả tài nguyên node Bảng định tuyến Node truy cập với tần số cao Định danh Khóa Ma trận cân tải Tải Cân tải Thực thể có khả thực cơng việc hữu ích trao đổi kết với thực thể khác qua mạng cách trực tiếp gián tiếp Quá tải Mạng ngang hàng Truy vấn phần Predecessor(n) Query Successor(n) Target Unilization Workload Node đứng liền sau n (Tính theo chiều kim đồng hồ) Truy vấn Node đứng liền trước n (Tính theo chiều kim đồng hồ) Tải lớn mà node nhận Hệ số sử dụng Tải làm việc DANH MỤC HÌNH VẼ Hình Mơ hình mạng ngang hàng Error! Bookmark not defined Hình Mơ hình mạng ngang hàng t Error! Bookmark not defined Hình Hệ thống mạng ngang hàng lai ghép Error! Bookmark not defined Hình Tìm kiếm liệu chia sẻ Gnutella Error! Bookmark not defined Hình Một mạng Chord với node 0, 1, bảng Finger Table ứng với node N = bit nên có entry Error! Bookmark not defined Hình Lưu giữ key mạng Chord: node lưu key 6, node lưu key node lưu key Error! Bookmark not defined Hình Định danh node khơng cân Error! Bookmark not defined Hình Dữ liệu node không cân Error! Bookmark not defined Hình Kết mơ phân bố liệu không Error! Bookmark not defined Hình 10 Node Host spots Error! Bookmark not defined Hình 11.Khả nút không cân Error! Bookmark not defined Hình 12.Cân tải sử dụng Log(N) Virtual Servers Error! Bookmark not defined Hình 13 Tạo VS (a) 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 có VS mà nặng tải chia làm 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 Hình 17 (a) Node A chuyển tải cho node láng riềng B (b) Chuyển định danh node C vào A B Độ cao hình tương ứng biểu diễn tải node Error! Bookmark not defined Hình 18 Node A có tải vượt ngưỡng Node B có tải thấp hai láng riềng A Tải chuyển từ Node A cho Node B Error! Bookmark not defined Hình 19 Node A có tải vượt q ngưỡng Node B có tải thấp láng riềng A Tải chuyển cho node B Error! Bookmark not defined Hình 20 Node A có tải vượt ngưỡng, node E chuyển tải cho F, E di chuyển vị trí đến A B để nhận tải Error! Bookmark not defined Hình 21 Node A có tải vượt ngưỡng; Node G nhẹ tải di chuyển không làm cho Successor(G) bị tải; di chuyển vị trí G đến A B để G chịu tải Error! Bookmark not defined Hình 22 Các node nhẹ tải A F hỏi successor (các đường mũi tên nét liên) thơng báo tình trạng tải cho thư mục thư mục (các đường mũi tên nét đứt) Error! Bookmark not defined Hình 23 Node A thực cân tải, node láng riềng B nhận tải hộ node A cách dịch chuyển định danh phía A Error! Bookmark not defined Hình 24 Node A thực cân tải, node A chia tải cho node láng giềng B cách dịch chuyển định danh A phía B Error! Bookmark not defined Hình 25 Node A hỏi thư mục để tìm node nhẹ tải dịch chuyển (đường mũi tên nét liên) Định danh node nhẹ tải E chuyển đến predecessor(A) 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 node thay đổi, câu truy vấn thực với phân bố Zipf Uniform Error! Bookmark not defined Hình 27 Số câu truy vấn đặt vào node thay đổi, truy vấn phân bố dạng Zipf Uniform Error! Bookmark not defined Hình 28 Truy vấn đặt vào 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 Propotion Error! Bookmark not defined MỞ ĐẦU Một kiểu kiến trúc mạng với tên mạng ngang hàng (Peer to Peer P2P) phát triển nhanh chóng internet Trong hoạt động mạng chủ yếu dựa vào khả tính tốn băng thơng máy tham gia không tập trung vào số nhỏ máy chủ trung tâm mạng thông thường Sự phát triển nhanh chóng mạng ngang hàng năm gần thúc đẩy đời nhiều ứng dụng mạng 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 đời đảm bảo cho tính hiệu khả mở rộng ứng dụng Tuy nhiên, để đảm bảo chất lượng dịch vụ cho ứng dụng xây dựng mạng ngang hàng có cấu trúc cần phải giải vấn đề cân tải mạng ngang hàng có cấu trúc Có hai hướng tiếp cận cho thuật tốn cân tải là: hướng tiếp cận dựa server ảo (virtual server) hướng tiếp cận không dựa server ảo Trong luận văn tập trung vào hướng tiếp cận không dựa server ảo đưa giải thuật cải tiến giải thuật cân tải theo ngưỡng Giải thuật đưa cho phép node q tải tìm xác nhanh chóng node phù hợp để thực việc cân tải Chúng cài đặt thử nghiệm thuật toán đề xuất điều kiện mạng gần với thực tế thấy thuật toán giải tốt vấn đề cân tải node mạng Nội dung luận văn gồm chương cụ thể cho chương sau: Chương 1: Giới thiệu tổng quan mạng ngang hàng, khái niệm mạng ngang hàng đồng thời giới thiệu giao thức Chord, giao thức sử dụng để triển khai mạng phủ DHT xây dựng chương trình mơ Chương 2: Tìm hiểu vấn đề cân tải mạng ngang hàng, số nguyên nhân dẫn đến cân tải, giải pháp đề xuất phân tích giải pháp Chương 3: Trên sở vấn đề tìm hiểu chương Chúng tơi đề xuất giải pháp cân mạng ngang hàng có cấu trúc theo hướng khơng sử dụng server ảo Đó giải thuật cải tiến giải thuật cân tải theo ngưỡng Chương 4: Trình bày cách thực chương trình mơ đồng thời trình bày kết đánh giá giải thuật cân tải dựa mô chúng tơi Chương 5: Trình bày cơng việc mà thực được, vấn đề tồn luận văn hướng phát triển TÀ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 [6] Y Zhu and Y Hu., Efficient, proximity-aware load balancing for DHTbased 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://wwwdbs.cs.uni-sb.de/lehre/ws03_04/P2P-seminar.htm [9] P.Ganesan, M Bawa, H G Molina, Online Balancing of Range-Partitioned Data with Application to Peer-to-Peer Systems Proceeding of the 30th 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 ... bảo cho tính hiệu khả mở rộng ứng dụng Tuy nhiên, để đảm bảo chất lượng dịch vụ cho ứng dụng xây dựng mạng ngang hàng có cấu trúc cần phải giải vấn đề cân tải mạng ngang hàng có cấu trúc Có hai... tích giải pháp Chương 3: Trên sở vấn đề tìm hiểu chương Chúng tơi đề xuất giải pháp cân mạng ngang hàng có cấu trúc theo hướng khơng sử dụng server ảo Đó giải thuật cải tiến giải thuật cân tải... tâm mạng thông thư ng Sự phát triển nhanh chóng mạng ngang hàng năm gần thúc đẩy đời nhiều ứng dụng mạng 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