Ánh giá hiệu năng của giao thức Chord trên mạng ngang hàng bằng

Một phần của tài liệu Nghiên cứu và đánh giá hiệu năng của giao thức chord trên mạng ngang hàng (Trang 82)

C. Replication

4.2.ánh giá hiệu năng của giao thức Chord trên mạng ngang hàng bằng

4.2. ðánh giá hiu năng ca giao thc Chord trên mng ngang hàng bng phương pháp mô phng hàng bng phương pháp mô phng

4.2.1.Các tham số mô phỏng ñể ñánh giá hiệu năng của giao thức Chord trên mạng ngang hàng

Trong bài luận này, có ba tham số chính ñược tập trung ñánh giá ñó là: trễ tìm kiếm thành công trung bình, tỷ lệ tìm kiếm lỗi, và tỷ lệ tìm kiếm thành công.

Trong ñó, trễ tìm kiếm thành công trung bình (tính bằng ñơn vị thời gian ms) là khoảng thời gian từ khi một Node ñưa ra yêu cầu tìm kiếm trên mạng cho ñến khi nhận ñược kết quả tìm kiếm và kết quả tìm kiếm ñó là chính xác. ðộ trễ tìm kiếm thành công trung bình này càng nhỏ càng tốt. ðộ trễ này phụ thuộc vào từng giao

thức DHT. Mỗi giao thức DHT khác nhau sẽ có ñộ trễ khác nhaụ Mặt khác, ñối với mỗi giao thức DHT cũng có một vài yếu tố ảnh hưởng ñến ñộ trễ này chẳng hạn như số lượng Node, sự thay ñổi của mạng (ñặc trưng bởi churn rate), khoảng cách giữa các Node mạng. Bài luận này chỉ tập trung vào giao thức Chord và ñánh giá các yếu tố có liên quan ñến trễ tìm kiếm thành công trung bình ñối với giao thức Chord.

Tỷ lệ tìm kiếm lỗi cũng là một trong những tham số quan trọng ñể ñánh giá hiệu năng của mạng. Tỷ lệ tìm kiếm lỗi càng nhỏ càng tốt. Cũng giống như trễ tìm kiếm thành công trung bình thì tỷ lệ tìm kiếm lỗi cũng phụ thuộc vào từng giao thức DHT. Mỗi giao thức DHT sẽ có một tỷ lệ tìm kiếm lỗi khác nhau và tỷ lệ tìm kiếm lỗi có thể dùng ñể ñánh giá tính hiệu quả của các DHT. Mặt khác với mỗi giao thức DHT lại có nhiều yếu tố ảnh hưởng ñến tỷ lệ tìm kiếm lỗi chẳng hạn như: Số lượng Node trong mạng, sự thay ñổi của mạng... Các yếu tố này sẽ ñược phân tích và ñánh giá cụ thể ở phần tiếp theo của chương.

4.2.2.Giới thiệu phần mềm P2PSim

P2PSim là phần mềm có thể mô phỏng mạng có cấu trúc. Nó có thể mô phỏng sáu loại giao thức DHTs khác nhau: Chord, Accordion, Koorde, Kelips, Tapestry, Kademliạ P2PSim có mã nguồn mở, nó có thể hoạt ñộng trên các hệ ñiều hành Unix. P2Psim giúp hiểu mã nguồn của các giao thức mạng ngang hàng và so sánh sự khác nhau giữa các giao thức về ñộ tiện lợi, khả năng thực hiện.

Số Node mà P2PSim có thể mô phỏng phụ thuộc vào giao thức thiết kế, với giao thức Chord nó có thể mô phỏng ñến 3000 Nodẹ

4.2.2.1. Cài ñặt phần mềm P2PSim

• P2Psim ñược cài ñặt và dịch trên hệ ñiều hành Unix. ðể cài ñặt ta cần lấy file nguồn p2psim-0.3.tar.gz tại ñịa chỉ web:

http://pdos.csail.mit.edu/p2psim/howtọhtml.

• ðể chạy P2PSim cần các gói GCC2.95.3. ðể cài ñặt GCC ta thực hiện các bước sau:

