Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 96 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
96
Dung lượng
1,79 MB
Nội dung
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Ô HOÀNG GIANG
NGÀNH: CÔNG NGHỆ THÔNG TIN
CÔNG NGHỆ THÔNG TIN
ĐÁNH GIÁHIỆUNĂNGCỦAMỘTSỐ
THUẬT TOÁNBẢNGBĂMPHÂNTÁNDHT
VÀ ĐƯARAGIẢIPHÁPCẢITIẾNHIỆU
NĂNG CỦATHUẬTTOÁNCHORD
NGÔ HOÀNG GIANG
2006 - 2008
Hà Nội
2008
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ỆUNĂNGCỦAMỘTSỐ
BẢNG BĂMPHÂNTÁNDHTVÀĐƯARAGIẢI
PHÁP CẢITIẾNHIỆUNĂNGCỦA
THUẬT TOÁN CHORD
NGÔ HOÀ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
1
BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
***
Cộng hoà xã hội chủ nghĩa Việt Nam
Độc lập – Tự do – Hạnh phúc
LỜI CAM ĐOAN
Luận văn thạc sỹ này do tôi nghiên cứu và thực hiện dưới sự hướng dẫn
của Thầy giáo TS. Nguyễn Chấn Hùng. Để hoàn thành bản luận văn này, ngoài
các tài liệu tham khảo đã liệt kê, tôi cam đoan không sao chép các công trình
hoặc thiết kế tốt nghiệp của người khác.
Hà Nội, ngày 28 tháng 10 năm 2008
(Ký và ghi rõ họ tên)
Ngô Hoàng Giang
Luận văn tốt nghiệp Ngô Hoàng Giang
2
LỜI CẢM ƠN
Trước hết tôi vô cùng 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
những thông tin quý báu giúp đỡ tôi hoàn thành bản luận văn này.
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 tôi đang công tác đã tạo nhiều điều kiện
động viên khích lệ để tôi có thể hoàn thành bản luận văn này.
Sau cùng tôi xin bày tỏ
lòng biết ơn đến người thân cùng bạn bè đồng
nghiệp, những người luôn cổ vũ động viên tôi hoàn thiện bản luận văn này.
Hà Nội, ngày 28 tháng 10 năm 2008
Ngô Hoàng Giang
Luận văn tốt nghiệp Ngô Hoàng Giang
3
Mục lục
ULỜI CAM ĐOANU 1
ULỜI CẢM ƠNU 2
UMục lụcU 3
UDanh mục thuật ngữU 5
UDanh mục hình vẽU 6
UDanh mục thuật toánU 8
UDanh mục bảngU 9
ULời mở đầuU 10
UChương 1.U ULý thuyết tổng quanU 11
U1.1.U ULý thuyết chung về về mạng P2PU 11
U1.1.1.U UKhái niệm mạng P2PU 11
U1.1.2.U UQuá trình phát triển của các hệ thống P2PU 12
U1.1.3.U UỨng dụng p2pU 16
U1.1.4.U UCác vấn đề đối với mạng p2p hiện nayU 16
U1.2.U ULý thuyết về Distributed Hash Table (DHT)U 18
U1.2.1.U UHash Table (bảng băm)U 18
U1.2.2.U UDistributed Hash TableU 18
U1.3.U UGiới thiệu mộtsố DHTU 20
U1.3.1.U UChordU 21
U1.3.2.U UKademliaU 30
U1.3.3.U UTapestryU 33
U1.3.4.U UKelipsU 38
U1.4.U UCác phương phápđánh giá, thử nghiệm mạng P2PU 40
U1.4.1.U UKhảo sát các simulator mô phỏng mạng overlayU 41
U1.4.2.U UP2PSimU 42
Luận văn tốt nghiệp Ngô Hoàng Giang
4
UChương 2.U UĐánh giáhiệunăngmộtsố DHTU 43
U2.1.U UBài toán thực tếU 43
U2.2.U UĐánh giáhiệunăngmộtsố DHTU 44
U2.2.1.U UMục tiêu và cơ sở lý luậnU 44
U2.2.2.U UQuá trình thực nghiệm và phương phápđánhgiáhiệu năngU 45
U2.2.3.U UXác định ngưỡng churn rate các DHT làm việc tốtU 47
U2.2.4.U USo sánh hiệunăngcủa các DHTU 53
U2.2.5.U UĐánh giá ảnh hưởng của các tham số thiết kế đến hiệunăng các DHTU 63
UChương 3.U UCải tiếnhiệunăngcủa ChordU 68
U3.1.U UHạn chế của giao thức ChordU 68
U3.2.U UGiải phápcảitiến giao thức ChordU 68
U3.3.U UGiải pháp duy trì vòng dùng cơ chế lockU 69
U3.3.1.U UMục tiêuU 69
U3.3.2.U UCơ chế làm việcU 69
U3.4.U UGiải pháp caching proxyU 79
U3.4.1.U UMục tiêuU 79
U3.4.2.U UCơ chế làm việcU 79
U3.5.U UGiải pháp dùng nhân bản đối xứng cải tiếnU 87
U3.5.1.U UMục tiêuU 87
U3.5.2.U UCơ chế làm việcU 87
UKết luậnU 92
UTài liệu tham khảoU 93
Luận văn tốt nghiệp Ngô Hoàng Giang
5
Danh mục thuật ngữ
Tiếng Anh Tiếng Việt
Peer-to-peer Mạng ngang hàng
Peer Đồng đẳng trong mạng ngang hàng
Node Một thiết bị nối mạng (một peer)
Item Một đơn vị dữ liệu
Structured Có cấu trúc
Overlay Mạng được xây dựng trên các mạng khác
Hash table Bảngbăm
Distributed hash table Bảngbămphântá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 trong một
khoảng thời gian.
Luận văn tốt nghiệp Ngô Hoàng Giang
6
Danh mục hình vẽ
UHình 1.1. Mô hình centralized directoryU 13
UHình 1.2. Mô hình flooding requestU 14
UHình 1.3. Distributed Hash TableU 20
UHì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. (c) Bảng routing table của node 3 và node 11
U 23
UHình 1.5. Quá trình một node join vào mạngU 28
UHình 1.6. (a) Bảng finger và vị trí của key sau khi node 6 join. (b)Bảng finger và vị trí
của key sau khi node 3 leave.
U 29
UHình 1.7.Con trỏ của node 3 (0011) trong KademliaU 31
UHình 1.8. Minh họa cách chọn bảng định tuyến củamột node TapestryU 34
UHình 1.9. Đường đi của thông điệp từ node 5230 tới node 42ADU 36
UHình 1.10. Ví dụ về Tapestry node publish itemU 37
UHình 1.11. Ví dụ về Tapestry node tìm kiếm itemU 37
UHình 1.12. Mạng Kelips trong đó các node phântán trong 10 nhóm affinity và trạng
thái tại một node cụ thể
U 39
UHình 2.1. Node join/leave với interval=600 s trong mạng Chord 100 nodeU 46
UHình 2.2. Lưu đồ thuậttoán quá trình xác định churn rateU 48
UHì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
Kademlia 100 node (trái) và 1000 node (phải).
U 49
UHì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).
U 50
UHì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).
U 51
Luận văn tốt nghiệp Ngô Hoàng Giang
7
UHì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).
U 52
UHì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 một
node sử dụng trong mạng Chord với interval=5s (trái) và interval=10s (phải).
U 55
UHì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 một
node sử dụng của Kelisp và Tapestry với RTT=1s, 10s và node join/leave với
interval=5s (trái) và 10s (phải).
U 56
UHì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 một
node sử dụng trong mạng Chord 1000 node với interval=120s (trái) và interval=600s
(phải).
U 59
UHì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ễ
tìm kiếm trung bình (hình dưới) trong các mạng có kích thước khác nhau.
U 60
UHình 2.11. Đồ thị biểu diễn tỷ lệ tìm kiếm thành công (hình trên) và độ trễ tìm kiếm
trung bình (hình dưới) theo băng thông trung bình một node sử dụng trong các mạng có
kích thước khác nhau với các node join/leave với interval=600s
U 62
UHình 2.12. Ảnh hưởng của tham số “base” đối với hiệunăngcủa Tapestry (trái) và
tham số “gossip interval” đối với hiệunăngcủa mạng Kelips trong mạng 1000 nodes
khi các node join/leave với interval=600s
U 65
UHình 2.13. Biểu diễn convex hull của successor stabilization interval (trái) và finger
stabilization interval (phải ) trong mạng Chord 1000 node khi các node join/leave với
interval=600s
U 66
UHình 3.1. Biểu đồ chuyển đổi trạng thái của node ChordU 70
UHì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ôngU 71
UHình 3.3. Biểu đồ thời gian biểu diễn quá trình một node rời khỏi mạngU 74
UHình 3.4. Kiến trúc củagiảipháp caching proxyU 80
UHình 3.5. Biểu đồ thời gian biểu diễn quá trình caching thành côngU 81
Luận văn tốt nghiệp Ngô Hoàng Giang
8
Danh mục thuậttoán
UThuật toán 1.1. Giả mã tìm node successor của ID nU 25
UThuật toán 1.2. Giả mã cho hoạt động join vào mạng củamột nodeU 26
UThuật toán 1.3. Giả mã cho quá trình stabilizationU 27
UThuật toán 3.1. Thuậttoán join tối ưu hóaU 73
UThuật toán 3.2. Thuậttoán leave tối ưu hóaU 76
UThuật toán 3.3. Quá trình stabilization định kỳ để xử lý failureU 78
UThuật toán 3.4. Quá trình cachingU 81
UThuật toán 3.5. Đồng bộ hóa vòng proxy và vòng node Chord thông thườngU 85
UThuật toán 3.6. Xử lý thay đổi trong vòng proxyU 86
UThuật toán 3.7. Quá trình tìm kiếm và chèn trong giảipháp nhân bản đối xứngU 89
UThuật toán 3.8. Join và leave trong trường hợp nhân bản đối xứngU 90
UThuật toán 3.9. Xử lý failure trong nhân bản đối xứngU 90
UThuật toán 3.10. Thuậttoán bulk owner operationU 91
[...]... trong U mạng 100 và 1000 node 53 U U Bảng 2.6 Điều kiện mô phỏng .54 U Bảng 2.7 Giá trị tham sốcủaChord 54 U U Bảng 2.8 Giá trị tham sốcủa Tapestry 54 U U Bảng 2.9 Giá trị tham sốcủa Kelips .55 U U Bảng 2.10 So sánh giữa Chord, Kelips và Tapestry .56 U U Bảng 2.11 Giá trị tham sốcủaChord 57 U U Bảng 2.12 Giá trị tham sốcủa Kelips ... Ngô Hoàng Giang Danh mục bảngBảng 1.1 Trạng thái phát triển của các simulator 41 U U Bảng 1.2 Đặc điểm của các simulator 42 U U Bảng 2.1 Bảng tham sốcủa Kademlia 49 U U Bảng 2.2 Bảng tham sốcủaChord 50 U U Bảng 2.3 Bảng tham sốcủa Kelips .51 U U Bảng 2.4 Bảng tham sốcủa Tapestry 52 U U Bảng 2.5 Giá trị churn rate để các DHT đạt được tỷ lệ tìm... rệt Đánh giá và cải thiện hiệu năngcủa các DHT trong điều kiện mạng churn rate cao là bài toán đang rất được quan tâm hiện nay Luận văn bao gồm ba phầnPhần thứ nhất tóm tắt lý thuyết chung về mạng peer-to-peer Phần thứ hai, luận văn phân tích, đánh giáhiệunăngcủa một sốDHT nổi tiếng như Chord, Kademlia, Tapestry, Kelips trong điều kiện mạng churn rate cao Dựa trên kết quả đạt được, luận văn phân. .. 58 U U Bảng 2.13 Giá trị tham sốcủa Tapestry 58 U U U Bảng 2.14 Bảng tóm tắt kết quả 63 U U Bảng 2.15 Giá trị tham sốcủaChord 64 U U Bảng 2.16 Giá trị tham sốcủa Kelips 64 U U Bảng 2.17 Giá trị tham sốcủa Tapestry 65 U 9 Luận văn tốt nghiệp Ngô Hoàng Giang Lời mở đầu Khoảng mười năm trở lại đây, thế giới đã chứng kiến sự bùng nổ của Internet... giữa ID của node và ID của các item lưu trên node đó, tức là một item cụ thể sẽ được lưu trên node nào Lookup process (tiến trình tìm kiếm): tiến trình tìm kiếm trên một mạng diễn ra như thế nào và hiệu năngcủa quá trình tìm kiếm liên quan chặt chẽ đến loại overlay graph của mạng đó Joins, Leaves và Maintenance (gia nhập, rời khỏi mạng và duy trì) : chúng ta sẽ xem một node mới được thêm vào graph như... xem xét mộtsố well-known DHT như Chord, Kelips, Tapestry, Kademlia Ta phân tích các DHT này dựa trên mộtsố khía cạnh như sau: Overlay Graph (sơ đồ mạng overlay): đây là tiêu chuẩn chính để phân biệt các hệ thống với nhau Đối với mỗi overlay graph, chúng ta sẽ xem xét graph vàbảng định tuyến của mỗi node trong graph Mapping Items Onto Nodes (ánh xạ giữa item và node): đối với mỗi overlay graph, chúng... kê mộtsốcài đặt của các DHT 1.3.1 Chord Overlay graph Chord sử dụng một không gian ID vòng tròn kích thước N Một node Chord với ID là u có một con trỏ tới node đầu tiên đứng sau nó trong không gian ID theo chiều kim đồng hồ, ký hiệu là Succ(u) vàmột con trỏ tới node đứng trước nó trong không gian ID, ký hiệu là Pred(u) Các node tạo thành mộtdanh sách liên kết hai chiều Bên cạnh đó, một node Chord. .. thường, một tìm kiếm sẽ hoàn thành trong O(log2(N)) chặng Joins, Leaves and Maintenance Khi node n muốn join vào mạng, nó phải tìm ID của mình thông qua mộtsố contact trong mạng và chèn bản thân nó vào vòng giữa successor s của nó và predecessor của s sử dụng mộtthuậttoán stabilization chạy định kỳ Bảng định tuyến của n được khởi tạo bằng cách copy bảng định tuyến của s hoặc yêu cầu s tìm các finger của. .. nhỏ các chặng GiảiphápDHT đảm bảo cho mạng có tính khả mở và khả năng tìm thấy thông tin cao trong khi vẫn hoàn toànphântánDHT đang được xem như là cách tiếp cận hợp lý cho vấn đề định vị và định tuyến trong các hệ thống P2P Cộng đồng nghiên cứu đã đưara nhiều DHT khác nhau Mỗi DHT hoạt động theo nguyên lý chung và có ưu điểm riêng, Chord với thiết kế đơn giản, Tapestry và Pastry giải quyết được... Tapestry, Kelips trong điều kiện mạng churn rate cao Dựa trên kết quả đạt được, luận văn phân tích hạn chế của giao thức Chordvàđưaragiảiphápcảitiến hiệu năngcủa giao thức này trong điều kiện churn rate cao Các kết quả nghiên cứu trong luận văn đã được công bố trên mộtsố bài báo quốc tế và trong nước [15, 16, 17, 18] 10 Luận văn tốt nghiệp Chương 1 Ngô Hoàng Giang Lý thuyết tổng quan 0B 1.1 . NGHỆ THÔNG TIN
ĐÁ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 TOÁN CHORD
NGÔ.
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Ô HOÀNG GIANG