Di chuyển định danh để thực hiện cân bằng tải

Một phần của tài liệu (LUẬN án TIẾN sĩ) nghiên cứu nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc (Trang 65)

Dựa trên thông tin trả lời từ thư mục i, nút n1 sẽ yêu cầu nút nhẹ tải mà nó biết dịch chuyển định danh về vị trí giữa predecessor(n1) và n1 (nút n5 và

n1 tương ứng trong hình vẽ 2.8) để nhận tải hộ nút n1. Nếu khơng tìm được

nút nhẹ tải nào thỏa mãn, nút n1 sẽ hỏi các thư mục cịn lại. Hình vẽ 2.8 mơ tả quá trình này.

Trong hình 2.8 nút n1 hỏi thư mục d1 để tìm một nút nhẹ tải có thể dịch

chuyển được (đường mũi tên nét liền). Nút n3 là nút nhẹ tải có thể di chuyển được do thư mục d1 cung cấp. Định danh của nút nhẹ tải n3 được chuyển đến giữa predecessor(n1) và n1 để nhận tải hộ nút n1 (đường mũi tên nét đứt).

Thuật tốn ThresholdPlus đặt mục tiêu duy trì hệ số sử dụng của một nút trong một tỷ lệ ρ, trái ngược với các giá trị giữa giá trị nhẹ tải và quá tải như các thuật toán khác. Thuật tốn ThresholdPlus mơ tả trong đoạn giả mã trong hình 2.9 được thực hiện bởi một nút n tại thời điểm t.

Hình 2.7 Giả mã của thuật toán ThresholdPlus

Các nút thiết lập mức hệ số sử dụng hiện tại và thỏa mãn điều kiện hệ số sử dụng tăng thêm một nếu công việc tăng theo hệ số ρ, trong đó c là một

hằng số nhỏ (dòng 1).

Khi mức hệ số sử dụng của một nút tăng lên, nút n bắt đầu thực hiện cân bằng tải (dòng 2). Đầu tiên nút n tạo ra một sự điều chỉnh với các nút láng

giềng (dòng 4-9) bằng cách điều chỉnh định danh của nó hoặc định danh của nút predecessor nếu có thể điều chuyển một số truy vấn cho các nút đó. Nếu nút predecessor nhẹ tải so với n, định danh của nó được dịch chuyển đến n

(dịng 8). Nút n cũng có thể dịch chuyển định danh của nó đến gần hơn với nút predecessor để chuyển tải từ n sang nút successor của nó (dịng 9). Nếu

sẽ tìm một nút nhẹ tải trong thư mục và thay đổi vị trí nút tải nhẹ để trở thành nút predecessor mới của nó (dịng 11- 12). Nút nhẹ tải được chọn lý thưởng

nhất là có thể nhận được một nửa tải của nút n.

Tham số ρ là một tham số quan trọng. Nếu ρ quá lớn, quá trình cân bằng tải sẽ xảy ra chậm. Nếu nó quá nhỏ, các nút sẽ thực hiện nhiều điều chỉnh không cần thiết. Tham số ρ được thiết lập sao cho sự điều chỉnh diễn ra chậm nhưng vẫn tạo ra sự cân bằng tải nếu một nút trở thành quá tải thậm chí là ngay cả khi hệ số sử dụng khơng thay đổi. Tham số ρ được thiết lập trong cài đặt của thuật tốn. Do thuật tốn ThresholdPlus ln chọn nút được sử dụng ít nhất để di chuyển, các nút có khả năng xử lý rất cao (và do đó hệ số sử dụng thấp) có thể có xu hướng được di dời thường xuyên.

Thuật toán ThresholdPlus có hai điểm khác biệt so với các thuật toán

trước đó. Thứ nhất, thuật tốn sử dụng thư mục để chứa các nút nhẹ tải có thể di chuyển được. Thư mục đảm bảo chắc chắn rằng khi trong hệ thống cịn có một nút nhẹ tải có thể di chuyển được thì nút thực hiện cân bằng tải ln ln tìm được nút nhẹ tải đó một cách nhanh chóng. Trong thuật tốn Threshold