$ tar –zxvf gcc-2.95.3.tar.gz $ mv gcc-** gcc $ cd gcc $ ./configure --prefix=/usr/local/gcc $ make bootstrap $ make install $ export CC=/usr/local/gcc/bin/gcc $ export CXX=/usr/local/gcc/bin/g++ $ export CPP=/usr/local/gcc/bin/cpp

• Sau ñó ta cài P2PSim. ðể cài P2PSim ta thực hiện các bước sau:

$ cp p2psim-0.3.tar.gz /usr/local/src $ tar –zxvf p2psim-0.3.tar.gz

$ cd p2psim-0.3

#Apply patch for Chord protocol

$ cp chord.diff /usr/local/src/p2psim-0.3/protocol $ patch -p0 < chord.diff

$ ./configure $ make

4.2.2.2. Mô phỏng với phần mềm P2PSim

ðể thực hiện mô phỏng với phần mềm P2PSim ta thực hiện các bước sau:

• Bước 1: Tạo một File Topology Euclide ngẫu nhiên sử dụng Perl script

$./generatẹpl rttnodenumber > topology_nodenumber_rtt.txt

Script này có hai tham số ñó là:

+ RTT: Là khoảng thời gian thiết lập giữa một cặp Node bất kì. + Nodenumber: Là số Node trong mạng

• Bước 2: Lựa chọn các tham số ñể mô phỏng. Các tham số này ñược khai báo trong File argument. Các tham số mô phỏng bao gồm:

+ Lifemean: Thời gian tồn tại trung bình của Node trên mạng.

+ Lookupmean: Thời gian trung bình một Node sinh ra một yêu cầu tìm kiếm.

+ Exittime: Thời gian thực hiện mô phỏng.

+ Stattime: Thời gian thực hiện thu thập các thông số thống kê.

• Bước 3: Lựa chọn các tham số của DHT trong File argument. ðối với Chord sẽ bao gồm các tham số sau:

+ Base: Xác ñịnh cơ sở của finger trong bảng ñịnh tuyến. Nó xác ñịnh có bao nhiêu trạng thái ChordFingerPNS giữ (b-1)*logb(n).

+ Successors: Số Successor.

+ Pnstimer: Khoảng thời gian giữa hai lần Chord thực hiện cập nhật lại bảng ñịnh tuyến của mỗi Nodẹ

+ Basictimer: Là khoảng thời gian giữa hai lần Chord thực hiện cập nhật lại successor và predecessor của mỗi Nodẹ

+ Succlisttimer: Là khoảng thời gian giữa hai lần Chord cập nhật lại danh sách successor của mỗi Nodẹ

+ Maxlookuptime: Là thời gian tối ña tìm kiếm lạị Nó xác ñịnh khi nào từ bỏ việc tìm kiếm lại sau khi nhận các kết quả tìm kiếm không chính xác. Nếu Maxlookuptime = 0 tức là không thực hiện việc tìm kiếm lạị

+ Recurs: Là ñể xác ñịnh việc tìm kiếm theo kiểu lặp hay theo kiểu ñệ quỵ Recurs = 1 tức là tìm kiếm theo kiểu ñệ quỵ Recurs = 0 tức là tìm kiếm theo kiểu lặp.

• Bước 4: Chạy mô phỏng. Cú pháp như sau:

$ scripts/run-simulations.pl --protocol protocol_name --topology

topology_file --logdir log_directory --args args_ filẹ

Ta cần truyền vào các tham số là: Tên giao thức DHTs, tên File topology của mạng, thư mục chứa File log, tên File argument.

• Bước 5: Kết hợp các kết quả. Bước này thực hiện kết hợp các File ở trên lại thành một File ñầu ra duy nhất. Cú pháp:

