Thuật toán Weighted Round Robin (Ratio)

Một phần của tài liệu NGHIÊN CỨU KỸ THUẬT NETWORK LOAD BALANCING TRONG HỆ THỐNG MẠNG LINUX (Trang 49 - 50)

c) Nhận biết ngữ cảnh trong caches (Content-aware cache switching)

2.6.3Thuật toán Weighted Round Robin (Ratio)

Nguyên lý hoạt động của thuật toán Weighted Round Robin (WRR) này cũng giống như thuật toán RR, yêu cầu từ phía người dùng sẽ được bộ cân bằng tải chuyển đến các server theo thứ tự xoay vòng. Sự khác biệt duy nhất ở đây là thuật toán WRR còn quan tâm đến khả năng xử lý (cấu hình) của các server. Trong cùng một chu kỳ, một server có khả năng xử lý gấp đôi server khác sẽ nhận được gấp đôi yêu cầu từ phía bộ cân bằng tải.

Giả sử có 4 server A,B,C,D có cấu hình khác nhau, A và B có cấu hình giống nhau, C và D có cấu hình mạnh gấp đôi A. Vậy chúng ta có thể đánh trọng số cho A

và B là 1, C và D là 2. Khi đó theo thuật toan WRR, thứ tự server nhận yêu cầu từ phía bộ cân bằng tải sẽ là ABCDCD.

Trong thuật toán này có thể được thực thi như sau: giả sử có một hàng dợi để chứa các server sẽ nhận request. Nếu như một server trọng số n, trong hàng đợi sẽ có n chỉ mục (entry) của cùng một server này, chẳng hạn như ở ví dụ trên, mỗi server A,B sẽ có một chỉ mục, mỗi server C,D sẽ có 2 chỉ mục. Với cách lưu chỉ mục như vậy trong hàng đợi, các server trong WRR sẽ được lấy ra theo thứ tự hoàn toàn giống như RR.

Thuật toán WRR hoạt động tốt hơn RR khi các server trong cluster có cấu hình khác nhau. Tuy nhiên sử dụng thuật toán này có thể dẫn tới sự mất cân bằng tải động nếu như tải của các yêu cầu liên tục thy đổi trong một khoảng rộng (ví dụ như các yêu cầu xem video hoặc tải các file có dung lượng lớn xen kẽ với các yêu cầu đọc thông tin,…). Trong một khoảng thời gian ngắn, hoàn toàn có khả năng phần lớn các yêu cầu có tải cao sẽ được chuyển hướng đến cùng một server.

Một phần của tài liệu NGHIÊN CỨU KỸ THUẬT NETWORK LOAD BALANCING TRONG HỆ THỐNG MẠNG LINUX (Trang 49 - 50)