Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

96 487 2
Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Đ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

Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

NGƠ HỒNG GIANG BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ THÔNG TIN 2006 - 2008 Hà Nội 2008 ĐÁNH GIÁ HIỆU NĂNG CỦA MỘT SỐ THUẬT TOÁN BẢNG BĂM PHÂN TÁN DHT VÀ ĐƯA RA GIẢI PHÁP CẢI TIẾN HIỆU NĂNG CỦA THUẬT TỐN CHORD NGƠ HỒNG GIANG HÀ NỘI 2008 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN 3898 ĐÁNH GIÁ HIỆU NĂNG CỦA MỘT SỐ BẢNG BĂM PHÂN TÁN DHT VÀ ĐƯA RA GIẢI PHÁP CẢI TIẾN HIỆU NĂNG CỦA THUẬT TOÁN CHORD NGƠ HỒNG GIANG Người hướng dẫn khoa học: TS NGUYỄN CHẤN HÙNG HÀ NỘI 2008 Luận văn tốt nghiệp Ngô Hoàng Giang BỘ GIÁO DỤC ĐÀO TẠO Cộng hoà xã hội chủ nghĩa Việt Nam TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI *** Độc lập – Tự – Hạnh phúc LỜI CAM ĐOAN Luận văn thạc sỹ nghiên cứu thực hướng dẫn Thầy giáo TS Nguyễn Chấn Hùng Để hoàn thành luận văn này, tài liệu tham khảo liệt kê, cam đoan không chép cơng trình thiết kế tốt nghiệp người khác Hà Nội, ngày 28 tháng 10 năm 2008 (Ký ghi rõ họ tên) Ngơ Hồng Giang Luận văn tốt nghiệp Ngơ Hồng Giang LỜI CẢM ƠN Trước hết vô biết ơn sâu sắc đến Thầy giáo TS Nguyễn Chấn Hùng – người trực tiếp dành nhiều thời gian tận tình hướng dẫn, cung cấp thơng tin q báu giúp đỡ tơi hồn thành luận văn Tôi xin chân thành cảm ơn Ban lãnh đạo Trung tâm mạng thông tin – Trường Đại học Bách khoa Hà Nội, nơi công tác tạo nhiều điều kiện động viên khích lệ để tơi hồn thành luận văn Sau tơi xin bày tỏ lịng biết ơn đến người thân bạn bè đồng nghiệp, người cổ vũ động viên tơi hồn thiện luận văn Hà Nội, ngày 28 tháng 10 năm 2008 Ngơ Hồng Giang Luận văn tốt nghiệp Ngơ Hồng Giang Mục lục LỜI CAM ĐOAN U U LỜI CẢM ƠN U U Mục lục U U Danh mục thuật ngữ U U Danh mục hình vẽ U U Danh mục thuật toán U U Danh mục bảng U U Lời mở đầu .10 U U Chương U Lý thuyết tổng quan 11 U 1.1 U U U Lý thuyết chung về mạng P2P 11 U U U 1.1.1 Khái niệm mạng P2P .11 1.1.2 Quá trình phát triển hệ thống P2P .12 1.1.3 Ứng dụng p2p 16 1.1.4 Các vấn đề mạng p2p 16 U U U U U U U U U U U U U U 1.2 U U U Lý thuyết Distributed Hash Table (DHT) 18 U U U 1.2.1 Hash Table (bảng băm) 18 1.2.2 Distributed Hash Table 18 U U U U U U 1.3 U U U Giới thiệu số DHT 20 U U U 1.3.1 Chord 21 1.3.2 Kademlia 30 1.3.3 Tapestry 33 1.3.4 Kelips .38 U U U U U U U U U U U 1.4 U U U U U U U Các phương pháp đánh giá, thử nghiệm mạng P2P 40 U U 1.4.1 Khảo sát simulator mô mạng overlay .41 1.4.2 P2PSim .42 U U U U U U U U Luận văn tốt nghiệp Chương U Ngơ Hồng Giang Đánh giá hiệu số DHT .43 U U U 2.1 Bài toán thực tế 43 2.2 Đánh giá hiệu số DHT .44 U U U U U U U U 2.2.1 Mục tiêu sở lý luận 44 2.2.2 Quá trình thực nghiệm phương pháp đánh giá hiệu 45 2.2.3 Xác định ngưỡng churn rate DHT làm việc tốt 47 2.2.4 So sánh hiệu DHT 53 2.2.5 Đánh giá ảnh hưởng tham số thiết hiệu DHT 63 Chương Cải tiến hiệu Chord 68 U U U U U U U U U U U U U U U U U U U U U U U U 3.1 Hạn chế giao thức Chord 68 3.2 Giải pháp cải tiến giao thức Chord 68 3.3 Giải pháp trì vịng dùng chế lock 69 U U U U U U U U U U U U 3.3.1 Mục tiêu 69 3.3.2 Cơ chế làm việc 69 U U U U U U 3.4 U U U Giải pháp caching proxy 79 U U U 3.4.1 Mục tiêu 79 3.4.2 Cơ chế làm việc 79 U U U U U U 3.5 U U U Giải pháp dùng nhân đối xứng cải tiến .87 U U U 3.5.1 Mục tiêu 87 3.5.2 Cơ chế làm việc 87 U U U U U U U U U Kết luận 92 U U Tài liệu tham khảo 93 U Luận văn tốt nghiệp Ngơ Hồng Giang Danh mục thuật ngữ Tiếng Anh Tiếng Việt Peer-to-peer Mạng ngang hàng Peer Đồng đẳng mạng ngang hàng Node Một thiết bị nối mạng (một peer) Item Một đơn vị liệu Structured Có cấu trúc Overlay Mạng xây dựng mạng khác Hash table Bảng băm Distributed hash table Bảng băm phân tán Join Gia nhập (mạng ngang hàng) Leave Rời khỏi (mạng ngang hàng) Failure Lỗi Churn rate Số lượng peer rời khỏi/gia nhập mạng khoảng thời gian Luận văn tốt nghiệp Ngô Hồng Giang Danh mục hình vẽ Hình 1.1 Mơ hình centralized directory .13 U U Hình 1.2 Mơ hình flooding request .14 U U Hình 1.3 Distributed Hash Table 20 U U Hình 1.4 (a) Một mạng Chord với node, item N=16 (b) Nguyên tắc chung U bảng routing table (c) Bảng routing table node node 11 23 U Hình 1.5 Quá trình node join vào mạng .28 U U Hình 1.6 (a) Bảng finger vị trí key sau node join (b)Bảng finger vị trí U key sau node leave .29 U Hình 1.7.Con trỏ node (0011) Kademlia 31 U U Hình 1.8 Minh họa cách chọn bảng định tuyến node Tapestry .34 U U Hình 1.9 Đường thơng điệp từ node 5230 tới node 42AD 36 U U Hình 1.10 Ví dụ Tapestry node publish item 37 U U Hình 1.11 Ví dụ Tapestry node tìm kiếm item 37 U U Hình 1.12 Mạng Kelips node phân tán 10 nhóm affinity trạng U thái node cụ thể 39 U Hình 2.1 Node join/leave với interval=600 s mạng Chord 100 node 46 U U Hình 2.2 Lưu đồ thuật tốn q trình xác định churn rate 48 U U Hình 2.3 Đồ thị biểu diễn tỷ lệ tìm kiếm thành cơng (fration of successful lookups) U theo băng thơng trung bình node sử dụng (average live bandwidth) mạng Kademlia 100 node (trái) 1000 node (phải) 49 U Hình 2.4 Đồ thị biểu diễn tỷ lệ tìm kiếm thành cơng theo băng thơng trung bình U node sử dụng mạng Chord 100 node (trái) 1000 node (phải) .50 U Hình 2.5 Đồ thị biểu diễn tỷ lệ tìm kiếm thành cơng theo băng thơng trung bình U node sử dụng mạng Kelips 100 node (trái) 1000 node (phải) 51 U Luận văn tốt nghiệp Ngơ Hồng Giang Hình 2.6 Đồ thị biểu diễn tỷ lệ tìm kiếm thành cơng theo băng thơng trung bình U node sử dụng mạng Tapestry 100 node (trái) 1000 node (phải) .52 U Hình 2.7 Đồ thị biểu diễn tỷ lệ tìm kiếm thành cơng theo băng thơng trung bình U node sử dụng mạng Chord với interval=5s (trái) interval=10s (phải) 55 U Hình 2.8 Đồ thị biểu diễn tỷ lệ tìm kiếm thành cơng theo băng thơng trung bình U node sử dụng Kelisp Tapestry với RTT=1s, 10s node join/leave với interval=5s (trái) 10s (phải) 56 U Hình 2.9 Đồ thị biểu diễn tỷ lệ tìm kiếm thành cơng theo băng thơng trung bình U node sử dụng mạng Chord 1000 node với interval=120s (trái) interval=600s (phải) 59 U Hình 2.10 Tác động churn rate tỷ lệ tìm kiếm thất bại (hình trên) độ trễ U tìm kiếm trung bình (hình dưới) mạng có kích thước khác 60 U Hình 2.11 Đồ thị biểu diễn tỷ lệ tìm kiếm thành cơng (hình trên) độ trễ tìm kiếm U trung bình (hình dưới) theo băng thơng trung bình node sử dụng mạng có kích thước khác với node join/leave với interval=600s 62 U Hình 2.12 Ảnh hưởng tham số “base” hiệu Tapestry (trái) U tham số “gossip interval” hiệu mạng Kelips mạng 1000 nodes node join/leave với interval=600s .65 U Hình 2.13 Biểu diễn convex hull successor stabilization interval (trái) finger U stabilization interval (phải ) mạng Chord 1000 node node join/leave với interval=600s 66 U Hình 3.1 Biểu đồ chuyển đổi trạng thái node Chord 70 U U Hình 3.2 Biểu đồ thời gian biểu diễn trình node jon vào mạng thành cơng 71 U U Hình 3.3 Biểu đồ thời gian biểu diễn trình node rời khỏi mạng .74 U U U Hình 3.4 Kiến trúc giải pháp caching proxy 80 U U Hình 3.5 Biểu đồ thời gian biểu diễn q trình caching thành cơng 81 U Luận văn tốt nghiệp Ngơ Hồng Giang Danh mục thuật tốn Thuật tốn 1.1 Giả mã tìm node successor ID n 25 U U Thuật toán 1.2 Giả mã cho hoạt động join vào mạng node 26 U U Thuật toán 1.3 Giả mã cho trình stabilization 27 U U Thuật toán 3.1 Thuật toán join tối ưu hóa .73 U U Thuật toán 3.2 Thuật toán leave tối ưu hóa 76 U U Thuật tốn 3.3 Q trình stabilization định kỳ để xử lý failure 78 U U U Thuật tốn 3.4 Q trình caching 81 U Thuật tốn 3.5 Đồng hóa vịng proxy vịng node Chord thơng thường 85 U U U Thuật tốn 3.6 Xử lý thay đổi vịng proxy 86 U Thuật tốn 3.7 Q trình tìm kiếm chèn giải pháp nhân đối xứng 89 U U Thuật toán 3.8 Join leave trường hợp nhân đối xứng 90 U U Thuật toán 3.9 Xử lý failure nhân đối xứng 90 U U U Thuật toán 3.10 Thuật toán bulk owner operation 91 U Luận văn tốt nghiệp Ngơ Hồng Giang Normal proxy Main proxy Normal node ring Proxy ring Hình 3.4 Kiến trúc giải pháp caching proxy 3.4.2.2 Q trình caching Xét ví dụ sau, node A tìm kiếm liệu K, liệu K lưu node 20B C Node B nằm trước node C Khi nhận yêu cầu tìm liệu K từ node A, node B trả kết tìm kiếm node C cho node A đồng thời trả kết (keyed, nodeid, ipaddress) cho main proxy chịu trách nhiệm cho node C Main proxy chuyển tiếp thông tin node C tới normal proxy chịu trách nhiệm cho node C Normal proxy cache lại thông tin event n.CacheReq sendto p.cache () end event event p.cache from n forwardto pi.cache() end event 80 Luận văn tốt nghiệp Ngơ Hồng Giang event pi.cache from p if KeyID exists in cache then if associated nodeid is in cache then ⊲ Ignore request else if associated nodeid is in replication groups then ⊲Add to cache else ⊲Replicate associated nodeID in cache end if else ⊲Add to cache end if end event Thuật toán 3.4 Quá trình caching Normal proxy Node A Main proxy keyid, nodeid, nodeip nodeid, nodeip {Add to cache} Hình 3.5 Biểu đồ thời gian biểu diễn trình caching thành cơng 81 Luận văn tốt nghiệp Ngơ Hồng Giang 3.4.2.3 Quá trình tìm kiếm Khi node tìm kiếm key, gửi đồng thời hai request, request thứ 21B tới main proxy tương ứng, request thứ hai gửi tới node đứng trước gần key bảng finger thuật toán Chord Request gửi tới main proxy chuyển tới proxy chịu trách nhiệm cho key cần tìm Nếu thơng tin key cache, proxy gửi thơng tin tới node tìm kiếm node tìm kiếm bỏ qua thơng điệp từ q trình tìm kiếm khác Nếu key chưa cache, proxy trả hệ số replication key Trong trường hợp này, node tìm kiếm key node có ID tính từ hệ số replication Request gửi tới node bảng finger xử lý thuật tốn Chord 3.4.2.4 Q trình trì 2B Duy trì vịng proxy Proxy khơng phải node Chord thông thường mạng, chúng server dành riêng làm nhiệm vụ proxy Các server có tính sẵn sang cao, tần suất gia nhập, rời khỏi mạng hay lỗi server thấp Cấu trúc overlay, trình trì (join/leave/failure) tương tự với vịng Chord Các proxy có chung danh sách main proxy Nếu proxy join vào vòng proxy main proxy, thơng báo với proxy khác cập nhật danh sách main proxy Nếu main proxy leave khỏi mạng, thơng báo với proxy khác để proxy xóa khỏi danh sách main proxy Nếu main proxy bị fail, successor predecessor thơng báo với proxy khác để cập nhật danh sách main proxy 82 Luận văn tốt nghiệp Ngơ Hồng Giang Nếu node join leave normal proxy, thơng báo với main proxy tương ứng để main proxy cập nhật danh sách proxy Nếu normal proxy bị fail, successor predecessor thơng báo với main proxy để cập nhật danh sách proxy Sao lưu: proxy lưu cache k proxy liên tiếp sau Khi proxy phát successor bị fail, thay proxy proxy cịn online danh sách proxy Đồng vịng proxy vịng node thơng thường Đồng node thông thường thay đổi Khi node join vào mạng, lấy danh sách main proxy từ successor Khi node leave khỏi mạng, thơng báo với caching proxy tương ứng với gửi successor tới proxy Proxy kiểm tra xem node leave khỏi mạng có cache khơng Nếu node cache, proxy chuyển key mà node chịu trách nhiệm sang successor node xóa node khỏi danh sách cache Khi node join vào mạng, gửi thơng tin successor tới proxy tương ứng Proxy kiểm tra xem successor cache chưa Nếu successor cache, key có ID < ID node join vào mạng chuyển tới node Khi node phát successor bị fail, thông báo với proxy tương ứng Nếu node cache proxy, proxy xóa node khỏi cache event n.Leave from app sendto p.NotifyLeave() end event 83 Luận văn tốt nghiệp Ngơ Hồng Giang event p.NotifyLeave from n sendto pi.NotifyLeave() end event event pi.NotifyLeave from p If n is not in cache then ⊲Ignore leaving node else If succ(n) is in cache then ⊲Merge cache of n to cache of succ(n) else ⊲Add succ(n) to cache end if endif end event event n.Join from app sendto p.NotifyJoin() end event event p.NotifyJoin from n sendto pi.NotifyJoin() end event event pi NotifyJoin from p If succ(n) is not in cache then ⊲Ignore joining node else If some cached keys of succ(n) belong to n then ⊲Add n to cache and move keys to n else ⊲Ignore joining node end if end if end event event p.NotifyFailure from successor of n sendto p.NotifyFailure() end event event pi.NotifyFailure from p sendto p.NotifyFailure() 84 Luận văn tốt nghiệp Ngơ Hồng Giang end event event pi.NotifyFailure if n is not in cache then ⊲Ignore failure node else ⊲Remove n from cache (or replicate by associate node) end if end event Thuật toán 3.5 Đồng hóa vịng proxy vịng node Chord thơng thường Đồng vòng proxy thay đổi Khi proxy join vào mạng, successor proxy chuyển key tương ứng với proxy join vào mạng sang cho proxy Nếu proxy join vào mạng normal proxy, thơng báo với main proxy tương ứng cập nhật lại danh sách proxy Nếu node join vào mạng main proxy, thơng báo với main proxy đứng trước để lấy danh sách proxy list cập nhật danh sách main proxy tất proxy Main proxy thông báo cập nhật danh sách main proxy node cache Khi proxy leave khỏi hệ thống, successor proxy chịu trách nhiệm cho key cache proxy leave Nếu proxy leave normal proxy, thơng báo với main proxy tương ứng để cập nhật danh sách proxy Nếu proxy leave main proxy, chuyển danh sách proxy sang main proxy sau thơng báo với proxy cập nhật lại danh sách main proxy Các proxy thông báo với node thông thường để node cập nhật lại danh sách main proxy Khi proxy phát successor fail, thay proxy proxy cịn hoạt động danh sách successor Nếu proxy fail normal proxy, successor hoạt predecessor thơng báo với main proxy tương ứng để main proxy cập nhật lại proxy list Nếu proxy bị fail main proxy, 85 Luận văn tốt nghiệp Ngơ Hồng Giang successor predecessor thơng báo với proxy khác node thông thường cập nhật lại danh sách main proxy Để cập nhật danh sách main proxy node thông thường, proxy thông báo danh sách main proxy cho node mà cache Node thông thường thông báo danh sách main proxy cho successor predecessor node vịng có danh sách main proxy (version giống nhau) Một node dừng việc thông báo danh sách main proxy cho successor predecessor danh sách main proxy giống với danh sách main proxy nhận từ successor predecessor Quá trình cập nhật trình lan tỏa nên kết thúc nhanh Quá trình xử lý join/leave/failure proxy tương tự node Chord thơng thường Giả mã xử lý thay đổi vịng proxy event p.MainProxyListChanged for node n in cache sendto n.NotifyMainProxyListChanged() end for end event event Notify MainProxyListChanged from p If is less than received from proxy or predecessor then # vn: version number of proxy list ⊲Replace its proxy list ⊲Forward proxy list to it successor and predecessor else ⊲Ignore received proxy list end if end event Thuật tốn 3.6 Xử lý thay đổi vịng proxy 86 Luận văn tốt nghiệp Ngơ Hồng Giang 3.5 Giải pháp dùng nhân đối xứng cải tiến 3.5.1 Mục tiêu Nhân đối xứng nhằm tăng cường tính sẵn sàng liệu tránh bottle-neck 3.5.2 Cơ chế làm việc Giải pháp dựa chế nhân đối xứng Nhân đối xứng 3.5.2.1 Ý tưởng nhân đối xứng ID i hệ thống cần có liên kết 23B với ID f khác Nếu ID i liên kết với ID f node chịu trách nhiệm cho item i chịu trách nhiệm cho item i item j Tương tự, node chịu trách nhiệm cho item j chịu trách nhiệm cho item i Mỗi ID hệ thống liên kết với tập f ID khác thỏa mãn: ID i liên kết với tập ID r1, ,rf , ID rx, với ≤ x ≤ f , liên kết với ID r1, ,rf Nói cách khác, khơng gian ID chia thành N/f lớp tương cho ID lớp liên kết với Để đơn giản, người ta thường sử dụng lớp với module m với m = N/f với N kích thước khơng gian ID Cho F = {1, , f }, ID i liên kết với ID f xác định công thức r : I x F → I: r(i, x) = i ⊕ (x − 1) + N/f Cơ chế nhân đối xứng cải tiến 3.5.2.2 Ý tưởng cải tiến key tìm kiếm với tần suất khác 24B nhân với hệ số nhân khác Các item hệ thống nhân mức khác Mọi node hệ thống nhân với hệ số (giống nhân đối xứng) Các node tìm kiếm nhiều nhân với hệ số bổ xung, node 87 Luận văn tốt nghiệp Ngơ Hồng Giang nhân số lớp khác Đối với node nhân them nhân khơng đối xứng, node không nhân item node lớp nhân bổ xung Các node lớp liên kết với ID i xác định sau: fk: rk(i, x) = i ⊕ (x − 1) + N/f + (k-1).N/f Với N/f < N/k or f > k k = mức nhân sở k > nhân bổ xung k tính từ proxy dựa tần suất tìm kiếm Quá trình trì Thuật toán join Khi node n join vào hệ thống, kích hoạt kiện JoinReplication, kiện gửi thông điệp RetrieveItems tới successor để lấy item n cần lưu Thông điệp bao gồm thông tin item nằm giải (pred,n], pred ID predecessor n ID Khi successor nhận thơng điệp RetrieveItems, khởi tạo mạng hai chiều rỗng ( f , N) Sau đó, item liên kết với ID giải xác định từ bảng HashTable cục tới mảng vừa tạo gửi trở lại thông điệp Replicate tới node vừa join vào mạng Khi nhận thông điệp Replicate, node join vào mạng item mảng vào bảng HashTable cục Node lúc sẵn sàng nhận truy vấn tìm kiếm từ node khác hệ thống Thuật toán leave Thuật toán leave làm việc tương tự thuật toán join Khi node muốn leave khỏi hệ thống, kích hoạt kiện LeaveReplication, kiện sử dụng kiện RetrieveItems để item mà chịu trách nhiệm gửi chúng thơng điệp Replicate tới node successor Thuật tốn chèn 88 Luận văn tốt nghiệp Ngơ Hồng Giang Để chèn item, node muốn chèn thực trình chèn song song tới node chịu trách nhiệm cho item event n.JoinReplication() from m sendto succ.RetrieveItems(pred, n, n) end event event n.LeaveReplication() from m sendto n.RetrieveItems(pred, n, succ) end event event n.RetrieveItems(start, end, p) from m for r := to f items[r] := Ỉ i := start while i 6= end i := i ⊕ items[r][i] := localHashTable[r][i] end while end for sendto p.Replicate(items, start, end) end event event n.Replicate(items, start, end) from m for r := to f i := start while i 6= end i := i ⊕ localHashTable[r][i] := items[r][i] end while end for end event Thuật toán 3.7 Quá trình tìm kiếm chèn giải pháp nhân đối xứng event n.InsertItem(key, value) from app for r := to f replicaKey := key ⊕ (r − 1)Nf n.Lookup(replicaKey,AddItem(replicaKey, r)) value, 89 Luận văn tốt nghiệp Ngơ Hồng Giang end for end event procedure n.AddItem(key, value, r) localHashTable[key][r] := value end procedure event n.LookupItem(key, r) from app replicaKey := key ⊕ (r − 1)Nf Lookup(replicaKey,GetItem(replicaKey, r)) end event procedure n.GetItem(key, r) return localHashTable[r][key] end procedure Thuật toán 3.8 Join leave trường hợp nhân đối xứng Thuật toán xử lý failure event n.FailureReplication( f ailed, predFailed, r) from m s := predFailed ⊕ (r − 1)Nf e := f ailed ⊕ (r − 1)Nf sendto n.StartBulkOwn((s, e], RetrieveItems(s, e, succ)) end event Thuật toán 3.9 Xử lý failure nhân đối xứng event n.StartBulkOwn(I, msg) from m sendto n.BulkOwn(I, I, n, msg) ⊲ Local message to itself end event event n.BulkOwn(I, R, next, msg) from m MS := R ∩ (u(M), n] ⊲ u(M) is same as pred if MS 6= Ỉ then Deliver(msg, MS) ⊲ App is responsible for ids in MS 90 Luận văn tốt nghiệp Ngơ Hồng Giang end if limit := n lnext := next sentsucc :=false for i := M downto ⊲ Node has M unique pointers J := (u(i), limit] if I ∩ J 6= Æ then K := (u(i − 1), u(i)] sendto u(i).BulkOwn(I ∩ J, I ∩ K, lnext, msg) I := I − J ⊲ Same as I := I − (I ∩ J) limit := u(i) lnext := u(i) if i = then sentsucc :=true end if end if end for J := (n, u(1)] if I ∩ J 6= Æ and sentsucc = false and next 6= u(1) then sendto u(1).BulkOwn(Ỉ, I ∩ J, limit, msg) end if end event Thuật toán 3.10 Thuật toán bulk owner operation 91 Luận văn tốt nghiệp Ngơ Hồng Giang Kết luận Sự phát triển mạnh mẽ đa dạng thiết bị truy cập mạng điện thoại, PDA, TV,… thách thức mạng structured overlay Với xuất thiết bị này, mạng trở nên bất ổn kéo theo sụt giảm nghiêm trọng hiệu mạng Cải tiến hiệu mạng điều kiện làm việc toán đặt cho cộng đồng nghiên cứu peer-to-peer Sau tóm tắt lý thuyết tổng quan peer-to-peer, luận văn đánh giá, phân tích so sánh hiệu DHT Chord, Kademlia, Kelips Tapestry điều kiện churn rate cao sử dụng phương pháp mô Dựa chế hoạt động Chord, kết hợp với kết mô phỏng, luận văn hạn chế giao thức Chord điều kiện churn rate cao đưa giải pháp nâng cao hiệu giao thức Trong giai đoạn tiếp theo, tác giả cài đặt giải pháp nâng cao hiệu Chord đánh giá kết đạt được, sở tác giả tiếp tục cải tiến giải pháp để Chord đạt hiệu suất cao môi trường truyền thơng khơng dây Trong q trình nghiên cứu, số kết nghiên cứu công bố báo quốc tế nước [ 15, 16, 17, 18] 92 Luận văn tốt nghiệp Ngơ Hồng Giang Tài liệu tham khảo [1] Jinyang Li, Jeremy Stribling, Robert Morris, M Frans Kaashoek and Thomer M Gil “A performance vs cost framework for evaluating DHT design tradeoffs under churn” [2] Ion Stoica, Robert Morris, David Karger, Frans Kaashoek, and Hari Balakrishnan “Chord: A scalable Peer-To-Peer lookup service for internet applications” In Proceedings of the 2001 ACM SIGCOMM Conference, pages 149–160, 2001 [3] Ali Ghodsi “Distributed k-ary System: Algorithms for Distributed Hash Tables”, PhD dissertation, KTH-Royal Institute of Technology, October 2006 [4] Ali Ghodsi, Luc Onana Alima, Seif Haridi Symmetric Replication for Structured Peer-to-Peer Systems, DBISP2P2005, The 3rd International Workshop on Databases, Information Systems and Peer-to-Peer Computing, August 28-29, 2005, Trondheim, Norway [4] Ruud van Kessel “Peer-to-peer storage: a survey on the common used techniques”, 2006 [5] S Rhea, D Geels, T Roscoe, and J Kubiatowicz, “Handling churn in a DHT,” in roceedings of the 2004 USENIX Technical Conference, June 2004 [6] J Li, J Stribling, T Gil, R Morris, and M F Kaashoek, “Comparing the performance of distributed hash tables under churn,” in Proceedings of the 3rd International Workshop on Peer-toPeer Systems, Feb 2004 [7] P Maymounkov and D Mazieres, “Kademlia: A peer-to-peer information system based on the XOR metric,” in Proceedings of the 1st IPTPS, Mar 2002 [8] I Gupta, K Birman, P Linga, A Demers, and R van Renesse, “Kelips: Building an efficient and stable P2P DHT through increased memory and background overhead,” in Proceedings of the 2nd IPTPS, 2003 [9] B Y Zhao, L Huang, J Stribling, S C Rhea, A D Joseph, and J D Kubiatowicz, “Tapestry: A resilient global-scale overlay for service deployment,” IEEE Journal on Selected Areas in Communications, vol 22, no 1, pp 41–53, Jan 2004 [10] K.P.Gummadi, R.Gummadi, S.Gribble, S.Ratnasamy , S.Shenker, and I Stoica, “The impact of DHT routing geometry on resilience and proximity,” in Proceedings of the 2003 ACM SIGCOMM, Aug 2003 [11] F Dabek, M F Kaashoek, J Li, R Morris, J Robertson, and E Sit, “Designing a DHT for low latency and high throughput,” in Proceedings of the 1st NSDI, March 2004 [12] A Gupta, B Liskov, and R Rodrigues, “Efficient routing for peer-to-peer overlays,” in Proceedings of the 1st NSDI, Mar 2004 [13] Eng Keong Lua, Jon Crowcroft, Marcelo Pias, Ravi Sharma and Steven Lim, “A Survey and Comparison of Peer-to-Peer Overlay Network Schemes” IEEE COMMUNICATIONS SURVEY AND TUTORIAL, MARCH 2004 [14] P2PSIM home page, http://pdos.csail.mit.edu/p2psim/ [15] Giang Ngo Hoang, Hung Nguyen Chan, Thang Le Quang, “Performance study of distributed hash table mechanisms on p2p overlay network under extreme conditions”, International Symposium on Electrical-Electronics Engineering – ISEE 2007, Hochiminh, Vietnam HU U 93 Luận văn tốt nghiệp Ngơ Hồng Giang [16] Nguyen Chan Hung, Ngo Hoang Giang, Le Quang Thang, “Comparative study on Distributed Hash Table algorithms of P2P network”, Proceeding NOC2007 12th European Conference on Networks & Optical Communications [17] “Performance Evaluation of Distributed Hash Table (DHT) Chord algorithm”, MCSE 2007, Proceeding of Modeling of Complex System and Environment MCSE 2007 by ISSAT (IEEE International Society of Science and Applied Technologies Conference), Hochiminh, Vietnam [18] Hung Nguyen Chan, Giang Ngo Hoang, Thang Le Quang, Tan Pek Yew, “Performance study of Chord, Kelips and Tapestry protocols on structured Peer-to-Peer Overlay networks”, in press, Special issues of Post & Telecommunications & Information Technology Journal, 2008 94 ... - LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN 3898 ĐÁNH GIÁ HIỆU NĂNG CỦA MỘT SỐ BẢNG BĂM PHÂN TÁN DHT VÀ ĐƯA RA GIẢI PHÁP CẢI TIẾN HIỆU NĂNG CỦA THUẬT TOÁN CHORD NGƠ HỒNG... 43 Luận văn tốt nghiệp Ngơ Hồng Giang Luận văn đánh giá, so sánh hiệu số well-known DHT, đặc biệt môi trường churn rate cao Từ kết kết hợp với phân tích lý thuyết, luận văn đưa giải pháp cải tiến. .. tiến hiệu cho DHT tiềm (Chord) điều kiện churn rate cao 2.2 Đánh giá hiệu số DHT 2.2.1 Mục tiêu sở lý luận Phần luận văn phân tích, đánh giá hiệu DHT nhằm tạo sở cho việc đưa giải pháp cải tiến hiệu

