Thực hiện mô phỏng đánh giá hiệu năng của các giải pháp

Một phần của tài liệu Đánh giá các phương pháp tìm kiếm thông tin trong hệ thống mạng ngang hàng có cấu trúc (Trang 49)

Luật phân bố Zipf trong giải pháp tìm kiếm thông tin trên hệ thống mạng ngang hàng là sự phổ biến của các cặp thuộc tính – giá trị trong tên tài nguyên hoặc cây AV mô tả tên tài nguyên. Sự phổ biến của các cặp thuộc tính giá trị trong tên tài nguyên tỷ lệ nghịch với thứ hạng của nó trong cây AV.

Các bộ tham số zipf đƣợc sử đụng để đánh giá: là alpha_zipf là 1,0 và 0,6. Mỗi khi thay đổi tham số zipf, hệ thống sẽ phải chạy lại để tạo mới tài nguyên, truy vấn và nút. Chƣơng trình sẽ tạo 200.000 tài nguyên, 5.000 truy vấn, 10.000 nút để sẵn sàng tạo lập mạng phục vụ việc đánh giá hiệu năng của các giải pháp.

4.2.2.1. Đánh giá tính hiệu quả (System efficiency)

Hiệu quả của hệ thống đƣợc đánh giá dựa trên 3 số liệu: số bản sao tên tài nguyên của mỗ tài nguyên, số nút trả lời cho 1 truy vấn và đỗ trễ của truy vấn.

Đánh giá số bản sao tên tài nguyên của mỗi tài nguyên:

Để đánh giá số bản sao tên tài nguyên trên mỗi tài nguyên, ta tăng dần số tài nguyên từ 10.000 tới 200.000 trong hệ thống mạng với 10.000 nút và 5.000 truy vấn, zipf = 0,6 và 1,0; 2 bộ tham số (h, 1/alpha) tƣơng ứng là (6, 25) và (2, 128). Biểu đồ kết quả mô phỏng nhƣ Hình 4.2 dƣới đây.

Hình 4.2. Biểu đồ số ban sao tài nguyên của mỗi tài nguyên

Qua biểu đồ 4.2 cho thấy, khi số tài nguyên tăng dần, số bản sao tên tài nguyên của mỗi tài nguyên của các giải pháp đều không đổi, của D-AVTree và D-AVRTree+ bằng nhau và là hằng số, ngay cả khi h và 1/alpha giảm, CDS và Twine có thay đổi nhƣng không đáng kể. Số bản sao tên tài nguyên của Twine là cao nhất.

Đánh giá số nút cần trả lời cho một truy vấn: Tƣơng tự nhƣ đánh giá số bản

sao tài nguyên, ta thực hiện tăng tài nguyên để đánh giá số nút cần truy vấn để thực hiện một truy vấn. Kết quả mô phỏng nhƣ hình 4.3.

Số nút cần truy vấn để thực hiện 1 truy vấn khi số tài nguyên tăng, zipt = 0,6 0,00 10,00 20,00 30,00 40,00 50,00 10.000 50.000 100.000 200.000 số tài nguyên Số n ú t cầ n t ru y vấ n c h o 1 t ru y vấ n D-AVTree (h=6, 1/alpha=25)

D-AVTree+ (h=6, 1/alpha=25, load balance)

CDS (random query)

CDS (optimization query)

D-AVTree (h=2, 1/alpha=128)

D-AVTree+ (h=2, 1/alpha=128, load balance)

Hình 4.3. Biểu đồ số nút cần truy vấn để thực hiện một truy vấn

Kết quả mô phỏng trong biểu đổ 4.3 cho thấy, số nút cần thực hiện 1 truy vấn khi số tài nguyên tăng của D-AVTree và D-AVTree+ là hằng số, của D-AVTree+ cao hơn D-AVTree (chênh lệch không nhiều), của CDS tăng dần, CDS Ran tăng mạnh hơn CDS OPT và số nút bị truy vấn cũng cao hơn nhiều sơ với CDS OPT (do CDS OPT đã lựa chọn ma trận LBM có số partition nhỏ hơn để thực hiện truy vấn). Với bộ tham số (h, 1/alpha) là (6, 25) thì số nút cần thực hiện một truy vấn của D-AVTree và D- AVTree+ thấp hơn nhiều so với bộ tham số tƣơng ứng là (2, 128).