$ scripts/merge-stats.pl --args protocol_args log/*.log > protocol_out

$ scripts/make-graph.pl --dat protocol_out --x BW_TOTALS:live_bw --y

CORRECT_LOOKUPS:lookup_mean --convex both.

Ta cần truyền vào các tham số: File protocol_out là File kết quả của bước 5, các tham số trục x, trục ỵ

4.2.3.Cài ñặt mô phỏng

Ta sẽ sử dụng phần mềm P2PSim ñể mô phỏng Chord: Kích thước của mạng là 100 Node, 250 Node, 500 Node và 1000 Nodẹ RTT (round trip-time) trung bình khoảng 0.5s, 1s, 2s, và 3s thiết lập giữa một cặp Node bất kì. Ta tiến hành mô phỏng ñể ñánh giá các tham số có liên quan ñến hiệu năng của Chord là tỷ lệ tìm kiếm lỗi, tỷ lệ tìm kiếm thành công và trễ tìm kiếm thành công trung bình trong một số ñiều kiện khác nhau như số lượng Node thay ñổi, khoảng thời gian các Node liên tục ñến và rời khỏi mạng (churn rate) thay ñổi, RTT thay ñổi ñể từ ñó rút ra một số nhận xét về những thay ñổi này ñến hiệu năng của Chord. Kịch bản mô phỏng và giá trị các tham số của Chord ñược lựa chọn như bảng 4.2 và bảng 4.3 dưới ñâỵ

Bng 4.2. Các kch bn mô phng.

Bng 4.3. Các tham s ca Chord.

4.2.4.Kết quả mô phỏng và nhận xét

4.2.4.1. Kết quả mô phỏng Chord và nhận xét với tỷ lệ tìm kiếm lỗi Ạ Kết qu mô phng nh hưởng ca Churn rate ñến t l tìm kiếm li

Network size (nodes) RTT (s) Churn rate (s)

100,250,500,1000 0.5,1,2,3 10,60,120,300,600 Parameters Values Base 2, 4, 8, 16, 32, 64, 128 Successors 16 Pnstimer (s) 0.5, 1, 3, 6, 9, 36 Basictimer (s) 0.5, 1, 3, 6, 9, 36 Succlisttimer (s) 0.5, 1, 3, 6, 9, 36 Recurs 1

Các hình từ 4.1 ñến 4.6 phía dưới ñều theo quy cách: Trục y thể hiện tỷ lệ tìm kiếm lỗi và trục x biểu diễn băng thông trung bình trên thời gian sống của các Node trên mạng. Các Node vào/ra khỏi mạng với các khoảng thời gian khác nhau là 10s, 60s, 120s, 300s, 600s từ hình 4.1 ñến hình 4.6, tương ứng ứng với tham số churn rate giảm dần, RTT = 2s. Các hình *.a thể hiện kết quả mô phỏng của mạng 100 Node và các hình *.b thể hiện kết quả mô phỏng của mạng 1000 Nodẹ

Những ñường nét ñậm trong các hình miêu tả sự kết hợp tốt nhất giữa tỷ lệ tìm kiếm lỗi (hiệu năng) và trung bình các byte trên giây ñược gửi bởi các Node ñang tồn tại trên mạng (chi phí ñể thu ñược hiệu năng).

a, b,

Hình 4.1. Kết qu mô phng t l tìm kiếm li vi 100Node (hình a), 1000Node (hình b), khong thi gian trung bình node vào/ra mng là 10s.

a, b,

Hình 4.2. Kết qu mô phng t l tìm kiếm li vi 100Node (hình a), 1000Node (hình b), khong thi gian trung bình node vào/ra mng là 60s.

a, b,

Hình 4.3. Kết qu mô phng t l tìm kiếm li vi 100Node (hình a), 1000Node (hình b), khong thi gian trung bình node vào/ra mng là 120s.

a, b,

Hình 4.4. Kết qu mô phng t l tìm kiếm li vi 100Node (hình a), 1000Node (hình b), khong thi gian trung bình node vào/ra mng là 300s.

a, b,

Hình 4.5. Kết qu mô phng t l tìm kiếm li vi 100Node (hình a), 1000Node (hình b), khong thi gian trung bình node vào/ra mng là 600s.

Hình 4.6 là kết quả mô phỏng tỷ lệ tìm kiếm lỗi khi kết hợp các kết quả mô phỏng ứng với các trường hợp khác nhau của churn rate trên cùng một ñồ thị.

a, b, Hình 4.6. Kết qu mô phng t l tìm kiếm li tng hp

100Node (hình a), 1000Node (hình b).

Nhn xét: Từ các kết quả mô phỏng ở trên, ta rút ra một số nhận xét như sau:

• Khi churn rate giảm thì tỷ lệ tìm kiếm lỗi cũng giảm theo, tức là bảng ñịnh tuyến ổn ñịnh hơn.

• Khi mà churn rate rất cao (các Node kết nối/ rời bỏ mạng xảy ra trong khoảng 10 ñến 120 s) thì tìm kiếm hầu hết là lỗi, ñiều này chỉ ra rằng Chord không làm việc tốt khi churn rate quá caọ

• Băng thông ñược sử dụng càng nhiều, tỷ lệ lỗi càng giảm.

B. Kết qu mô phng nh hưởng ca s lượng Node ñến t l tìm kiếm li

Các hình từ 4.7 ñến 4.11 phía dưới ñều theo quy cách: Trục y thể hiện tỷ lệ tìm kiếm lỗi và trục x biểu diễn băng thông trung bình trên thời gian sống của các Node trên mạng. Số lượng các Node thay ñổi với các giá trị khác nhau là 100 Node, 250 Node, 500 Node và 1000 Node từ hình 4.7 ñến hình 4.11, RTT = 2s. Các hình *.a thể hiện kết quả mô phỏng của mạng khi các Node vào/ra khỏi mạng với khoảng thời gian là 300s và các hình *.b thể hiện kết quả mô phỏng của mạng khi các Node vào/ra khỏi mạng với khoảng thời gian là 600s.

Những ñường nét ñậm trong các hình miêu tả sự kết hợp tốt nhất giữa tỷ lệ tìm kiếm lỗi (hiệu năng) và trung bình các byte trên giây ñược gửi bởi các Node ñang tồn tại trên mạng (chi phí ñể thu ñược hiệu năng).

a, b, Hình 4.7. Kết qu mô phng t l tìm kiếm li vi 100Node,

khong thi gian trung bình node vào/ra mng là 300s (hình a), 600s (hình b) .

a, b, Hình 4.8. Kết qu mô phng t l tìm kiếm li vi 250Node,

khong thi gian trung bình node vào/ra mng là 300s (hình a), 600s (hình b) .

a, b,

Hình 4.9. Kết qu mô phng t l tìm kiếm li vi 500Node,

a, b,

Hình 4.10. Kết qu mô phng t l tìm kiếm li vi 1000Node,

khong thi gian trung bình node vào/ra mng là 300s (hình a), 600s (hình b) .

Hình 4.11 là kết quả mô phỏng tỷ lệ tìm kiếm lỗi khi kết hợp các kết quả mô phỏng ứng với các trường hợp khác nhau của số lượng Node trên cùng một ñồ thị.

a, b,

Hình 4.11. Kết qu mô phng t l tìm kiếm li tng hp vi

khong thi gian trung bình node vào/ra mng là 300s (hình a), 600s (hình b) .

Nhn xét: Từ các kết quả mô phỏng ở trên, ta rút ra nhận xét như sau: Khi mạng lớn hơn mà băng thông ñược sử dụng không ñổi, tỷ lệ tìm kiếm lỗi sẽ cao hơn.

C. Kết qu mô phng nh hưởng ca RTT ñến t l tìm kiếm li

Các hình từ 4.12 ñến 4.16 phía dưới ñều theo quy cách: Trục y thể hiện tỷ lệ tìm kiếm lỗi và trục x biểu diễn băng thông trung bình trên thời gian sống của các Node trên mạng. RTT là 0.5s, 1s, 2s, 3s thay ñổi từ hình 4.12 ñến hình 4.16, mạng có 100Nodẹ Các hình *.a thể hiện kết quả mô phỏng của mạng khi các Node vào/ra khỏi mạng với khoảng thời gian là 300s và các hình *.b thể hiện kết quả mô phỏng của mạng khi các Node vào/ra khỏi mạng với khoảng thời gian là 600s.

Những ñường nét ñậm trong các hình miêu tả sự kết hợp tốt nhất giữa tỷ lệ tìm kiếm lỗi (hiệu năng) và trung bình các byte trên giây ñược gửi bởi các Node ñang tồn tại trên mạng (chi phí ñể thu ñược hiệu năng).

a, b,

Hình 4.12. Kết qu mô phng t l tìm kiếm li vi RTT = 0.5s,

khong thi gian trung bình node vào/ra mng là 300s (hình a), 600s (hình b).

a, b,

Hình 4.13. Kết qu mô phng t l tìm kiếm li vi RTT = 1s,

a, b,

Hình 4.14. Kết qu mô phng t l tìm kiếm li vi RTT = 2s,

khong thi gian trung bình node vào/ra mng là 300s (hình a), 600s (hình b).

a, b,

Hình 4.15. Kết qu mô phng t l tìm kiếm li vi RTT = 3s,

khong thi gian trung bình node vào/ra mng là 300s (hình a), 600s (hình b).

Hình 4.16 là kết quả mô phỏng tỷ lệ tìm kiếm lỗi khi kết hợp các kết quả mô phỏng ứng với các trường hợp khác nhau của RTT trên cùng một ñồ thị.

a, b,

Hình 4.16. Kết qu mô phng t l tìm kiếm li tng hp vi

Nhn xét: Từ các kết quả mô phỏng ở trên, ta rút ra nhận xét như sau: Khi khoảng thời gian thiết lập giữa một cặp Node bất kỳ (RTT) lớn hơn mà băng thông ñược sử dụng không ñổi thì tỷ lệ tìm kiếm lỗi sẽ cao hơn.

D. Kết qu mô phng các tham s ca Chord ñối vi t l tìm kiếm li

Hình 4.17 và 4.19 là kết quả mô phỏng các tham số của Chord khi các Node vào/ra khỏi mạng với khoảng thời gian là 600s, RTT = 2s. Trong các hình này, ñường bao toàn bộ miêu tả sự kết hợp tốt nhất giữa hiệu năng (ñược ñánh giá bởi fraction of failed lookups) và giá (trung bình byte trên giây ñược gửi bởi các Node ñang tồn tại trên mạng) ñể thu ñược hiệu năng ñó khi tất cả các tham số ñược thay ñổi và ñược gọi là ñường overall convex hull. Các ñường khác miêu tả sự kết hợp tốt nhất khi một tham số ñược cố ñịnh và các tham số khác ñược thay ñổi, chúng ñược gọi là ñường parameter convex hull.

a, b,

Hình 4.17. Kết qu mô phng t l tìm kiếm li vi 100Node (hình a), 1000Node (hình b) cho tham s basictimer.

a, b,

Hình 4.18. Kết qu mô phng t l tìm kiếm li vi 100Node (hình a), 1000Node (hình b) cho tham s pnstimer.

a, b,

Hình 4.19. Kết qu mô phng t l tìm kiếm li vi 100Node (hình a), 1000Node (hình b) cho tham s basẹ

Nhn xét: Từ các kết quả mô phỏng ở trên, ta rút ra nhận xét như sau: Từ hình 4.17 và 4.19 có thể nhìn thấy rằng sẽ không có giá trị ñơn của base, basictimer, pnstimer tốt nhất cho Chord. Tuy nhiên, các ñường overall convex hull ñược cấu thành từ một vài ñoạn của các ñường parameter convex hull với các tham số khác nhau của Chord ñó là:

• Khoảng thời gian giữa hai lần Chord thực hiện cập nhật lại successor và predecessor của mỗi Node (tham số basictimer) lần lượt là 0.5s, 1s, 3s, 6s, 9s, 36s.

• Khoảng thời gian giữa hai lần Chord thực hiện cập nhật lại bảng ñịnh tuyến của mỗi Node (tham số pnstimer) lần lượt là 0.5s, 1s, 3s, 6s, 9s, 36s.

4.2.4.2. Kết quả mô phỏng Chord và nhận xét với tỷ lệ tìm kiếm thành công công

Các hình từ 4.20 ñến 4.24 phía dưới ñều theo quy cách: Trục y thể hiện tỷ lệ tìm kiếm thành công và trục x biểu diễn băng thông trung bình trên thời gian sống của

Một phần của tài liệu Nghiên cứu và đánh giá hiệu năng của giao thức chord trên mạng ngang hàng (Trang 82)