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ỤNGCẤUTRÚCTHƯMỤCCHOMẠNGNGANGHÀNGCÓCẤUTRÚCLUẬ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ải phá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ẢI PHÁ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àngcó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ấutrú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 dungluậ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ải pháp đã được đề xuất và phân tích về các giải phá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ải phá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àngMạngnganghà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àngMụ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ạngngang 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ải phá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. .. 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. .. 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ần giả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... 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 . 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. 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Ĩ 2 Hà Nội - 2010 MỤC LỤC…………………………………………………………………… muốn có. Hình 4. Tìm kiếm dữ liệu chia sẻ trong Gnutella 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