Đánh giá độ trễ truy vấn:

Độ trễ truy vấn của mỗi nút đƣợc đo bằng số hop count cần để thực hiện 1 truy vấn. Mỗi hop đƣợc tính là mỗi lần 1 nút chuyển 1 thông điệp truy vấn tới nút khác. Với D-AVTRee và D-AVTree+, một thông điệp truy vấn có thể gửi tới nhiều nút trong phạm vi truy vấn của 1 nhánh AV. Giả sử các thông điệp mà 1 nút phải gửi tới các nút khác đƣợc gửi cùng một lúc. Coi thời gian đáp ứng của 1 truy vấn là thời gian khi kết quả cuối cùng đƣợc trả về. Với CDS, số thông điệp của truy vấn đƣợc gửi đi thì cũng sẽ phải gửi tới nút head để lấy thông tin về ma trận LBM. Với CDS, D-AVTree và D- AVTree+, ta giả sử độ trễ của 1 truy vấn là số hop count lớn nhất cần thiết để gửi tất cả thông điệp truy vấn và nhận tất cả thông tin phản hồi của truy vấn.

Để thực hiện, ta phân bổ 100.000 tên tài nguyên cho hệ thống mạng có số nút tăng dần từ 1.000 đến 5.000, số truy vấn cố định là 5.000 và tham số phân bổ zipf là 1,0 và 0,6 và D-AVTree, D-AVTree+ với 2 bộ tham số h và 1/alpha tƣơng ứng là (6, 25) và (2, 128). Coi mỗi nút có đủ khả năng để lƣu trữ tất cả thông tin tài nguyên mà

