Thuật toỏn RED thớch nghi

Một phần của tài liệu Nghiên cứu kĩ thuật điều khiển tắc nghẽn mạng và mô phỏng, đánh giá trên Network Simulator-2 (Trang 59)

Mục tiờu cơ bản của RED thớch nghi là cố gắng giữ avg trong một khoảng xỏc định trước - target bằng cỏch thay đổi maxp hay thay đổi tốc độ loại bỏ gúi tin. maxp được điều chỉnh rất chậm, thường mỗi khoảng tớnh giỏ trị mới gấp nhiều lần RTT. Khi avg vượt lờn trờn target, RED thớch nghi tăng

maxp lờn một chỳt, nghĩa là tăng tốc độ loại bỏ gúi tin. Điều này sẽ khiến thụng lượng đến gateway giảm đi, dẫn đến giảm avg. Khi avg nằm dưới

target, RED thớch nghi giảm maxp đi, tương đương với giảm tốc độ loại bỏ gúi tin, khiến thụng lượng đến gateway tăng, dẫn đến avg tăng lờn. Khoảng

target phải đủ nhỏ để trễ trung bỡnh thay đổi trong một khoảng cú thể chấp nhận được, nhưng target cũng khụng được quỏ nhỏ để đảm bảo sự điều chỉnh

maxp đạt hiệu quả. Trong [20], maxthresh được đặt bằng 3.minthresh

target nằm giữa khoảng {minthresh,maxthresh}, nghĩa là ở khoảng 2.minthresh, với độ rộng là 20% độ rộng khoảng {minthresh,maxthresh}. Do đú :

target = {minthressh + 0.4(maxthressh-minthresh),

minthresh + 0.6(maxthresh-minthresh)}. (2.14)

Giỏ trị maxp biến đổi nhưng cũng khụng được quỏ nhỏ hoặc quỏ lớn. [20] cho phộp maxp biến thiờn trong khoảng {0.01,0.5}. Điều này đảm bảo hoạt động của RED thớch nghi trong giai đoạn xảy ra biến động khụng bị xấu đi quỏ nhiều. Trong giai đoạn biến động, avg cú thể nhảy ra ngoài khoảng

target, việc giới hạn maxp nhằm đảm bảo độ trễ trung bỡnh cũng như thụng lượng chỉ bị thay đổi nhỏ.

Sự tăng maxp cú thể là nhõn với một hệ số hoặc cộng với một hệ số. Việc giảm maxp cũng tương tự, dẫn đến cú 4 lựa chọn cho kiểu thay đổi maxp là tăng cộng giảm cộng (AIAD), tăng cộng giảm nhõn (AIMD), tăng nhõn giảm cộng (MIAD), tăng nhõn giảm nhõn (MIMD). [20] đó chỉ ra qua thực nghiệm rằng AIMD là giải phỏp tốt nhất. Mỗi khi avg vượt lờn target, maxp được tăng thờm một lượng nhỏ, α. Mỗi khi avg hạ xuống dưới target, maxp được chia cho một hệ số, 1/. Giỏ trị của α và  cũng phải thỏa món một số điều kiện và sẽ được thảo luận trong một phần khỏc.

Giả mó của thuật toỏn RED thớch nghi, phần thớch nghi như sau: Với mỗi khoảng interval:

if (avg>target_h) and (maxp<0.5)

tăng maxp:

maxp=maxp+

else if (avg<target_l) and (maxp>0.01)

giảm maxp :

Cỏc biến :

avg : kớch thước hàng đợi trung bỡnh.

Cỏc tham số cố định :

interval : khoảng thời gian cập nhật maxp

=0.5s

target_h : ngưỡng trờn của target

=minthresh+0.4(maxthresh-minthresh) target_l : ngưỡng dưới của target

=minthresh+0.6(maxthresh-minthresh)

 : mức tăng maxp

=min(0.01,maxp/4)

 : mức giảm maxp

=0.9

Bảng 2.1 : Thuật toỏn RED thớch nghi.

Thuật toỏn trờn mới chỉ cho phộp tự động điều chỉnh maxp. Giỏ trị

maxthreshwq cũng được lựa chọn một cỏch tự động như sau :

Chọn maxthresh

Trong RED cơ bản, maxthresh được chọn bằng 2.minthresh. Đó cú một số nghiờn cứu khuyến cỏo sử dụng giỏ trị này. RED thớch nghi mong muốn

avg nằm trong khoảng lõn cận 2.minthresh nờn maxthresh được chọn bằng