Ngày đăng: 10/11/2012, 10:08

Hình ảnh liên quan

Hình 1.1. Mô hình centralized directory - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 1.1..

Mô hình centralized directory Xem tại trang 15 của tài liệu.
Hình 1.2. Mô hình flooding request - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 1.2..

Mô hình flooding request Xem tại trang 16 của tài liệu.
Hình 1.3. Distributed HashTable 1.3.Giới thiệu một số  DHT  - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 1.3..

Distributed HashTable 1.3.Giới thiệu một số DHT Xem tại trang 22 của tài liệu.
Hình 1.4. (a) Một mạng Chord với 6 node ,5 item và N=16. (b) Nguyên tắc chung của bảng routing table - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 1.4..

(a) Một mạng Chord với 6 node ,5 item và N=16. (b) Nguyên tắc chung của bảng routing table Xem tại trang 25 của tài liệu.
// khởi tạo bảng finger table của node - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

kh.

ởi tạo bảng finger table của node Xem tại trang 28 của tài liệu.
Quá trình truy vấn item được minh họa trong X Hình 1.11 X dưới đây - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

u.

á trình truy vấn item được minh họa trong X Hình 1.11 X dưới đây Xem tại trang 39 của tài liệu.
Hình 1.12. Mạng Kelips trong đó các node phân tán trong 10 nhóm affinity và trạng thái tại một node cụ thể - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 1.12..

