Tất cả người dùng được gán độ ưu tiên bằng nhau, nhưng vấn đề là những người dùng khác nhau có yêu cầu khác nhau, như file servers và users. Vấn đề này được giải quyết trong thuật toán lập lịch hàng đợi công bằng có trọng số (WFQ – Weighted Fair Queuing).
2.2.5 Round Robin
Round Robin (RR) [06] là thuật toán tính đến hệ thống chia sẻ về thời gian. Bộ lập lịch gán các slot thời gian cho mỗi hàng đợi vào các phần bằng nhau. Mỗi hàng đợi xử lý 1 gói tin, đi 1 vòng qua các hàng đợi và lặp lại vòng đến khi các gói tin trong các hàng đợi được xử lý xong. Tiến trình xử lý các gói tin đi vòng tròn lần lượt và không có mức ưu tiên riêng cho các gói tin.
Thuật toán lập lịch RR là đơn giản, dễ thực hiện. Thuật toán này có thể được áp dụng chung với các thuật toán lập lịch khác. Trong dịch vụ lập lịch nỗ lực cao nhất (best effort), lập lịch RR được sử dụng để thay thế cho lập lịch FCFS.
Quá trìnhthực hiện:
- Bước 1: Phân bố các khe thời gian cho mỗi hàng đợi ưu tiên.
- Bước 2: Bắt đầu với gói tin trong hàng đợi đầu tiên và tiếp tục các gói tin trong các hàng đợi kế tiếp.
- Bước 3: Sau khi đi hết 1 vòng qua các hàng đợi, quá trình xử lý quay lại hàng đợi đầu tiên và quét lần lượt qua các hàng đợi.
- Bước 4: Quá trình lặp lại cho đến khi các gói tin trong các hàng đợi được xử lý xong.
Tuy nhiên, lập lịch RR là không công bằng khi kích thước các gói tin là không bằng nhau. Nếu yêu cầu cần đảm bảo QoS, thuật toán RR có thể được thay thế bằng thuật toán lập lịch DRR - Deficit Round-Robin, WRR - Weighted Round-Robin, hoặc WFQ - Weighted Fair Queuing.
46
2.2.6 Weighted Round Robin
Thuật toán lập lịch vòng có trọng số (WRR - Weighted Round Robin) [19] là thuật toán lập lịch mở rộng của thuật toán Round Robin, được thực hiện với những nguồn tài nguyên của các mạng là khác nhau. Thuật toán WRR là nền tảng cho một loạt các thuật toán lập lịch hàng đợi được thiết kế để giải quyết các hạn chế của thuật toán PQ (Priority Queuing) và thuật toán FQ (Fair Queuing).
Thuật toán WRR phục vụ một số lượng lớn các gói tin đã được tính toán trọng số (weight) của dữ liệu được chia theo trung bình kích thước gói tin từ hàng đợi kết nối không rỗng và được sử dụng để phân bổ băng thông giữa các trạm thuê bao SS.
Trong hàng đợi WRR, các gói tin đầu tiên được chiavào các lớp dịch vụ khác nhau (ví dụ, thời gian thực, tương tác và chuyển giao tập tin) và sau đó được gán vào một hàng đợi đặc biệt dành riêng cho lớp dịch vụ. Mỗi hàng đợi có thể được chỉ định một tỷ lệ khác nhau về băng thông và được phục vụ theo vòng thứ tự. Sau khi băng thông được chia theo trọng số, để tránh bị cạn kiệt băng thông, thuật toán WRR đảm bảo rằng hàng đợi có độ ưu tiên thấp hơn không bị từ chối truy cập vào bộ đệm và băng thông của đầu ra. Trongthuật toán WRR, mỗi hàng đợi sẽ có ít nhất một gói tin được lấy ra trong mỗi vòng dịch vụ. Để cung cấp các tỷ lệ chính xác của băng thông cho mỗi lớp dịch vụ, tất cả các gói tin trong hàng đợi phải có kích thước giống nhau hoặc kích thước trung bình các gói tin được biết trước. [19]
Các bước thực hiện:
- Bước 1: Các gói tin được chia vào các lớp dịch vụ (hàng đợi) khác nhau. - Bước 2: Gán cho các hàng đợitỷ lệ băng thôngkhác nhau.
- Bước 3: Xử lý các gói tintheothuật toán lập lịch vòng RR.
Hàng đợi WRR hỗ trợ việc phân bổ băng thông khác nhau cho các lớp dịch vụ khác nhau:
- Cho phép hàng đợi băng thông cao hơn gửi nhiều hơn một gói đơn mỗi khi nó được truy cập trong một vòng dịch vụ.
- Cho phép mỗi hàng đợi chỉ được gửi một gói đơn mỗi khi nó được truy cập, nhưng để hàng đợi có băng thông cao hơn được truy cập nhiều lần hơn trong một vòng dịch vụ.
47