• Thay cho việc tăng theo cấp số nhõn và giảm giỏ trị maxp ta thực hiện chế độ giảm theo cấp số nhõn và tăng theo cấp số cộng (AIMD).
Thuật toỏn ARED:
Every interval seconds: If (kˆ > target and maxp ≤ 0.5) Tăng giỏ trị maxp maxp ← maxp + α;
else if (kˆ < target and maxp ≥ 0.01) giảm maxp ;
maxp ← maxp * β ; Cỏc biến :
kˆ : kớch thước hàng đợi trung bỡnh Cỏc tham số cố định :
interval : khoảng thời gian khoảng 0,5s
target : giỏ trị mong đợi cho nằm trong khoảng
[minth + 0.4 * (maxth - minth) ; minth + 0.6 * (maxth - minth)] α : nhõn tố tăng ; min (0.01 ; maxp/4)
β : nhõn tố giảm ; 0.9
Chớnh sỏch tương thớch giỏ trị maxp cho phộp giỏ trị xỏc suất loại bỏ gúi
Đỏp ứng được với sự thay đổi của kớch thước hàng đợi trung bỡnh để cú thể chiếm ưu thế trong cỏc khoảng thời gian nhỏ. Việc thớch ứng chậm giỏ trị maxp, ARED đưa ra hiệu quả sử dụng cao trong một dải rộng cỏc mụi trường.
Thuật toỏn ARED trong hỡnh trờn sử dụng AIMD tương thớch maxp. Ngoài cỏch này ra cũn cú một cỏch điều khiển tuyến tớnh khỏc là MIDC (tăng theo cấp số nhõn, giảm theo cấp số nhõn) cũng được yờu cầu để quản lý hàng đợi.
Cỏc tham số của ARED
a. Giỏ trị maxp
Giới hạn trờn của giỏ trị maxp=0.5 cú thể được chỉnh sửa theo cỏch:
Cố gắng tối ưu RED để tốc độ loại bỏ gúi tin <50%. Hơn nữa khi tốc độ loại bỏ gúi tăng từ maxp→ 1 khi kớch thước hàng đợi thay đổi từ giỏ trị maxp ->2maxp. Cũn khi tốc độ loại bỏ gúi giảm từ 1→ maxp khi kớch thước hàng đợi thay đổi từ minth→ maxth. Do đú với giỏ trị maxp được thiết lập tới giỏ trị 0.5 thỡ xỏc suất loại bỏ cỏc gúi thay đổi từ 0→ 1 khi kớch thước hàng
0 Minth Maxtth 100%
1
maxp
maxp
Đường tải tớch cực Đường biểu diễn tải nhẹ
Độ chiếm giữ trung bỡnh
X ỏc s uấ t l oạ i bỏ g úi ti n
53
đợi thay đổi từ minth→ 2maxth. Điều này giỳp cho hiệu năng truyền lớn ngay cả khi tốc độ loại bỏ gúi vượt quỏ 50%.
b. Tham số α, β
Cú ớt nhất 0.49/α khoảng giành cho giỏ trị maxp để tăng từ 0.01→ 0.5 (với tham số đưa ra là 24.5s). Tương tự cú ớt nhất log0.02/logβ khoảng cho giỏ trị maxp để giảm từ 0.5→ 0.01(với tham số là 20.1s). Khi xột đến giỏ trị α, β yờu cầu đặt ra là ngay cả khi hoạt động dưới điều kiện bỡnh thường thỡ bất kỡ một chỉnh sửa đơn nào của giỏ trị maxp cũng khụng ảnh hưởng tới sự thay đổi của kớch thước hàng đợi trung bỡnh
Khi giỏ trị maxp được thớch ứng với xỏc suất loại bỏ gúi trạng thỏi ổn định p cũng được duy trỡ và kớch thước hàng đợi trung bỡnh dịch chuyển đơn giản để phự hợp với giỏ trị maxp mới. Do đú p < maxp khi maxp tăng bởi α, và giỏ trị hàng đợi trung bỡnh cú thể giảm từ giỏ trị minth +
p
p
max (maxth - minth) tới minth +
p
p
max (maxth - minth) Nú là sự giảm của giỏ trị:
p max + p p
max (maxth - minth)
Giỏ trị maxp nhỏ hơn 0.2(maxth- minth), do đú kớch thước hàng đợi trung bỡnh khụng phụ thuộc vào giỏ trị maxp và để trỏnh hiện tượng kớch thước hàng đợi giảm đột ngột từ giỏ trị biờn trờn xuống giỏ trị biờn dưới. Tham số α, β phải thoả món:
p
max ≤ 0.2 với α < 0.25 maxp
Tương tự cú thể kiểm tra việc giảm maxp theo cấp số nhõn để khụng gõy ra hiện tượng kớch thước hàng đợi trung bỡnh tăng từ giỏ trị biờn giới tới giỏ trị biờn trờn. Phõn tớch tương tự như α: p p max ) 1 (
(maxth - minth) < 0.2(maxth - minth) Chọn β:
1 ≤ 0.2 ; β > 0.83 c. Thiết lập cỏc tham số maxth và
ARED loại bỏ sự phụ thuộc của RED vào tham số maxp và một số tham số khỏc thỡ ta cú thể tự động thiết lập tham số maxth, . Giỏ trị maxp sẽ được tự động thiết lập từ giỏ trị 3 minth. Trong trường hợp này thỡ kớch thước hàng đợi trung bỡnh tập trung xung quanh giỏ trị 2 minth do đú nú chỉ chịu ảnh hưởng của tham số minth của RED.
Tham số : nếu kớch thước hàng đợi trung bỡnh thay đổi từ giỏ trị này sang giỏ trị khỏc thỡ số lượng cỏc gúi đến là -1/ln(1-). Giỏ trị này được gọi là “hằng số thời gian”. Nú được chỉ định trong cỏc gúi đến để đỏnh giỏ kớch thước hàng đợi trung bỡnh, nhưng bản thõn nú lại khụng mang tớnh chất thời gian. Cỏc kết nối cú tốc độ cao hơn yờu cầu giỏ trị nhỏ hơn, do đú “hằng số thời gian” được duy trỡ theo trật tự của RRT. được thiết lập tự động là 1s (tương đương với 10 RTT) để đỏnh giỏ kớch thước hàng đợi trung bỡnh. Giả sử rằng RTT mặc định là 100ms thỡ được thiết lập:
= 1- exp(-1/C) (3.4)
C : là khả năng kết nối cỏc gúi trờn 1s, được tớnh bằng số cỏc gúi trờn một kớch thước mặc định đó được chỉ ra.
54
3.1.2.2 Giải thuật FRED
Một vấn đề với cỏc thuật toỏn được mụ tả trong RED và ARED là chỳng khụng bảo vệ một cỏch rừ ràng cỏc luồng yếu, băng thụng thấp so với cỏc luồng tớch cực mà cú xu hướng tiờu thụ tất cả cỏc băng thụng cú sẵn. Luồng tớch cực thường cú RTT nhỏ, cho phộp chỳng gia tăng kớch thước cửa sổ tắc nghẽn của mỡnh nhanh hơn sau khi mất.
Flow Random Early Drop (FRED), là một phiờn bản cải tiến của RED. Mục tiờu của giải thuật này là giảm bớt tỏc động khụng cụng bằng trong RED. Thay vỡ việc loại bỏ cỏc gúi tin một cỏch ngẫu nhiờn trong hàng đợi, FRED tạo ra cỏc phản hồi chọn lọc đến tập hợp cỏc kết nối cú nhiều gúi tin ở trong hàng đợi.
Cỏc tham số trong thuật toỏn:
minth, maxth, maxp, , k, kˆ, count, pa, time, qtime, f(t): tương tự như thuật toỏn RED. Cỏc tham số bổ sung:
minq: số lượng gúi tin tối thiểu của mỗi luồng được phộp đến hàng đợi
cq
kˆ : số gúi tin trung bỡnh của cỏc luồng trờn hàng đợi.
maxq : số lượng gúi tin tối đa mỗi luồng được phộp đến hàng đợi. qlen(i) : số lượng gúi tin của luồng i trờn hàng đợi .
strike(i) : đếm số lần luồng i cú số lượng vượt quỏ ngưỡng maxq. nactive : đếm số luồng đang hoạt động.
FRED tương tự như RED nhưng cú sự cải tiến theo luồng. FRED xỏc định hai ngưỡng minq và maxq là số lượng tối thiểu và tối đa cỏc gúi tin mà mỗi luồng được phộp đến hàng đợi, sử dụng biến qlen(i) để đếm số gúi tin hiện tại của luồng i trong hàng đợi, sử dụng biến kˆ để tớnh số cq gúi tin trung bỡnh của mỗi luồng trong hàng đợi, sử dụng biến strike(i) để đếm số lần luồng i cú số lượng gúi tin vượt quỏ ngưỡng (maxq) cho phộp trờn hàng đợi.
Thuật toỏn FRED tập trung vào việc quản lý độ dài hàng đợi theo luồng. Tham số qlen(i) được so sỏnh với min(i) và maxq và được sử dụng như một sự phõn lớp lưu lượng. Cỏc luồng yếu là cỏc luồng cú qlen(i) minq, cỏc luồng mạnh là luồng cú minq < qlen(i) < maxq và cỏc luồng
khụng hồi đỏp là cỏc luồng cú qlen(i) > maxq. minq được thiết lập bằng 2 hoặc 4 tựy thuộc vào kớch thước hàng đợi được sử dụng.
Thuật toỏn thực hiện qua 7 bước như sau [6]:
Bước 1: Kiểm tra nếu gúi tin đến khụng thuộc luồng đó cú gúi trong hàng đợi thỡ cập nhật luồng mới.
Bước 2: Tớnh kớch thước hàng đợi trung bỡnh kˆtheo cụng thức 3.3 và thiết lập ngưỡng maxq. Bước 3: Kiểm tra, nếu gúi tin thuộc luồng khụng thớch nghi thỡ cho rơi gúi và qua bước 7, ngược lại qua bước 4.
Bước 4: Kiểm tra, nếu kˆnằm trong khoảng từ minth đến maxth thỡ qua bước 5. Ngược lại, kiểm tra, nếu kˆ> maxth thỡ gỏn pa = 1, ngược lại gỏn pa = 0, qua bước 6.
Bước 5: kiểm tra nếu gúi tin thuộc luồng mạnh thỡ tớnh xỏc suất đỏnh dấu hay (loại bỏ gúi) tin pa theo cụng thức (.) và (.) và qua bước 6, ngược lại cho gúi tin vào hàng đợi và qua bước 7. Bước 6: Đỏnh dấu (hoặc hủy bỏ) gúi tin đến với xỏc suất pa và qua bước 7.
Bước 7: cập nhật số lượng gúi tin của mỗi luồng, số luồng đang hoạt động và số gúi tin trung bỡnh của cỏc luồng kˆ . cq
3.1.2.3 Giải thuật GRED
Trong (Sally Floyd, 2000), giải thuật Gentle Random Early Detect (GRED) đó được đề xuất để tăng thụng lượng và giảm dao động khụng mong muốn trong kớch thước hàng đợi tại bộ
55
đệm của router bằng cỏch tăng cường cỏc thiết lập thụng số của RED. GRED được đỏnh giỏ bằng cỏch sử dụng cựng một mụ phỏng như nú được sử dụng trong RED.
Nhỡn chung GRED là một phỏt triển khỏc gần như giống như RED nhưng sự khỏc biệt chớnh là ở thụng số cài đặt để cú thể được tối ưu húa và cú một hiệu suất tốt hơn liờn quan đến mất gúi và thụng lượng. Trong GRED thụng số khỏc được giới thiệu cụ thể là, ngưỡng double max, (2xmaxth) như minh họa trong hỡnh 3.6.
Nếu giỏ trị kˆ là dưới vị trớ của ngưỡng minth, khụng cú gúi tin nào bị loại bỏ, và do đú Pa = 0. Trong khi đú, nếu giỏ trị kˆlà giữa cỏc vị trớ ngưỡng minth và ngưỡng double max, tỡnh trạng tắc nghẽn đang xảy ra ở hàng đợi tại bộ định tuyến GRED, GRED kiểm soỏt hàng đợi tại bộ định tuyến tắc nghẽn bằng cỏch loại bỏ cỏc gúi tin với xỏc suất pa, tức là 0 <pa <1. Trong trường hợp này giỏ trị pb thay đổi giữa 0 và maxp. pb được tớnh toỏn theo cụng thức (3.1) như trong giải thuật RED. Khi giỏ trị kˆbiến động giữa ngưỡng minth và ngưỡng maxth, giỏ trị của pb thay đổi giữa maxp và 1 và được tớnh theo cụng thức (3.3), khi giỏ trị của kˆ dao động từ cỏc vị trớ của ngưỡng maxth và ngưỡng double maxth và được tớnh toỏn theo (3.5)
th th p p b max ) max kˆ ( x ) max 1 ( max p (3.5)
Nhiều cải tiến cho cỏc thụng số cài đặt ngưỡng max và maxth đạt được do sự biến đổi này.
Hỡnh 3.6. Mụ hỡnh của GRED
Nếu giỏ trị kˆbằng hoặc lớn hơn so với vị trớ của ngưỡng double maxth , tỡnh hỡnh ựn tắc nặng phỏt sinh, cỏc bộ đệm bộ định tuyến điều khiển/kiểm soỏt sự tắc nghẽn này bằng cỏch loại bỏ tất cả cỏc gúi tin đến. Tuy khắc phục cỏc tồn tại của RED nhưng GRED vẫn gặp phải vấn đề mất gúi tin cao [58], vỡ vậy năm 2012 Mahmoud Baklizi, Hossein Abdel-jaber đó đề xuất giải thuật Adaptive Gentle Random Early Detection (AGRED) cố gắng để khắc phục nhược điểm này trong GRED. Vấn đề này đó được giải quyết với sự biến đổi trong tớnh toỏn xỏc suất loại bỏ gúi tin ban đầu pb trong tỡnh trạng nếu kˆở giữa maxth và double maxth được trỡnh bày trong phương trỡnh. (3.6). th th p p b max ) max kˆ ( x 2 ) max 1 ( max p ; (3.6)
Như vậy thuật toỏn RED và một số biến thể của nú đó được nghiờn cứu kỹ để cải thiện hiện năng truyền dữ liệu trờn mạng IP, tuy nhiờn khi nghiờn cứu RED và cỏc biến thể của nú chỳng tụi nhận thấy rằng chưa cú một cơ chế ưu tiờn rừ ràng đối với cỏc gúi tin video cú giỏ trị ưu
kˆ
Kớch thước hàng đợi trung bỡnh
0 minth maxtt h 2.maxth 1 max p X ỏc s uấ t l oạ i b ỏ gú i t in
56
tiờn cao hơn vỡ vậy chỳng tụi tỡm cỏch cải tiến RED để cú chất lượng dịch vụ cao hơn trong cỏc ứng dụng truyền video trờn mạng.
3.2 Đề xuất giải thuật cải tiến ViRED.
3.2.1 í tưởng giải thuật
Như đó biết biến thể khỏc của RED tập trung vào việc cải tiến cỏc tham số của RED để đem lại hiệu quả cao hơn trong xử lý tắc nghẽn mạng và khắc phục một số tồn tại của RED. Như đó nhận xột ở trờn cỏc cải tiến của RED khụng cú cơ chế ưu tiờn trực tiếp cỏc gúi tin video, từ đú dựa trờn giải thuật RED ban đầu, chỳng tụi xõy dựng một hàm tuyến tớnh điều chỉnh xỏc suất đỏnh dấu (loại bỏ) cỏc gúi tin dựa trờn kớch thước trung bỡnh của hàng đợi tại bộ định tuyến và đặc tớnh của luồng dữ liệu đến hàng đợi là cỏc gúi tin video. Chỳng tụi đề xuất tớch hợp hàm tuyến tớnh điều chỉnh xỏc suất pa đỏnh dấu hay (loại bỏ) gúi tin tại bộ định tuyến như sau:
If the received packet is a video Updates the value
pa = u. pa;
else pa = pa;
Hàm tuyến tớnh u được xõy dựng sao cho u cú khả năng tỏc động vào điều chỉnh xỏc suất gúi tin dựa trờn kớch thước trung bỡnh hàng đợi vừa cú khả năng tớch hợp để ưu tiờn cỏc gúi tin đến là video.
Từ đú ta cú mó giả của giải thuật cải tiến: Với mỗi gúi tin đến:
Tớnh toỏn kớch thước hàng đợi trung bỡnh: if (hàng đợi khụng rỗng) { k ω + kˆ ) ω 1 ( = kˆ } else { kˆ ) ω 1 ( = kˆ f(timeqtime) ; qtime = time; }
Quyết định rơi gúi tin: if (minth <= kˆ<= maxth)
{Tớnh xỏc suất đỏnh dấu pa: th th th p b min max min kˆ max p ; b b a 1 count*p p p ;
Đỏnh dấu gúi tin với xỏc suất pa;
If (cỏc gúi tin nhận là video ) pa = u. pa ; }
else if (maxth < kˆ) Đỏnh dấu gúi tin (p = 1)
else
57
3.2.2 Định nghĩa hàm tuyến tớnh u
U là hàm tuyến tớnh điều chỉnh xỏc suất đỏnh dấu hay (loại bỏ) gúi tin pa. Để phõn loại ưu tiờn gúi tin video, hàm u được xõy dựng sao cho u[0; 1]
L kˆ 1 ) kˆ ( u (3.7) Trong đú
L: là kớch thước hàng đợi tại bộ định tuyến
[0, 1];
kˆ: Kớch thước trung bỡnh hiện thời của hàng đợi tại bộ định tuyến.
Để hàm u nhận giỏ trị nhỏ hơn 1 và tỷ lệ nghịch với kớch thước trung bỡnh hiện thời của hàng đợi tại bộ định tuyến.
Trong thực nghiệm mụ phỏng, chỳng tụi chọn giỏ trị = 0.02. Ta cú (kˆ/L ) < 1 với mọi kˆ
u > 0 kˆ;cỏc tham số khỏc của hàng đợi khi so sỏnh RED và ViRED được giữ nguyờn như giải thuật RED mặc định ban đầu.