Mạng Kelips trong đó các node phân tán trong 10 nhóm affinity và trạng thái tại một node cụ thể Xem tại trang 41 của tài liệu.
Bảng 1.1. Trạng thái phát triển của các simulator - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Bảng 1.1..

Trạng thái phát triển của các simulator Xem tại trang 43 của tài liệu.
1.4.1. Khảo sát các simulator mô phỏng mạng overlay - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

1.4.1..

Khảo sát các simulator mô phỏng mạng overlay Xem tại trang 43 của tài liệu.
Không được mô hình hóa - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

h.

ông được mô hình hóa Xem tại trang 44 của tài liệu.
Hình 2.1. Node join/leave với interval=600s trong mạng Chord100 node - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.1..

Node join/leave với interval=600s trong mạng Chord100 node Xem tại trang 48 của tài liệu.
Hình 2.2. Lưu đồ thuật toán quá trình xác định churn rate - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.2..

Lưu đồ thuật toán quá trình xác định churn rate Xem tại trang 50 của tài liệu.
Hình 2.3 X biểu diễn tỷ lệ tìm kiếm thành công của Kademlia trong mạng 100 và 1000 nodem, tương ứng với churn rate 180s  - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.3.

X biểu diễn tỷ lệ tìm kiếm thành công của Kademlia trong mạng 100 và 1000 nodem, tương ứng với churn rate 180s Xem tại trang 51 của tài liệu.
Hình 2.3. Đồ thị biểu diễn tỷ lệ tìm kiếm thành công (fration of successful lookups) theo băng thông trung bình một node sử dụng (average live bandwidth)  trong mạng  - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.3..

