Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 98 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
98
Dung lượng
1,86 MB
Nội dung
NGƠ HỒNG GIANG BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 0B - 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 1B 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 TỐ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 Mục lục Đánh giá hiệu số thuật toán bảng băm phân tán đưa giải pháp nâng cao hiệu thuật toán Chord Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined LỜI CẢM ƠN Error! Bookmark not defined Mục lục Danh mục thuật ngữ từ viết tắt Error! Bookmark not defined Danh mục hình vẽ Error! Bookmark not defined Danh mục thuật toán Error! Bookmark not defined Danh mục bảng Error! Bookmark not defined Lời mở đầu Error! Bookmark not defined Chương Lý thuyết tổng quan Error! Bookmark not defined 1.1 Lý thuyết chung về mạng P2P Error! Bookmark not defined 1.1.1 Khái niệm mạng P2P Error! Bookmark not defined 1.1.2 Quá trình phát triển hệ thống P2P Error! Bookmark not defined 1.1.3 Ứng dụng p2p Error! Bookmark not defined 1.1.4 Các vấn đề mạng p2p Error! Bookmark not defined 1.2 Lý thuyết Distributed Hash Table (DHT) Error! Bookmark not defined 1.2.1 Hash Table (bảng băm) Error! Bookmark not defined 1.2.2 Distributed Hash Table Error! Bookmark not defined 1.3 Giới thiệu số DHT Error! Bookmark not defined 1.3.1 Chord Error! Bookmark not defined 1.3.2 Kademlia Error! Bookmark not defined 1.3.3 Tapestry Error! Bookmark not defined 1.3.4 Kelips Error! Bookmark not defined 1.4 Các phương pháp đánh giá, thử nghiệm mạng P2P .Error! Bookmark not defined 1.4.1 Khảo sát simulator mô mạng overlay Error! Bookmark not defined 1.4.2 P2PSim Error! Bookmark not defined Chương Đánh giá hiệu số DHT Error! Bookmark not defined 2.1 Bài toán thực tế Error! Bookmark not defined 2.2 Đánh giá hiệu số DHT Error! Bookmark not defined 2.2.1 Mục tiêu sở lý luận Error! Bookmark not defined 2.2.2 Quá trình thực nghiệm phương pháp đánh giá hiệu Error! Bookmark not defined 2.2.3 Xác định ngưỡng churn rate DHT làm việc tốt Error! Bookmark not defined 2.2.4 So sánh hiệu DHT Error! Bookmark not defined 2.2.5 Đánh giá ảnh hưởng tham số thiết hiệu DHT Error! Bookmark not defined Chương Cải tiến hiệu Chord Error! Bookmark not defined 3.1 Hạn chế giao thức Chord Error! Bookmark not defined 3.2 Giải pháp cải tiến giao thức Chord Error! Bookmark not defined 3.3 Giải pháp trì vịng dùng chế lock Error! Bookmark not defined 3.3.1 Mục tiêu Error! Bookmark not defined 3.3.2 Cơ chế làm việc Error! Bookmark not defined 3.4 Giải pháp caching proxy Error! Bookmark not defined 3.4.1 Mục tiêu Error! Bookmark not defined 3.4.2 Cơ chế làm việc Error! Bookmark not defined 3.5 Giải pháp dùng nhân đối xứng cải tiến Error! Bookmark not defined 3.5.1 Mục tiêu Error! Bookmark not defined 3.5.2 Cơ chế làm việc Error! Bookmark not defined Kết luận Error! Bookmark not defined Tài liệu tham khảo Error! Bookmark not defined Luận văn tốt nghiệp Ngơ Hồ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, ngồi tài liệu tham khảo liệt kê, tơi 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 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 hoà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 U Khái niệm mạng P2P .11 U U 1.1.2 U U Quá trình phát triển hệ thống P2P .12 U U 1.1.3 U U Ứng dụng p2p 16 U U 1.1.4 U U Các vấn đề mạng p2p 16 U 1.2 U U U Lý thuyết Distributed Hash Table (DHT) 18 U U U 1.2.1 U Hash Table (bảng băm) 18 U U 1.2.2 U U Distributed Hash Table 18 U 1.3 U U U Giới thiệu số DHT 20 U U U 1.3.1 U U 1.3.2 U Chord 21 U U Kademlia 30 U U 1.3.3 U U Tapestry 33 U U 1.3.4 U U 1.4 U U U Kelips .38 U U Các phương pháp đánh giá, thử nghiệm mạng P2P 40 U U 1.4.1 U Khảo sát simulator mô mạng overlay .41 U 1.4.2 U U U U P2PSim .42 U U Luận văn tốt nghiệp Chương U Đánh giá hiệu số DHT .43 U 2.1 U U U Bài toán thực tế 43 U U U 2.2 U Đánh giá hiệu số DHT .44 U U U 2.2.1 U Mục tiêu sở lý luận 44 U U U 2.2.2 U Quá trình thực nghiệm phương pháp đánh giá hiệu 45 U U U 2.2.3 U Xác định ngưỡng churn rate DHT làm việc tốt 47 U U U 2.2.4 U So sánh hiệu DHT 53 U U U 2.2.5 U Đánh giá ảnh hưởng tham số thiết hiệu DHT 63 U U U Chương U Cải tiến hiệu Chord 68 U 3.1 U U U U 3.2 Giải pháp cải tiến giao thức Chord 68 U U U 3.3 U U Hạn chế giao thức Chord 68 U U Giải pháp trì vịng dùng chế lock 69 U U U 3.3.1 U Mục tiêu 69 U U U 3.3.2 U Cơ chế làm việc 69 U 3.4 U U U Giải pháp caching proxy 79 U U U 3.4.1 U Mục tiêu 79 U U U 3.4.2 U Cơ chế làm việc 79 U 3.5 U Ngơ Hồng Giang U U Giải pháp dùng nhân đối xứng cải tiến .87 U U U 3.5.1 U Mục tiêu 87 U 3.5.2 U U U U Cơ chế làm việc 87 U U Kết luận 92 U U Tài liệu tham khảo 93 U 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 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 tốn 3.4 Q 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 toá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ô Hoà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 ... ĐƯ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 Mục lục Đánh giá hiệu số thuật toán bảng băm phân tán đưa giải pháp. .. churn rate cao Một giải pháp nhiều người quan tâm cải tiến DHT có để chúng hoạt động hiệu môi trường có churn rate cao Việc đưa giải pháp cải tiến hiệu cần vào số sở, sở quan trọng việc đánh giá hiệu. .. đưa giải pháp cải 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