Chương 2. CÂN BẰNG TẢI TRONG MẠNG NGANG HÀNG CÓ CẤU TRÚC
2.4. Đánh giá thuật toán
2.4.2. Các kết quả mô phỏng
2.4.2.1. Ảnh hưởng của thời gian sống tới các thuật toán cân bằng tải.
Thí nghiệm đầu tiên chúng tôi thực hiện để đánh giá khả năng thích ứng của các thuật toán cân bằng tải khi thời gian sống trung bình của một nút thay đổi. Các file theo dõi sự ra/vào của các nút trong mạng được tạo ra với thời gian sống trung bình của các nút là 15 phút, 30 phút, 1 giờ, 2 giờ và 4 giờ.
58
Mỗi lần chạy thí nghiệm, khả năng xử lý truy vấn của một nút trong mạng được giữ cố định, mỗi nút được khởi tạo trung bình 10 câu truy vấn trong một giây. Truy vấn được khởi tạo theo dạng Uniform và dạng Zipf với tham số
=1.2.
Kết quả của thí nghiệm được vẽ trong hình 2.10 cho thấy với số truy vấn trung bình đặt vào hệ thống 10 truy vấn/nút, thuật toán của chúng tôi có tỷ lệ thành công lớn hơn thuật toán Threshold khoảng 9% đối với truy vấn dạng Uniform và khoảng 14% đối với truy vấn dạng Zipf khi thời gian sống trung bình của các nút trong mạng thấp. Khi thời gian sống trung bình của các nút trong mạng thấp, các nút trong mạng vào ra của thường xuyên hơn, dẫn đến các nút trong mạng bị quá tải do phải chịu tải của nút hàng xóm rời mạng nhưng không tìm được nút nhẹ tải theo cơ chế tìm kiếm thông qua nút successor của Chord, do đó tỷ lệ tìm kiếm thành công một nút nhẹ tải giảm đi.
Trong khi đó thuật toán đề xuất có cơ chế lưu trữ nút nhẹ tải ở thư mục cho nên việc tìm kiếm một nút nhẹ tải luôn được đảm bảo, chính cơ chế này giúp cho thuật toán cải tiến đạt được trạng thái cân bằng giữa các nút tốt hơn và hoạt động tốt hơn trong trường hợp này. Khi thời gian sống trung bình của các nút trong mạng lớn (4 giờ), mạng có độ ổn định cao, tỷ lệ truy vấn thành công của hai thuật toán tương đương nhau.
59
Hình 2.8. Thời gian sống trung bình của một nút thay đổi, các câu truy vấn thực hiện với phân bố Zipf và Uniform.
2.4.2.2. Ảnh hưởng số lượng câu truy vấn tới thuật toán cân bằng tải Thí nghiệm thứ hai thực hiện để đánh giá hiệu quả của các thuật toán khi số lượng câu truy vấn đặt vào hệ thống tăng lên. Trong đánh giá này chúng tôi giữ cố định khả năng xử lý truy vấn của các nút, thời gian sống trung bình của các nút trong mạng là 2 giờ, các câu truy vấn đặt vào hệ thống được phân bổ dưới dạng Uniform và dạng Zipf với =1.2. Số lượng trung bình các câu truy vấn đặt vào một nút trong hệ thống tăng từ 0.01/giây truy vấn đến 100 truy vấn/giây.
Kết quả thí nghiệm được vẽ trong hình 2.11 cho thấy thuật toán của chúng tôi có khả năng thích nghi tốt hơn thuật toán Threshold khoảng 6% đối với truy vấn dạng Uniform và khoảng 10% đối với truy vấn dạng Zipf. Khi số lượng câu truy vấn trung bình đặt vào mỗi nút thấp (0.01 truy vấn/giây, 0.1 truy vấn/giây), các nút trong mạng chưa bị quá tải do đó tỷ lệ thành công của cả hai thuật toán đều đạt rất cao (gần 100%). Khi số lượng các câu truy vấn trung bình đặt vào mỗi nút tăng cao (khoảng 100 truy vấn/giây), trong mạng tồn tại nhiều nút quả tải không có khả năng xử lý các câu truy vấn, do đó tỷ lệ
60
thành công của hai thuật toán đều thấp. Tuy nhiên, thuật toán chúng tôi đề xuất vẫn đạt tỷ lệ các câu truy vấn thành công cao hơn.
Uniform: Số câu truy vấn đặt vào một nút
Zipf: Số câu truy vấn đặt vào một nút
Hình 2.9. Số câu truy vấn đặt vào một nút thay đổi, truy vấn được phân bố ở dạng Zipf và Uniform.
2.4.2.3. Ảnh hưởng câu truy vấn dạng Zipf tới thuật toán cân bằng tải Trong thí nghiệm tiếp theo chúng tôi đánh giá ảnh hưởng của câu truy vấn dạng Zipf tới các thuật toán cân bằng tải. Các tham số khả năng xử lý truy vấn của các nút trong mỗi lần chạy thí nghiệm được giữ không đổi, thời gian sống trung bình của một nút trong mạng là 2 giờ, số truy vấn trung bình đặt vào mỗi
61
nút là 10 truy vấn/giây. Khóa truy vấn phân bố cho các nút trong mạng theo dạng Zipf với tham số thay đổi ( = 0.8, 1.2, 2.4 và 4.8).
Kết quả thí nghiệm được vẽ trong hình 2.12 cho thấy thuật toán của chúng tôi có tỷ lệ thành công lớn hơn thuật toán Threshold khoảng 5%. Khi tham số thấp ( = 0.8), các khóa có tính phổ biến tương đối đồng đều, tỷ lệ thành công của các thuật toán đạt tương đối cao. Khi tham số cao ( = 4.8), trong mạng tồn tại nhiều khóa có tính phổ biến cao, câu truy vấn tập trung nhiều vào một số nút, các nút ở trong tình trạng quá tải, do đó tỷ lệ thành công của cả hai thuật toán tương đối thấp.
Hình 2.10. Truy vấn đặt vào các nút ở dạng phân bố Zipf 2.4.2.4. Đánh giá chi phí của các thuật toán cân bằng tải
Chi phí của các thuật toán cân bằng tải được đánh giá bằng số thông báo phát ra để tìm kiếm các nút nhẹ tải trong quá trình thực hiện cân bằng tải. Chi phí này được đánh giá thông qua các mô phỏng. Số thông báo này được đếm và ghi lại trong toàn bộ thời gian thực hiện mô phỏng, sau đó được tính trung bình trong một giây. Trong mô phỏng chúng tôi giữ cố định thời gian sống
62
của một nút là 30 phút, thay đổi số truy vấn đặt vào một nút lần lượt là 10, 20, 40, 60, 80, 100 truy vấn/giây. Khóa truy vấn đặt vào các nút được thực hiện dưới dạng Uniform và Zipf. Thời gian thực hiện thí nghiệm trong 1 giờ. Kết quả thí nghiệm được vẽ trong hình 2.13.
Uniform: tốc độ gửi truy vấn thay đổi
Zipf: tốc độ gửi truy vấn thay đổi
Hình 2.11. Chi phí của các thuật toán cân bằng tải Kết quả thí nghiệm cho thấy:
- Khi số lượng truy vấn đặt vào một nút ở tỷ lệ thấp, trong mạng tồn tại nhiều nút nhẹ tải và ít nút nặng tải. Với thuật toán đề xuất, số thông báo của nút nhẹ tải với thư mục nhiều, số thông báo truy vấn thư mục để tìm nút nhẹ
63
tải ít. Trong khi đó, với thuật toán Threshold số thông báo tìm kiếm nút nhẹ tải của thuật toán ít. Thuật toán đề xuất hoạt động không hiệu quả trong trường hợp này.
- Khi số lượng truy vấn đặt vào một nút tăng dần, trong mạng tồn tại nhiều nút nặng tải và ít nút nhẹ tải, việc thực hiện cân bằng tải được thực hiện nhiều hơn. Với thuật toán đề xuất, số lượng thông báo của nút nhẹ tải cho thư mục giảm, số lượng thông báo truy vấn thư mục để tìm nút nhẹ tải tăng. Số lượng thông báo tìm kiếm nút nhẹ tải của thuật toán Threshold ban đầu tăng nhanh. Trong trường hợp này, thuật toán đề xuất hoạt động hiệu quả hơn thuật toán Threshold ban đầu rất nhiều. Khi số truy vấn đặt vào một nút đạt ngưỡng 100 truy vấn/giây, chi phí của thuật toán đề xuất chỉ bằng một nửa chi phí của thuật toán Threshold ban đầu.