Đồ thị biểu diễn tỷ lệ tìm kiếm thành công (fration of successful lookups) theo băng thông trung bình một node sử dụng (average live bandwidth) trong mạng Xem tại trang 51 của tài liệu.
Hình 2.4. Đồ thị biểu diễn tỷ lệ tìm kiếm thành công theo băng thông trung bình một node sử dụng trong mạng Chord 100 node (trái) và 1000 node (phải) - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.4..

Đồ thị biểu diễn tỷ lệ tìm kiếm thành công theo băng thông trung bình một node sử dụng trong mạng Chord 100 node (trái) và 1000 node (phải) Xem tại trang 52 của tài liệu.
Hình 2.4 X biểu diễn tỷ lệ tìm kiếm thành công của Chord trong mạng 100 và 1000 nodem, tương ứng với churn rate 1800s và 4200s - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.4.

X biểu diễn tỷ lệ tìm kiếm thành công của Chord trong mạng 100 và 1000 nodem, tương ứng với churn rate 1800s và 4200s Xem tại trang 52 của tài liệu.
Hình 2.5 X biểu diễn tỷ lệ tìm kiếm thành công của Kelips trong mạng 100 và 1000 nodem, tương ứng với churn rate 2400s và 7200s - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.5.

X biểu diễn tỷ lệ tìm kiếm thành công của Kelips trong mạng 100 và 1000 nodem, tương ứng với churn rate 2400s và 7200s Xem tại trang 53 của tài liệu.
Hình 2.5. Đồ thị biểu diễn tỷ lệ tìm kiếm thành công theo băng thông trung bình một node sử dụng trong mạng Kelips 100 node (trái) và 1000 node (phải) - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.5..