`chúng phụ trách. Với giải pháp CDS, ta giới hạn giá trị ngƣỡng của ma trận LBM mở rộng là 1% tổng số tài nguyên. Kết quả mô phỏng nhƣ biểu đồ 4.4 bên dƣới.

Hình 4.4. Biểu đồ độ trễ truy vấn khi zipf = 0,6.

Với 2 bộ số (h, 1/alpha) là (6, 25) và (2, 128), zipf = 1 và 0,6, biểu đồ so sánh hop count của D-AVTree và D-AVTree+ nhƣ hình 4.5 và 4.6.

Hình 4.6. Biểu đồ độ trễ truy vấn khi zipf = 1 và 2 bộ tham số (h, 1/alpha).

Qua biểu đồ cho thấy, với số nút tăng dần, cùng bộ tham số zipf, độ trễ truy vấn của Ins/Twine, D-AVTree và D-AVTree+ tăng dần và chênh lệch giữa các giải pháp là nhỏ. Tuy nhiên, độ trễ truy vấn của CDS OPT lớn hơn CDS Ran và đều lớn hơn gấp hơn 2 lần so với Ins/Twine, D-AVTree và D-AVTree+, bởi CDS phải truy vấn tới nút head của ma trận LBM để lấy thông tin về kích thƣớc ma trận, sau đó mới gửi các thông điệp truy vấn tới các nút trong các partition của ma trận LBM. Khi zipt tăng, thì độ trễ truy vấn của CDS, Twine hầu nhƣ không thay đổi, chỉ có của D-AVTRee và D- AVTree+ tăng hơn (phân biệt đƣợc trên biểu đồ). Khi h giảm, độ trễ truy vấn của D- AVTree và D-AVTree + tăng.

4.2.2.2. Đánh giá độ cân bằng tải (Load balancing):

Đánh giá độ cân bằng tải bởi 2 tiêu chí: số tên tài nguyên lƣu trữ trên mỗi nút, số truy vấn mỗi nút phải thực hiện. Để đánh giá độ cân bằng tải, ta thực hiện các thuật giải pháp với hệ thống mạng có 100.000 tài nguyên, phân bổ cho 5.000 nút và thực hiện 5.000 truy vấn. Giá trị ngƣỡng của ma trận mở rộng LBM đƣợc đặt đến 1% tổng số tài nguyên. Ta sử dụng hàm CFD (comulative distribution function) để tính tỷ lệ tên tài nguyên lƣu trên một nút và tỷ lệ số truy vấn mỗi nút phải thực hiện.

Đánh giá số tên tài nguyên lưu trữ trên mỗi nút:

Số nút lƣu trữ trên 0,4% tổng số tài nguyên của các giải pháp nhƣ biểu đổ trên hình 4.7 dƣới đây:

Biểu đồ số nút lưu trữ trên 0,4% tổng số tài nguyên của các giải pháp 1,78% 1,46% 0,10% 0,04% 0,12% 0,07% 0,00% 1,00% 2,00% 3,00%

% số nút lưu >0,4% tổng số tài nguyên Twine CDS Ran D-AVTRee (6, 25) D-AVTRee+ (6, 25) D-AVTree (2, 128) D-AVTree+ (2, 128)

Hình 4.7. Biểu đồ số nút lƣu trữ trên 0,4% tổng số tài nguyên

Kết quả mô phỏng trên hình 4.7 cho ta thấy: tỷ lệ số nút lƣu trữ >0,4% tổng số tài nguyên của D-AVTree và D-AVTree+ nhỏ hơn rất nhiều so với Twine và CDS. Tỷ lệ này của Twine cao hơn D-AVTree khoảng 17,7 lần, CDS cao hơn D-AVTRee khoảng 14,6 lần; D-AVTree lại cao hơn D-AVTree+ trong từ 1,7 – 2,8 lần. Nhƣ vậy, D-AVTree và D-AVTree+ có độ cân bằng tải tốt hơn Twine và CDS trong việc phân bổ tên tài nguyên trong hệ thống mạng.

So với bộ tham số (h, 1/alpha) là (2, 128), thì D-AVTree và D-AVTree+ của bộ tham số (6, 25) phải lƣu trữ nhiều hơn một chút. Do với bộ (2, 128), số nút bị truy vấn sẽ tăng lên, nên với cặp AV có phân bố đều (zipf = 0,6) trên nhánh AV thì số tài nguyên đƣợc phân bổ cho các nút sẽ tăng lên, nên các nút sẽ phải lƣu trữ tên tài nguyên nhiều hơn.

Hình 4.8 và 4.9 là biểu đồ so sánh tỷ lệ tài nguyên lƣu trữ trên mỗi nút tính theo hàm CDF với zipf = 0,6 và 2 bộ tham số h và 1/alpha tƣơng ứng là (6, 25) và (2, 128):

Hình 4.8. Biểu đồ tỷ lệ lƣu trữ tài nguyên trên mỗi nút với bộ tham số (6, 25).

Hình 4.9. Biểu đồ tỷ lệ lƣu trữ tài nguyên trên mỗi nút với bộ tham số (2, 128).

Hình 4.10. Biểu đồ tỷ lệ lƣu trữ tài nguyên trên mỗi nút với 2 bộ tham số và zipf = 1. Khi zipf = 1, 2 bộ tham số h và alpha, biểu đồ tỷ lệ lƣu trữ tài nguyên của mỗi nút nhƣ trên. Nhìn vào 2 biểu đồ khi zipf tăng, ta thấy, tỷ lệ lƣu trữ tài nguyên tăng khi zipt tăng và tỷ lệ số nút lƣu trữ tài nguyên trên 0,1% thấp hơn.

Khi bộ tham số (h, 1/alpha) thay đổi từ (6, 25) thành (2, 128), tỷ lệ của D- AVTree và D-AVTree+ thay đổi không nhiều, nên 2 biểu đồ với 2 bộ tham số (h, 1/alpha) gần nhƣ nhau.

Đánh giá số truy vấn mỗi nút phải thực hiện:

Ta có kết quả so sánh số truy vấn tối đa mà nút phải thực hiện và số nút không thực hiện truy vấn nào đối với từng giải pháp nhƣ biểu đồ ở hình 4.11.

Hình 4.11. Biểu đồ tỷ lệ số truy vấn tối đa nút phải thực hiện

Hình 4.12. Biểu đồ tỷ lệ số nút không thực hiện truy vấn nào

Qua biểu đồ trên hình 4.11 và 4.12, ta thấy tỷ lệ số truy vấn tối đa mà nút phải thực hiện của CDS Random query là lớn nhất trong các giải pháp (7,68%), thấp nhất là Twine (0,24%), D-AVTree (0,6%) và D-AVTree+ (0,44%) có tỷ lệ thấp hơn CDS, ở dạng trung bình tƣơng đƣơng với CDS OPT query (0,4%). Tuy nhiên, tỷ lệ số nút không thực hiện truy vấn nào của D-AVTree+ là thấp nhất (5,36%, khi h giảm là 1,12%), cao nhất là của Twine (50,06%), CDS OPT và D-AVTree ở mức trung bình tƣơng ứng là 23,2% và 19,12%, của CDS Ran (11,44%) tƣơng đƣơng với D-AVTree+ (10,3%) với bộ tham số h và 1/alpha là (6, 25). Khi h giảm, tỷ lệ số truy vấn tối đa mà

nút phải thực hiện của D-AVTree và D-AVTree+ tăng, còn tỷ lệ số nút không thực hiện truy vấn nào lại giảm do khi h giảm thì số truy nút bị truy vấn tăng.

Nhƣ vậy, khả năng cân bằng tải của các nút và tận dụng khả năng hoạt động của các nút khi thực hiện các truy vấn của D-AVTree+ tốt hơn D-AVTree, và tốt hơn các giải pháp khác, khả năng này của Twine kém nhất.

Hình 4.13 và 4.14 dƣới đây thể hiện kết quả mô phỏng số truy vấn mỗi nút phải thực hiện.

Hình 4.13. Biểu đồ tỷ lệ số truy vấn mỗi nút phải thực hiện với zipf = 0,6 và (6, 25)

Hình 4.14. Biểu đồ tỷ lệ số truy vấn mỗi nút phải thực hiện với zipf = 0,6 (2 bộ tham số)

Qua 2 biểu đồ trên hình 4.13 và 4.14, ta thấy, tỷ lệ số nút phải thực hiện dƣới 0,001% tổng số truy vấn là hằng số cho đến khi tỷ lệ truy vấn là 0,01% tổng số truy

vấn thì tỷ lệ số nút phải thực hiện số truy vấn tăng. Đây chính là mốc để xác định tỷ lệ số nút không thực hiện truy vấn nào, đã đƣợc đánh giá ở trên. Tỷ lệ số nút phải thực hiện trên 0,4% tổng số truy vấn của D-AVTree+ là thấp nhất (0,02%), D-AVTree cao hơn (0,18%), cao nhất là của CDS Ran là 50,22%. Khi h giảm thì tỷ lệ này của D- AVTree+ tăng, là 7,5% và của D-AVTree là 2,44%. Nhƣ vậy, D-AVTree và D- AVTree+ có khả năng cân bằng tải truy vấn vƣợt trội hơn hẳn các giải pháp còn lại.

Hình 4.15. Biểu đồ tỷ lệ số truy vấn mỗi nút phải thực hiện với zipf = 1 (2 bộ tham số)

Khi zipf tăng lên 1 (hình 4.15) thì tỷ lệ số truy vấn mỗi nút phải thực hiện cao hơn so với zipf = 0,6.

4.2.2.3. Đánh giá tỷ lệ truy vấn thành công (query hit ratio)

Để đánh giá tỷ lệ truy vấn thành công (Query hit ratio), ta giả sử tài của mỗi nút là nhƣ nhau. Nếu số tên tài nguyên đƣợc lƣu trên mỗi nút vƣợt quá tải của nút thì các tên tài nguyên mới sẽ bị loại bỏ.

Ta định nghĩa tỷ lệ truy vấn thành công (query hit ratio) là tỷ lệ tên tài nguyên đƣợc trả về thành công cho các nút thực hiện truy vấn so với tổng số tên tài nguyên mà thực tế đáp ứng với tên truy vấn. Ta thực hiện đánh giá với 100.000 tài nguyên, 10.000 nút, 5.000 truy vấn, với tải của nút tăng dần. Kết quả mô phỏng nhƣ các biểu đồ dƣới đây.

Với cùng bộ tham số zipf, khi tải tăng, tỷ lệ truy vấn thành công của các giải pháp đều tăng và đến một mức tải nào đó (ứng với từng giải pháp), tỷ lệ này đạt 100%. Kết quả mô phỏng cho thấy, tỷ lệ truy vấn thành công của Twine là thấp nhất. Với tải dƣới 1%, tỷ lệ truy vấn thành công của D-AVTree+ tốt hơn hẳn, gấp 2 D-AVTRee, và gần gấp 2 lần so với CDS, nhƣng tải tăng, thì tỷ lệ truy vấn thành công của các giải

pháp đều tăng, và chênh lệch giữa D-AVTree+ với CDS giảm dần và chúng gần bằng nhau khi tải >= 1%. Tỷ lệ truy vấn thành công của CDS đạt 100% sớm nhất, sau đó đến D-AVTree+ và D-AVTree.

Query hit ratio, node capactity, zipf = 1,0 h = 2, 1/alpha = 128 0,00% 20,00% 40,00% 60,00% 80,00% 100,00% 0,1% 0,2% 0,4% 1,0% 2% Node Capacity Q ue ry hi t ra ti o Ins/Twine CDS Ran D-AVTree D-AVTree+ CDS OPT

Hình 4.16. Biểu đồ tỷ lệ số truy vấn thành công với zipf = 1

Với zipf = 0,6 và 0,8 thì tỷ lệ truy vấn của các giải pháp đều tăng so với kết quả khi zipf = 1, D-AVTree+ đã cho thấy hiệu quả vƣợt trội khi zipf giảm, CDS và D- AVTree là tƣơng đƣơng.

Query hit ratio, node capactity, zipf = 0,6 h = 2, 1/alpha = 128 0,00% 20,00% 40,00% 60,00% 80,00% 100,00% 0,1% 0,2% 0,4% 1,0% 2% Node Capacity Q ue ry hi t r at io Ins/Twine CDS Ran D-AVTree D-AVTree+ CDS OPT

Hình 4.17. Biểu đồ tỷ lệ số truy vấn thành công với zipf = 0,6

Nhƣ vậy, khi zipf giảm, tỷ lệ truy vấn thành công của các giải pháp đều đƣợc cải thiện (tăng). Đặc biệt, khi zipf giảm, tải của nút cao, D-AVTree+ có tỷ lệ truy vấn

thành công tƣơng đƣơng CDS và D-AVTRee và gần đạt 100%, tỷ lệ truy vấn thành công của Twine là thấp nhất. Bởi khi zipf giảm, sự phổ biến của các cặp AV trong các tên tài nguyên giảm, nên khả năng cần bằng tải của nút tốt hơn. Do đó, hiệu quả truy vấn của các giải pháp sẽ tốt hơn.

Dƣới đây là các biểu đồ so sánh riêng cho Ins/Twine và CDS khi zipf thay đổi.

Tỷ lệ truy vấn thành công của Twine khi zipf và tải của nút thay đổi 0,0% 20,0% 40,0% 60,0% 80,0% 100,0% 0,4% 1% 2% 5% 10% 20% 30% 50% Tải của nút T lệ tr uy v ấn th àn h ng

Twine với Zipf 1

Twine với Zipf 0,8

Twine với Zipf 0,6

Hình 4.18. Biểu đồ tỷ lệ số truy vấn thành công của Twine khi zipf thay đổi

Tỷ lệ truy vấn thành công của CDS khi zipf và tải của nút thay đổi 0,0% 20,0% 40,0% 60,0% 80,0% 100,0% 0,4% 1% 2% 5% 10% Tải của nút T lệ tr uy v ấn th àn h ng CDS với Zipf 1 CDS với Zipf 0,8 CDS với Zipf 0,6

Hình 4.19. Biểu đồ tỷ lệ số truy vấn thành công của CDS khi zipf thay đổi

4.2.2.4. Tổng hợp nhận xét kết quả mô phỏng

Qua kết quả mô phỏng, đánh giá hiệu năng các giải pháp, luận văn đƣa ra bảng tóm tắt, tổng kết đánh giá theo từng tiêu chí mô phỏng nhƣ bảng dƣới đây.

Tiêu chí đánh giá Nhận xét kết quả mô phỏng

Đề xuất lựa chọn giải pháp tùy theo trƣờng hợp 1. Đánh giá hiệu

quả của giải pháp

- Số bản sao tên tài nguyên

- Khi số tài nguyên tăng, số bản sao tài nguyên là hằng số.

- Số bản sao trong Twine cao nhất.

- Số bản sao của D-AVTree và D-AVTree+ bằng nhau và thấp nhất, ngay cả khi thay đổi h, alpha.

- Không thay đổi khi zipf thay đổi.

D-AVTree và D- AVTree+ là lựa chọn tốt hơn cả.

- Số nút cần trả lời cho 1 truy vấn

- Khi số tài nguyên tăng: D-AVTree+ cao

Một phần của tài liệu Đánh giá các phương pháp tìm kiếm thông tin trong hệ thống mạng ngang hàng có cấu trúc (Trang 49)