ban đầu, để tìm một nút nhẹ tải nút nặng tải phải mất chi phí là O(M) với M là số nút lựa chọn để thử, trong khi đó với thuật tốn ThresholdPlus chi phí này là O(1). Thứ hai, thư mục trong thuật toán ThresholdPlus chỉ chứa các nút

nhẹ tải có thể di chuyển được do đó số lượng nút nhẹ tải trong thư mục ít hơn nhiều so với số server ảo nhẹ tải trong các thuật toán cân bằng tải dịch chuyển

server ảo có sự dụng khái niệm thư mục. Cải tiến này làm giảm đáng kể việc

2.4. Đánh giá thuật toán

2.4.1. Phương pháp đánh giá

Chúng tơi sử dụng chương trình mơ phỏng để đánh giá hiệu quả của thuật toán ThresholdPlus và so sánh với thuật toán cân bằng tải theo ngưỡng do Ganesan đề xuất do thuật toán ThresholdPlus được cải tiến từ thuật tốn

Threshold và có cùng cách tiếp cận với Threshold.

Chương trình mơ phỏng được phát triển từ chương trình mơ phỏng của Jonathan Ledlie [44] và hoạt động theo các bước thời gian rời rạc. Mỗi bước hoạt động gồm ba kịch bản: nút tham gia và rời hệ thống, cập nhật bảng tìm đường, truy vấn dữ liệu và thực hiện cân bằng tải. Bằng cách sử dụng mô phỏng chúng tơi có thể theo dõi hiệu năng của hệ thống trong nhiều kịch bản khác nhau. Trong các thí nghiệm mơ phỏng chúng tơi lựa chọn 10 thư mục và lưu trữ ở 10 nút ngẫu nhiên trong mạng gồm 4096 nút vật lý. Số nút được chọn để thử trong thuật toán Threshold là Log2(N), với N=4096.

Nút vào và ra: Tại mỗi bước các nút ra/vào hệ thống theo phân bố xác

suất Pareto [36]. Chúng tôi tạo ra một số phân bố xác suất để mô phỏng thời điểm ra/vào của các nút với thời gian sống trung bình của các nút trong mạng là 15 phút, 30 phút, 1 giờ, 2 giờ và 3 giờ. Mô phỏng thực hiện trong thời gian là 3 giờ. Chúng tôi ghi lại các thống kê trong nửa cuối của thời gian mô phỏng để tránh các kết quả mô phỏng không ổn định. Khả năng xử lý truy vấn của một nút là một số được sinh ngẫu nhiên có giá trị từ 1 đến 399,999. Khả năng xử lý truy vấn trung bình của một nút là khoảng 8000 truy vấn.

Cập nhật bảng tìm đường: Mỗi nút mới tham gia vào hệ thống khởi tạo

một bảng tìm đường rỗng. Các nút dựa theo cơ chế Chord để điền thông tin vào log(N) hàng của bảng tìm đường [21].

Truy vấn dữ liệu: Các nút khởi tạo các câu truy vấn một cách ngẫu

nhiên từ một tập khóa truy vấn. Khóa truy vấn được sinh ra theo theo phân bố Uniform hoặc phân bố Zipf phụ thuộc vào từng thí nghiệm cụ thể. Tập các khóa truy vấn được sinh theo phân bố xác suất Zipf có mức độ phổ biến khác nhau dựa trên một tham số gọi là thứ hạng. Xác suất để một khóa xuất hiện trong tập khóa truy vấn là 1

𝑟 với r là thứ hạng của khóa và là một số ngẫu

nhiên giữa 1 và tổng số khóa truy vấn,  là một hằng số phản ảnh mức độ phổ biến của một khóa trong tập khóa,  càng lớn thì mức độ phổ biến của một

khóa càng lớn và ngược lại.