Đồ thị biểu diễn tỷ lệ tìm kiếm thành công theo băng thông trung bình một node sử dụng trong mạng Kelips 100 node (trái) và 1000 node (phải) Xem tại trang 53 của tài liệu.
Hình 2.6. Đồ thị biểu diễn tỷ lệ tìm kiếm thành công theo băng thông trung bình một node sử dụng   trong mạng Tapestry 100 node (trái) và 1000 node (phải) - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.6..

Đồ thị biểu diễn tỷ lệ tìm kiếm thành công theo băng thông trung bình một node sử dụng trong mạng Tapestry 100 node (trái) và 1000 node (phải) Xem tại trang 54 của tài liệu.
Hình 2.6 X biểu diễn tỷ lệ tìm kiếm thành công của Tapestry trong mạng 100 và 1000 nodem, tương ứng với churn rate 7200s  - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.6.

X biểu diễn tỷ lệ tìm kiếm thành công của Tapestry trong mạng 100 và 1000 nodem, tương ứng với churn rate 7200s Xem tại trang 54 của tài liệu.
Bảng 2.6. Điều kiện mô phỏng - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Bảng 2.6..

Điều kiện mô phỏng Xem tại trang 56 của tài liệu.
Bảng giá trị tham số của Kelips - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Bảng gi.