3.minthresh. Đõy cũng là mặc định trong NS2 khi chọn RED hoạt động ở chế độ adaptive.

Chọn wq

Như trong phần RED cơ bản đó chỉ ra, giỏ trị wq quỏ lớn sẽ khiến RED khụng lọc được cỏc tắc nghẽn nhất thời, tức là hoạt động dựa vào kớch thước hàng đợi tức thời hơn là dựa vào kớch thước hàng đợi trung bỡnh. Giỏ trị wq

quỏ nhỏ sẽ khiến cho RED khụng phản ứng kịp với cỏc thay đổi về lượng dữ liệu tải lờn mạng và cú thể khụng kịp thời phỏt hiện trạng thỏi bắt đầu tắc nghẽn, thậm chớ cú thể cũn làm cho tốc độ loại bỏ gúi tin cao nếu maxp được đặt nhỏ. Tỡnh trạng này cũng xảy ra ở RED thớch nghi trong cỏc nghiờn cứu trước [20].

Tuy nhiờn trong phần RED cơ bản cũng đó chỉ ra rằng cựng một giỏ trị

wq cú thể là lớn hay nhỏ tựy thuộc vào tốc độ của kết nối truyền tin đi từ gateway và giỏ trị của RTT. Wq phải đảm bảo việc tớnh trung bỡnh được thực hiện trong thời gian tương ứng với một số RTT. Chỳng ta xem xột kĩ điều này thụng qua việc xột một vớ dụ:

Với tốc độ truyền tin là 15Mbps, kớch thước trung bỡnh của gúi tin là 1000 byte, tốc độ truyền tin tớnh theo gúi tin/giõy là :

15Mbps/1000byte=1875gúi/s.

Nếu wq=0.002, tương đương với việc tớnh trung bỡnh 500 gúi tin mới nhất (theo 2.7), thỡ thời gian tớnh trung bỡnh là 500/1875=267ms. Nếu RTT vào khoảng 70ms thỡ giỏ trị wq này là thớch hợp. Tuy nhiờn nếu kết nối cú tốc độ 1Gbps, kớch thước gúi tin trung bỡnh là 500 byte, thời gian tớnh trung bỡnh sẽ chỉ là

500gúi/(1Gbps/500byte) =2ms

Với RTT bằng 70ms như trờn, thời gian tớnh trung bỡnh này là quỏ nhỏ, chỉ bằng một phần của RTT, tức là wq=0.002 là giỏ trị quỏ lớn trong trường hợp này. Số gúi tin tớnh trung bỡnh do đú phải tăng lờn, nghĩa là wq phải giảm đi.

Qua vớ dụ trờn chỳng ta thấy wq thớch hợp phụ thuộc khụng chỉ vào tốc độ kết nối, vào RTT mà cả vào kớch thước trung bỡnh của gúi tin. [20] đưa ra cụng thức tớnh wq sao cho việc tớnh trung bỡnh được thực hiện trong khoảng 10 RTT với RTT mặc định là 100ms, nghĩa là tớnh trung bỡnh trong 1 giõy. Cụng thức như sau : C q e w 1 1    (2.15)

Trong đú C là tốc độ truyền tin, tớnh bằng gúi tin/giõy. Tuy nhiờn với giỏ trị RTT bất kỡ, em đề nghị bổ sung thờm RTT và thu được cụng thức tớnh sau :

RTT C K q e w . . 1 1    (2.16)

Trong đú K là số RTT mong muốn ứng với thời gian tớnh avg. Cụng thức này được suy ra từ cụng thức (2.7) kết hợp với yờu cầu về tớnh trung bỡnh trong khoảng thời gian gấp K lần RTT (Số gúi tin truyền trong khoảng thời gian này là n=K.RTT.C): C RTT K wq) . . 1 ln( 1   

Với K được chọn là 10 và RTT = 100ms = 0.1s, thay vào cụng thức (2.16) ta thu lại được cụng thức (2.15). Trong cụng thức này C vẫn tớnh bằng gúi tin/giõy. Trong thực tế C thường tớnh theo đơn vị bit/giõy. Khi đú cụng thức tớnh wq sẽ phải bổ sung tham số kớch thước gúi tin trung bỡnh Pa và trở thành : C RTT K Pa q e w . . 8 . 1    (2.17)

Một phần của tài liệu Nghiên cứu kĩ thuật điều khiển tắc nghẽn mạng và mô phỏng, đánh giá trên Network Simulator-2 (Trang 59)