- MDRR)
Phần này núi về thuật toỏn MDRR dựng để cấp phỏt tài nguyờn khả dụng trong dũng router 12000 của Cisco. Trọng một bộ xếp lịch DRR, mỗi hàng đợi dịch vụ cú một giỏ trị định mức - một số trung bỡnh cỏc byte đƣợc phục vụ trong mỗi lƣợt – và bộ đếm khấu trừ đƣợc khởi tạo bằng giỏ trị định mức. Mỗi hàng đợi luồng khụng trống đƣợc phục vụ theo kiểu round-robin, xếp lịch trờn cỏc gúi trung bỡnh của cỏc byte định mức trong mỗi lƣợt. Cỏc gúi trong một hàng đợi dịch vụ đƣợc phục vụ chừng nào bộ đếm khấu trừ cũn lớn hơn 0. Mỗi gúi đƣợc phục vụ làm giảm của bộ đếm khấu trừ đi một giỏ trị bằng độ dài của nú tớnh theo byte. Một hàng đợi khụng cũn đƣợc phục vụ sau khi bộ đếm khấu trừ trở thành 0 hoặc số õm. Trong mỗi lƣợt mới, mỗi bộ đếm khấu trừ của hàng đợi khụng trống sẽ tăng thờm một mức giỏ trị định mức.
Sau khi một hàng đợi đƣợc phục vụ, bộ đếm khấu trừ của hàng đợi thể hiện số lƣợng của khoản nợ phỏt sinh trong lƣợt cuối, phụ thuộc vào việc nú đó đƣợc phục vụ bằng hay nhiều hơn số byte định mức đó đƣợc cấp phỏt. Số lƣợng mà hàng đợi đƣợc phục vụ trong lƣợt tiếp theo bị trừ đi khỏi số byte định mức một lƣợng bằng bộ đếm khấu trừ.
Để đảm bảo hiệu quả, ta cần đặt giỏ trị định mức bằng với kớch thƣớc gúi tối đa trong mạng. Điều này đảm bảo cho bộ xếp lịch DRR luụn phục vụ đƣợc ớt nhất một gúi từ mỗi hàng đợi luồng khụng trống.
Chỳ ý
Bộ đếm khấu trừ của hàng đợi luồng trống đƣợc khởi tạo lại bằng 0 để cho giỏ trị của bộ đếm khấu trừ khụng tớch luỹ vụ tận, sẽ dẫn đến tỡnh trạng khụng cụng bằng.
Thuật toỏn DRR tổng quỏt đƣợc mụ tả trong phần này đƣợc cải tiến để cho phộp một hàng đợi trễ thấp. Trong MDRR, tất cả cỏc hàng đợi đƣợc phục vụ theo
kiểu round-robin trừ trƣờng hợp hàng đợi trễ thấp. Ta cú thể định nghĩa hàng đợi này hoạt động theo một trong hai cỏch: theo chế độ ƣu tiờn toàn phần hoặc ƣu tiờn luõn phiờn.
Trong chế độ ƣu tiờn toàn phần, hàng đợi trễ thấp đƣợc phục vụ mỗi khi hàng đợi đú khụng trống. Điều này cho phộp lƣu lƣợng đạt độ trễ thấp nhất cú thể. Tuy nhiờn cú thể thấy ngay rằng cỏc hàng đợi khỏc cú khả năng bị khan hiếm tài nguyờn nờu hàng đợi trễ thấp mức ƣu tiờn cao luụn đầy trong khoảng thời gian dài, Lỳc này, dải thụng cú thể bị chiếm tới 100% cho hàng đợi trễ thấp.
Trong chế độ ƣu tiờn luõn phiờn, hàng đợi trễ thấp đƣợc phục vụ luõn phiờn giữa hàng đợi trễ thấp và cỏc hàng đợi CoS cũn lại. Ngoài hàng đợi trễ thấp, MDRR cũn hỗ trợ đến 7 hàng đợi khỏc, cho tổng số hàng đợi lờn tới 8. Giả sử rằng 0 là hàng đợi trễ thấp, cỏc hàng đợi đƣợc phục vụ theo thứ tự sau: 0, 1, 0, 2, 0, 3, 0, 0, 4, 0, 5, 0, 6, 0, 7.
Trong chế độ ƣu tiờn luõn phiờn, trễ lớn nhất cho hàng đợi 0 bằng với định mức đơn lớn nhất của cỏc hàng đợi khỏc, cũn ở round-robin truyền thống, trễ của hàng đợi 0 bằng tổng tất cả cỏc định mức của cỏc hàng đợi khỏc.
Ngoài việc chiếm mất tài nguyờn của DRR, MDRR cũn khụng phải là cỏch xếp lịch round-robin thụng thƣờng. Thay vào đú, DRR đƣợc thay đổi để hạn chế trễ trờn hàng đợi cài đặt đƣợc bởi ngƣời dựng, do đú cung cấp đặc tớnh trễ tốt hơn.
Vớ dụ về MDRR
Vớ dụ này minh hoạ hàng đợi trễ thấp ƣu tiờn luõn phiờn. Cú 3 hàng đợi – hàng đợi 2, hàng đợi 1, hàng đợi 0, với trọng số tƣơng ứng là 1, 2, 1. Hàng đợi 2 là hàng đợi trễ thấp chế độ ƣu tiờn luõn phiờn. Tất cả cỏc hàng đợi khỏc, với cỏc bộ đếm khấu trừ của chỳng đƣợc trỡnh bày trong hỡnh 2-19.
Bảng 2-8 cung cấp trọng số và định mức cho từng hàng đợi. Khi MDRR đƣợc chạy ở hàng đợi giao diện đầu ra, đơn vị truyền dẫn tối đa đƣợc sử dụng.
Bảng 2-8 Hàng đợi 0-2 cựng với cỏc giỏ trị trọng số và định mức
Số hàng đợi Trọng số Định mức =Trọng số ì MTU (MTU = 1500 Bytes)
Queue 2 1 1500
Queue 1 2 3000
Queue 0 1 1500
Trong lƣợt thứ nhất, hàng đợi 2 đƣợc phục vụ, Bộ đếm khấu trừ của hàng đợi 2 đƣợc khởi tạo bằng giỏ trị định mức của nú là 1500. Hàng đợi 2 đƣợc phục vụ chừng nào bộ đếm khấu trừ cũn lớn hơn 0. Sau khi phục vụ xong một gúi, kớch thƣớc của hàng đợi 2 bị trừ khỏi bộ đếm khấu trừ. Gúi 500 byte đầu tiờn từ hàng đợi nhận đƣợc sụ phục vụ vỡ bộ đếm khấu trừ bằng 1500. Bõy giờ, bộ đếm khấu trừ đƣợc cập nhật giỏ trị là 1500-500=1000. Vỡ vậy, gúi thứ hai đƣợc sẽ đƣợc phục vụ tiếp. Sau khi gúi 1500 byte đƣợc phục vụ, bộ đếm khấu trừ cú giỏ trị là –500 và hàng đợi 2 khụng cũn đƣợc phục vụ nữa.
Hỡnh 2-21 MDRR sau khi phục vụ hàng đợi 0, lƣợt đầu tiờn
Bởi vỡ ta đang ở trong chế độ ƣu tiờn luõn phiờn, phải luõn phiờn giữa phục vụ hàng đợi 2 và hàng đợi khỏc. Hàng đợi khỏc này đƣợc lựa chon theo kiểu round- robin. Giả sử rằng trong round-robin, bõy giờ đến lƣợt hàng đợi 0. Bộ đếm khấu trừ đƣợc khởi tạo giỏ trị 1500, là giỏ trị định mức cho hàng đợi. Gúi 1500 byte đầu tiờn đƣợc phục vụ. Sau khi phục vụ gúi đầu tiờn, bộ đếm khấu trừ đƣợc cập nhật giỏ trị 1500-1500=0. Vỡ vậy, khụng cũn gúi nào đƣợc phục vụ trong lần này.
Hỡnh 2-21 trỡnh bày ba hàng đợi và cỏc bộ đếm khấu trừ sau khi hàng đợi 0 đƣợc phục vụ.
Hỡnh 2-22 MDRR sau khi phục vụ hàng đợi 2, lƣợt thứ 2
Bởi ta đang luõn phiờn giữa hàng đợi trễ thấp và cỏc hàng đợi khỏc đƣợc phục vụ trong round-robin, hàng đợi 2 sẽ đến lƣợt đƣợc phục vụ.Sau khi gửi gúi 500 byte, bộ đếm khấu trừ trở thành 500. Nú cú thể phục vụ gúi khỏc, nhƣng hàng đợi 2 đó bị trống, Do vậy, bộ đếm khấu trừ của nú bị đặt về 0. Một hàng đợi trống thỡ khụng cần quan tõm, và bộ đếm khấu trừ giữ ở mức 0 cho đến khi cú cỏc gúi đến hàng đợi. Hỡnh 2-22 mụ tả cỏc hàng đợi và cỏc bộ đếm tại thời điểm này.
Theo cỏch thức nhƣ vậy, hàng đợi 2 đƣợc phục vụ luõn phiờn với cỏc hàng đợi khỏc.