á trị tham số của Kelips Xem tại trang 57 của tài liệu.
Bảng 2.9. Giá trị tham số của Kelips - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Bảng 2.9..

Giá trị tham số của Kelips Xem tại trang 57 của tài liệu.
Hình 2.10. Tác động của churn rate đối với tỷ lệ tìm kiếm thất bại (hình trên) và độ trễ - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 2.10..

Tác động của churn rate đối với tỷ lệ tìm kiếm thất bại (hình trên) và độ trễ Xem tại trang 62 của tài liệu.
Bảng 2.14. Bảng tóm tắt kết quả - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Bảng 2.14..

Bảng tóm tắt kết quả Xem tại trang 65 của tài liệu.
Bảng 2.17. Giá trị tham số của Tapestry - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Bảng 2.17..

Giá trị tham số của Tapestry Xem tại trang 67 của tài liệu.
Hình 3.1. Biểu đồ chuyển đổi trạng thái của node Chord - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 3.1..

Biểu đồ chuyển đổi trạng thái của node Chord Xem tại trang 72 của tài liệu.
Hình 3.2. Biểu đồ thời gian biểu diễn quá trình một node jon vào mạng thành công - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 3.2..

Biểu đồ thời gian biểu diễn quá trình một node jon vào mạng thành công Xem tại trang 73 của tài liệu.
Hình 3.4. Kiến trúc của giải pháp caching proxy - Luận văn thạc sĩ Hiệu năng Thuật toán Giải pháp Cải tiến

Hình 3.4..

Kiến trúc của giải pháp caching proxy Xem tại trang 82 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan