Xếp lịch round-robin phục vụ lƣu lƣợng theo gúi chứ khụng phải theo một lƣợng nhỏ từ mỗi hàng đợi khụng trống. Đú là cỏch đơn giản nhất để mụ phỏng GPS. Nú thể hiện chớnh xỏc bộ xếp lịch GPS nếu tất cả cỏc gúi đều cú chung kớch thƣớc. Round-robin theo trọng số là một kỹ thuật xếp lịch mở rộng, trong đú từng luồng đƣợc gỏn một trọng số. WRR phục vụ một luồng theo tỷ lệ với trọng số của nú.
Xếp lịch WRR rất thớch hợp khi sử dụng ma trận chuyển mạch ATM cho bộ chuyển mạch. Ở trong đú, ma trận chuyển mạch xử lý cỏc gúi thành cỏc tế bào (cell), và WRR đƣợc dựng để xếp lịch cỏc tế bào trong cỏc hàng đợi. WRR thực chất là round-robin theo tế bào, và trọng số xỏc định bao nhiờu tế bào đƣợc xếp lịch trong mỗi lƣợt round-robin. Do vậy, mỗi hàng đợi chia xẻ băng thụng giao tiờp theo tỷ lệ với trọng số, độc lập với cỏc kớch thƣớc của gúi tin.
Nhƣng ta chỉ cú thể xếp lịch cỏc gúi, chứ khụng phải cỏc tế bào. Vỡ vậy, tất cả cỏc tế bào của cựng một gúi đƣợc phục vụ trong cựng một lƣợt, ngay cả khi ta cần mƣợn trƣớc một số trọng số. Để hỗ trợ cỏc gúi cú kớch thƣớc thay đổi, MWRR sử dụng bộ đếm khấu trừ ở từng hàng đợi WRR. Do vậy MWRR cũng cú đƣợc một số đặc điểm của thuật toỏn round-robin khấu trừ (DRR).
Trƣớc khi một hàng đƣợc phục vụ, bộ đếm khấu trừ của nú đƣợc khởi tạo bằng giỏ trị trọng số của hàng đợi. Một gúi từ một hàng đợi đƣợc xếp lịch chỉ khi bộ đếm khấu trừ lớn hơn 0. Sau khi phục vụ một gúi cú kớch thƣớc n tế bào, bộ đếm sẽ bị trừ đi n. Cỏc gúi đƣợc xếp lịch chừng nào bộ đếm cũn lớn hơn 0. Nếu khụng, ta chuyển tới hàng tiếp theo. Trong mỗi vũng tiếp theo, bộ đếm khấu trừ
đƣợc tăng lờn thờm trọng số của hàng đợi. Nếu bộ đếm khấu trừ vẫn nhỏ hơn 0 thỡ khụng gúi nào đƣợc xếp lịch. Đến khi nào bộ đếm trở nờn lớn hơn 0 thỡ cỏc gúi mới đƣợc xếp lịch. Sau khi phục vụ một gúi, bộ đếm khấu trừ lại giảm đi giỏ tri bằng số tế bào trong gúi. Nhờ sử dụng bộ đếm khấu trừ, về dài hạn, MWRR làm việc độc lập với cỏc kớch thƣớc của gúi thay đổi.
Hỡnh 2-15 Cỏc hàng đợi WRR với cỏc bộ đếm khấu trừ trƣớc khi bắt đầu phục vụ
Dải thụng hiệu dụng cho mỗi hàng đợi tỷ lệ với trọng số của nú.
Dải thụng hàng đợi hiệu dụng = (trọng số hàng đợi * dải thụng của giao diện)/tổng của tất cả trọng số cỏc hàng đợi tớch cực
Bảng 2-7 Cỏc trọng số của cỏc hàng đợi
Hàng đợi Trọng số
2 4
1 3
0 2
Minh hoạ hoạt động của MWRR
2-7. Hỡnh 2-15 mụ tả cỏc hàng đợi với cỏc bộ đếm khấu trừ của chỳng. Cỏc bộ đếm khấu trừ đƣợc sử dụng để giỳp WRR hỗ trợ cỏc kớch thƣớc gúi khỏc nhau.
Cỏc hàng đợi bao gồm cỏc tế bào đƣợc xếp hàng, và cỏc tế bào làm nờn một gúi đƣợc đỏnh dấu với cựng mầu sắc. Vớ dụ hàng đợi 2 cú cỏc gúi kớch thƣớc 2, 3, 4 tế bào.
Hàng đợi 0 là hàng đợi đầu tiờn đƣợc phục vụ. Bộ đếm khấu trừ đƣợc khởi tạo giỏ trị 2, là gớa trị của trọng số của hàng đợi. Dẫn đầu trong hàng đợi là một gúi 4 tế bào. Do vậy, sau khi truyền gúi, bộ đếm khấu trừ cú giỏ trị 2-4=-2. Vỡ bộ đếm khấu trừ cú giỏ trị õm nờn hàng đợi khụng đƣợc phục vụ cho đến khi nú tớch luỹ đến giỏ trị dƣơng. Xem hỡnh 2-16.
Hỡnh 2-16 MWRR sau khi phục vụ hàng đợi 0 trong lƣợt đầu tiờn
Hàng đợi 1 là hàng đợi tiếp theo đƣợc phục vụ. Bộ đếm khấu trừ của nú đƣợc khởi tạo giỏ trị 3. Gúi 3 tế bào ở đầu hàng đợi đƣợc phục vụ, do đú bộ đếm khấu trừ cú giỏ trị 3-3=0.
Hỡnh 2-18 MWRR sau khi phục vụ hàng đợi 2 trong lƣợt đầu tiờn
Bõy giờ đến lƣợt hàng đợi 2 đƣợc phục vụ. bộ đếm khấu trừ của nú đƣợc khởi tạo giỏ trị 4. Gúi 2 tế bào đầu hàng đợi đƣợc phục vụ, làm cho bộ đếm cũn 4-2=2. Gúi 3 tế bào tiếp theo cũng đƣợc phục vụ vỡ bộ đếm khấu trừ vẫn lớn hơn 0. Sau khi gúi 3 tế bào đƣợc phục vụ, bộ đếm khấu trừ là 2 - 3 = -1. Xem hỡnh 2-18.
Cứ theo nguyờn tắc nhƣ vậy, đến cỏc lƣợt tiếp theo, bộ đếm khấu trừ của cỏc hàng đợi sẽ cú giỏ trị bằng giỏ trị của lƣợt trƣớc cộng với trọng số của hàng. Nếu giỏ trị sau khi cộng lớn hơn 0 thỡ hàng sẽ đƣợc phục vụ, trƣờng hợp khỏc thỡ sẽ
chuyển sang phục vụ hàng đợi tiếp theo. Nếu khi đến lƣợt một hàng nào đấy mà hàng đú trống thỡ giỏ trị bộ đếm khấu trừ sẽ đƣợc khởi tạo bằng 0.