Mỗi nút sử dụng một finger (một hàng) thích hợp trong bảng tìm đường để chuyển câu truy vấn tới đích. Khi một nút chuyển tiếp câu truy vấn đến đích, hoặc thực hiện duy trì bảng tìm đường thì tải của nút đó tăng thêm một đơn vị. Nếu nút chuyển tiếp câu truy vấn có tải vượt quá khả năng xử lý của nó thì câu truy vấn đó được gọi là khơng thành cơng. Một câu truy vấn được gọi là thành cơng nếu nó đến được nút đích.

Cân bằng tải: Định kỳ trong khoảng thời gian trung bình 30 giây, các

nút kiểm tra ngưỡng tải và thực hiện cân bằng tải nếu tải của nút vượt quá ngưỡng cho phép.

Chúng tôi đánh giá hiệu quả của phương pháp đề xuất thông qua các tham số mô tả trong các phần dưới đây.

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 tố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 tố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ờ.

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 tốn của chúng tơi có tỷ lệ thành cơng lớn hơn thuật tố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 tố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 ln đượ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 tốn tương đương nhau.

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 tốn của chúng tơi có khả năng thích nghi tốt hơn thuật tố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ệ

thành cơng của hai thuật tốn đều thấp. Tuy nhiên, thuật tố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 tố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

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 tốn của chúng tơi có tỷ lệ thành cơng lớn hơn thuật tố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 tố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 q tải, do đó tỷ lệ thành cơng của cả hai thuật tố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 tốn cân bằng tải 2.4.2.4. Đánh giá chi phí của các thuật tốn cân bằng tải

Chi phí của các thuật tố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 tồ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

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 tốn cân bằng tải Kết quả thí nghiệm cho thấy: 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 tốn đề xuất, số thơng báo của

tải ít. Trong khi đó, với thuật tốn Threshold số thơng báo tìm kiếm nút nhẹ tải của thuật tốn ít. Thuật tố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 tố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 tốn đề xuất chỉ bằng một nửa chi phí của thuật tốn Threshold ban đầu.

2.5. Kết luận

Chương 2 của luật án đã trình bày một số nghiên cứu liên quan về cân bằng tải trong mạng ngang hàng có cấu trúc và đề xuất một thuật toán để nâng cao khả năng cân bằng tải xử lý các câu truy vấn của các nút trong mạng, tăng tỷ lệ thành công của các câu truy vấn qua đó nâng cao hiệu năng hoạt động cho mạng ngàng có cấu trúc.

Thuật tốn cân bằng tải đề xuất có hai đóng góp chính: thứ nhất, thuật

toán xem xét cả tải 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. Thứ hai, thuật tốn chỉ mất thời gian hằng số để tìm kiếm chính xác và nhanh chóng một nút nhẹ tải cho q trình thực hiện cân bằng tải, do đó làm giảm số thơng báo tìm kiếm nút nhẹ tải.

Thuật toán đề xuất được đánh giá, so sánh với thuật tốn Threshold

ngun thuỷ trên các tiêu chí tỷ lệ truy vấn thành cơng và chi phí tìm kiếm nút nhẹ tải. Trong các điều kiện thí nghiệm như nhau, thuật tốn đề xuất có tỷ lệ

truy vấn thành cơng cao hơn so với thuật tốn Threshold khoảng 12%. Đồng thời chi phí cho việc thực hiện cân bằng tải giảm xuống khi số lượng truy vấn đặt vào một nút tăng lên, có nghĩa là thuật tốn đề xuất thích hợp cho hệ thống hoạt động ở ngưỡng tải nặng.

Kết quả nghiên cứu và thuật tốn chúng tơi đề xuất được cơng bố trong báo cáo khoa học tại hội thảo quốc gia về CNTT năm 2009 với tên gọi:

“Nâng cao hiệu quả của thuật toán cân bằng tải theo ngưỡng trong mạng ngang hàng có cấu trúc”.

Chương 3. ĐIỀU KHIỂN TẮC NGHẼN TRONG MẠNG NGANG

Một phần của tài liệu (LUẬN án TIẾN sĩ) nghiên cứu nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc (Trang 65)

Tải bản đầy đủ (PDF)

(158 trang)