Thuật toán Adaptive-RED 6 5-

Một phần của tài liệu Thuật toán quản lý hàng đợi A - RIO (Trang 65)

Nhƣ đã trình bày ở phần trên, chiến lƣợc quản lý hàng đợi động RED cho phép mạng đạt đƣợc đồng thời thông lƣợng cao và độ trễ thấp. Tuy nhiên RED có hai điểm yếu cơ bản cần đƣợc khắc phục. Điểm yếu thứ nhất là độ dài hàng đợi trung bình rất nhạy cảm với các cấp độ tắc nghẽn và việc thiết lập các tham số cho RED router. Khi đƣờng truyền tắc nghẽn nhẹ, và/hoặc maxp cao thì kích thƣớc hàng

đợi trung bình gần minth; khi đƣờng truyền tắc nghẽn nặng hơn, và/hoặc maxp thấp, kích thƣớc hàng đợi trung bình gần, hoặc thậm chí cao hơn maxth. Kết quả là, độ trễ hàng đợi trung bình rất nhạy cảm với tải (lƣu lƣợng đƣa vào mạng) và các tham số, dẫn tới không thể đoán trƣớc đƣợc. Độ trễ là một thành phần chính của chất lƣợng dịch vụ cấp phát cho ngƣời dùng, mạng phải có một sự ƣớc lƣợng tốt để ƣớc lƣợng chính xác độ trễ trung bình trong các router khi tắc nghẽn. Để đạt đƣợc độ trễ trung bình có thể đoán trƣớc đƣợc, cần điều chỉnh liên tụccác tham số RED để đáp ứng sự thay đổi điều kiện của lƣu lƣợng mạng hiện tại.

Điểm yếu thứ hai của RED là thông lƣợng cũng nhạy cảm với tải và các tham số RED. Cụ thể, RED thƣờng không hiệu quả khi kích thƣớc hàng đợi trung bình trở nên lớn hơn maxth, dẫn tới việc giảm đáng kể thông lƣợng và tăng tỉ lệ loại bỏ gói tin. Để tránh nhƣợc điểm này cũng cần đến sự điều chỉnh liên tục các tham số RED.

3.4.1 Ý tƣởng của A-RED

Đã có nhiều đề xuất đối với các chiến lƣợc quản lý hàng đợi động đƣợc đƣa ra nhằm khắc phục hai yếu điểm trên của RED. Tất cả các chiến lƣợc này đều đƣợc xuất phát từ thiết kế cơ bản của RED, A-RED (Adaptive-RED) là một chiến lƣợc nhƣ vậy. A-RED nguyên bản đƣợc đề xuất bởi Feng từ năm 1997. Đề xuất này giữ nguyên cấu trúc cơ bản của RED và chỉ đơn thuần hiệu chỉnh maxp để duy trì kích thƣớc hàng đợi trung bình trong khoảng từ minth đến maxth. Sau đây chúng tôi sẽ trình bày một phiên bản A-RED mới với một số thay đổi đáng kể so với A-RED gốc, trong khi vẫn giữ đƣợc tinh thần cơ bản của nó [31]. Thêm vào đó, với A-RED mới này, quản trị viên có thể chọn chế độ tự động thiết lập các tham số khác nhƣ

minth, maxth, wq; công việc còn lại của các quản trị viên chỉ là thiết lập độ trễ mong muốn đạt đƣợc (gọi tắt là độ trễ đích) và chỉ định miền kích thƣớc hàng đợi trung bình mong muốn (gọi tắt là miền đích, miền mong muốn, hay miền mục tiêu). Nhƣ

vậy, A-RED có thể giải quyết việc thiết lập tham số RED, một trong những vấn đề quan trọng của RED.

Bằng mô phỏng, chúng tôi thấy rằng A-RED đạt đƣợc độ dài hàng đợi trung bình đích với một miền rộng các kịch bản, mà không mất một ích lợi nào của RED. Điều này không chỉ giúp ngƣời quản trị mạng dự đoán trƣớc đƣợc độ trễ hàng đợi trung bình, mà còn hạn chế đƣợc khả năng kích thƣớc hàng đợi trung bình vƣợt quá

maxth. Bởi vậy A-RED giảm đƣợc cả tỷ lệ mất tin và sự thăng giáng độ trễ hàng đợi.

3.4.2 Thuật toán A-RED

Các mục tiêu cần phải đạt đƣợc của A-RED:

maxp đƣợc hiệu chỉnh không chỉ để giữ cho kích thƣớc hàng đợi trung bình nằm trong khoảng minth maxth mà còn giữ cho kích thƣớc hàng đợi trung bình nằm trong khoảng nửa minthmaxth, cụ thể là khoảng (qlow, qhigh), trong đó qlow = minth+ 0.4(maxth – minth) , qhigh = minth+ 0.6(maxth – minth).

maxpđƣợcthay đổi chậm, sau những khoảng thời gian lớn hơn một thời gian khứ hồi (round-trip time), và đƣợc thực hiện với chi phí thấp.

maxp phải đƣợc khống chế để duy trì trong miền [0.01, 0.5] (tƣơng ứng với [1%, 50%]).

 Thay vì phải nhân lên nhiều lần khi tăng và giảm maxp, thuật toán sử dụng chính sách tăng theo cấp số cộng giảm theo cấp số nhân (AIMD policy), tức là khi tăng thì cộng thêm một lƣợng đủ nhỏ (), khi giảm thì nhân với một giá trị nhỏ hơn 1 (). Các giá trị ,  đƣợc chọn sao cho kích thƣớc hàng đợi trung bình quay trở lại miền mục tiêu (khoảng (qlow, qhigh)) không quá 25s.

A-RED kế thừa thuật toán RED gốc, ngoài ra A-RED đƣợc bổ sung thêm thuật toán hiệu chỉnh maxp, sau đó maxp đƣợc dùng trong thuật toán RED. Thuật toán hiệu chỉnh maxp đƣợc trình bày trên hình 3.8.

Ƣu điểm của A-RED là ở chỗ hiệu chỉnh chậm và không thƣờng xuyên giá trị

maxp. Việc hiệu chỉnh maxp chỉ đƣợc thực hiện khi cần thiết sau những khoảng thời gian dài. Hầu nhƣ chi phí để thực hiện những thay đổi này chỉ là ở những thời điểm ngay sau khi có đột biến của tắc nghẽn (lƣu lƣợng tăng hoặc giảm đột ngột). Để đảm bảo cho A-RED vẫn hoạt động tốt sau những thời điểm đột biến này, maxp

luôn đƣợc giữ trong khoảng [0.01, 0.5]. Điều này đảm bảo trong suốt thời gian chuyển dịch trạng thái của mạng (qua những thời điểm mạng có đột biến), hiệu suất tổng thể của RED vẫn có thể chấp nhận đƣợc (ngay cả khi kích thƣớc hàng đợi trung bình không nằm trong miền mục tiêu) và độ trễ trung bình cũng nhƣ thông lƣợng chịu ảnh hƣởng với một mức độ không đáng kể.

3.4.3 Thiết lập các tham số cho A-RED

a. Phạm vi của maxp

Cận trên của maxp đƣợc thiết lập 0.5 vì hai lý do. Thứ nhất, tỷ lệ loại bỏ gói tin vƣợt quá 50% là không thể chấp nhận đƣợc, vì vậy không cần thiết tối ƣu hoá RED

Hình 3.8: Thuật toán hiệu chỉnh maxp trong A-RED

Every interval giây:

if (avg > target and maxp 0.5) tăng maxp: maxp = maxp + ;

elseif (avg < target and maxp 0.01) giảm maxp: maxp = maxp * ;

Biến:

avg: kích thƣớc hàng đợi trung bình

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

interval: thời gian; 0.5 giây

target: target for avg:

[minth + 0.4 * (maxth – minth), minth + 0.6 * (maxth – minth)]

: hệ số tăng; min(0.01, maxp / 4);

với tỷ lệ nhƣ vậy. Thứ hai, bởi vì khi sử dụng RED trong chế độ gentle (gentle mode) [28], tỉ lệ loại bỏ gói tin thay đổi từ 0 đến maxp khi kích thƣớc hàng đợi trung bình chạy từ minth đến maxth, và tỉ lệ loại bỏ gói tin thay đổi từ maxp đến 1 khi kích thƣớc hàng đợi trung bình chạy từ maxth đến 2*maxth. Bởi vậy, với việc thiết lập

maxp bằng 0.5, tỉ lệ loại bỏ gói tin thay đổi từ 0 đến 1 khi kích thƣớc hàng đợi trung bình chạy từ minthđến 2*maxth. Điều này giúp tăng cƣờng hiệu năng cho RED ngay cả khi tỉ lệ loại bỏ gói tin lớn hơn 50%.

Cận dƣới của maxp đƣợc thiết lập 0.01 với mong muốn hạn chế miền của

maxp. Bằng mô phỏng chúng tôi thấy rằng đối với những kịch bản với tỉ lệ loại bỏ gói tin nhỏ, RED thực hiện rất tốt với maxp= 0.1.

b. Các tham số

Các tham số  và  phải đƣợc thiết lập sao cho trong điều kiện bình thƣờng, một phép hiệu chỉnh maxp không làm cho kích thƣớc hàng đợi trung bình giảm đột ngột từ trên miền mục tiêu xuống dƣới miền đó, hoặc ngƣợc lại. Để cho đơn giản, giả sử khi maxp đƣợc hiệu chỉnh, xác suất loại bỏ gói tin p đƣợc giữ không đổi, và kích thƣớc hàng đợi trung bình avg biến đổi theo sự thay đổi của maxp. Giả sử p < maxp, khi maxp tăng lên một lƣợng , avg mục tiêu sẽ giảm đi từ

xuống Tức là giảm đi :

Khi giá trị này bé hơn 0.2 (maxth – minth) thì kích thƣớc hàng đợi trung bình sẽ không thay đổi đột ngột từ trên miền mục tiêu xuống dƣới miền mục tiêu trong một khoảng thời gian interval. Vì p/maxp < 1, nên ta phải chọn  sao cho /(maxp+) <

0.2 hay < 0.25 maxp. ) min (max max maxp p th th p    ) min (max max min th th p th p   (max min ) max min th th p th p    

) / 1 exp( 1 C wq   

Một cách tƣơng tự, để thao tác giảm theo cấp số nhân của maxp không làm cho avg tăng đột ngột từ dƣới miền mục tiêu lên trên miền đó sau một lần hiệu chỉnh maxp, theo cách phân tích tƣơng tự nhƣ với , ta phải có:

Các tham số mặc định cho  (= 0.01) và  (= 0.9) trong thuật toán A-RED đƣợc trình bày trên (hình 3.3) là thoả mãn các cận vừa xem xét.

c. Thiết lập các tham số RED: maxth wq

Trong nhiều báo cáo nghiên cứu về RED, ngƣời ta khuyến nghị maxth nên gấp ba lần minth. Trong trƣờng hợp đó, kích thƣớc hàng đợi trung bình mục tiêu ở vào khoảng xung quanh 2*minth. Nhƣ vậy chỉ còn phải xác định trƣớc minth. Trong chế độ tự động, minth = max(5, dt*C), trong đó C là băng thông đƣờng truyền ra tại hàng đợi đang xét, dt là độ trễ đích (độ trễ mong muốn) [7].

Mặt khác, ngƣời ta đã chứng minh đƣợc rằng, wq phụ thuộc vào tốc độ đƣờng truyền, đƣờng truyền tốc độ cao yêu cầu giá trị wq nhỏ, vì vậy trong [36] các tác giả đã thiết lập wq là một hàm của băng thông đƣờng truyền:

(*) trong đó C là băng thông đƣờng truyền, tính theo packet/s.

Điều này có ý nghĩa đặc biệt giúp ngƣời quản trị mạng có thể chọn chế độ tự động thiết lập các tham số A-RED. Theo đó, ta chỉ cần thiết lập độ trễ đích cho A- RED gateway, và đặt các giá trị khởi tạo cho maxp, tất cả các công việc còn lại đều do A-RED gateway đảm nhiệm.

83 . 0 2 . 0 1 ) min (max 2 . 0 ) min (max max ) 1 (               th th th th p p

3.4.4 Nghiên cứu A-RED bằng mô phỏng

Với mục đích kiểm nghiệm lại các đánh giá về A-RED bằng lý thuyết, chúng tôi đã tiến hành mô phỏng A-RED bằng NS-2. Mô phỏng này nhằm so sánh hiệu năng của A-RED với RED trong trƣờng hợp mạng có đột biến lớn về lƣu lƣợng. Sau đây xin trình bày chi tiết việc mô phỏng.

a. Cấu hình mạng mô phỏng

Topo mạng đƣợc minh họa trên hình 3.9. Mạng mô phỏng gồm 22 nút nguồn từ S1-S22, tƣơng ứng với nó là 22 nút nhận D1-D22. Các thực thể gửi đều là TCP, kích thƣớc cửa sổ gửi tối đa là 20 gói tin và đều xuất phát từ các nguồn sinh lƣu lƣợng FTP. Các đƣờng truyền đều là duplex-link, không lỗi; đƣờng truyền từ các nút nguồn đến R1 có băng thông 1Mbps, độ trễ 10ms; đƣờng truyền từ R2 đến các nút nhận đều là 1Mbps, 5 ms. Các kết nối cùng chia sẻ đƣờng truyền chung R1- R2 có băng thông, độ trễ lần lƣợt là 1.5Mbps, 20ms. Hàng đợi Q đƣợc đặt giữa R1-R2 có kích thƣớc tối đa 35 gói tin, các gói tin có kích thƣớc 1000 bytes. Thời gian mô phỏng là 50 s. Các tham số RED đƣợc thiết lập là: minth = 5, maxth = 15, maxp = 0.1 và wq = 0.0027. Với A-RED, wq đƣợc thiết lập tự động theo công thức (*),  = 0.02 và  = 0.9.

S1

Q

Hình 3.9: Cấu hình mạng mô phỏng RED/A-RED

S 2 S22 R1 R2 D 1 D2 D22 1.5 Mbps, 20 ms 1 Mbps, 10 ms 1 Mbps, 5 ms

Với cấu hình mạng nêu trên, chúng tôi tiến hành 2 mô phỏng ứng với hai cách gây đột biến: mô phỏng 1 gây đột biến tăng lƣu lƣợng, còn mô phỏng 2 là đột biến giảm lƣu lƣợng, chúng ta sẽ xem xét các kết quả cụ thể dƣới đây.

b. Mô phỏng 1: tăng cƣờng độ tắc nghẽn

Kịch bản đƣợc thiết lập nhƣ sau: đầu tiên hai kết nối tcp1 và tcp2 đƣợc đƣa vào mạng (ở 0.1s và 0.2s), đến nửa thời gian mô phỏng (giây thứ 25), 20 luồng mới (tcp3-tcp22) đƣợc đƣa vào mạng, mỗi luồng cách nhau 0.1 giây. Nhƣ vậy lƣu lƣợng mạng đƣợc làm tăng đột ngột, ta sẽ xem phản ứng của từng chiến lƣợc.

Trên hình 3.10 và 3.11 là đồ thị của kích thƣớc hàng đợi (màu đỏ) và kích thƣớc hàng đợi trung bình (màu xanh) ứng với thuật toán RED và A-RED. Rõ ràng là khi tắc nghẽn đƣợc tăng cƣờng (ở giây thứ 25), cả RED và A-RED đều làm kích thƣớc hàng đợi tăng lên tối đa; dẫn tới kích thƣớc hàng đợi trung bình tăng lên; với RED là từ 6 lên khoảng 17 gói tin, với A-RED là từ 8 đến 17 gói tin; tuy nhiên sau khoảng 10s, A-RED đã kéo kích thƣớc hàng đợi trở về khoảng mục tiêu và dao động ở mức 102 gói tin, trong khi RED vẫn giữ kích thƣớc trung bình ở mức cao (17 gói tin).

Hình 3.10: RED với sự tăng cường độ tắc nghẽn

Hình 3.11: A-RED với sự tăng cường độ tắc nghẽn

Ngoài ra theo kết quả thống kê đƣợc tính toán từ mô phỏng (bảng 3.3), chúng ta thấy rằng A-RED đạt đƣợc thông lƣợng (và vì vậy hệ số sử dụng đƣờng truyền) cao hơn một chút so với RED (95.14% so với 94.69%), và tỷ lệ loại bỏ gói tin cũng cao hơn một chút (10.09% so với 9.38%), nhìn chung A-RED tốt hơn RED.

Bảng 3.3: Kết quả thống kê của mô phỏng 1 RED/A-RED

Chiến lƣợc

Kích thƣớc hàng đợi trung bình (gói tin)

Thông lƣợng tổng thể (Mbps) Tỷ lệ loại bỏ (%) Hệ số sử dụng đƣờng truyền (%) RED 12.34 1.42 9.38 94.69 A-RED 11.45 1.43 10.09 95.14 c. Mô phỏng 2: giảm cƣờng độ tắc nghẽn

Kịch bản đƣợc thiết lập nhƣ sau: đầu tiên tất cả các kết nối từ tcp1 đến tcp22 đƣợc đƣa vào mạng (bắt đầu từ 0.1s, mỗi luồng cách nhau 0.1 giây), đến nửa thời gian mô phỏng (giây thứ 25), 20 luồng (từ tcp3-tcp22) ngừng hoạt động. Nhƣ vậy lƣu lƣợng mạng đƣợc làm giảm đột ngột, phản ứng của từng chiến lƣợc đƣợc thể hiện trong các đồ thị dƣới đây.

Theo đồ thị, với RED, tại thời điểm xảy ra đột biến, kích thƣớc hàng đợi trung bình giảm xuống nhanh chóng và ổn định ở một mức mới thấp hơn (từ 17  3 đến 6.5  1 gói tin); với A-RED kích thƣớc hàng đợi trung bình cũng giảm xuống, tuy nhiên mức giảm không đột ngột nhƣ RED (từ 10  2 xuống 6  2) và nó nhanh chóng đƣợc kéo lên và ổn định ở mức mục tiêu 10  2 gói tin. Ngoài ra các kết quả thống kê bổ sung (bảng 3.4) cũng thể hiện rằng hiệu năng của A-RED tốt hơn RED.

Bảng 3.4. Kết quả thống kê của mô phỏng 2 - RED/A-RED

Chiến lƣợc

Kích thƣớc hàng đợi trung bình (gói tin)

Thông lƣợng tổng thể (Mbps) Tỷ lệ loại bỏ (%) Hệ số sử dụng đƣờng truyền (%) RED 11.43 1.37 8.50 91.65 A-RED 9.79 1.41 10.31 93.86

Hình 3.12: RED với sự giảm cường độ tắc nghẽn

Hình 3.13: A-RED với sự giảm cường độ tắc nghẽn

CHƢƠNG 4 THUẬT TOÁN QUẢN LÝ HÀNG ĐỢI A-RIO

4.1 Giới thiệu

Trong chƣơng 3 chúng ta đã nghiên cứu về họ các thuật toán quản lý hàng đợi động AQM, và hai thuật toán tiêu biểu của nó. Tuy nhiên cả hai thuật toán này mới chỉ đƣợc thực hiện trên kiến trúc mạng truyền thống, kiến trúc mạng với các dịch vụ cố gắng tối đa (Best Effort). Chƣơng này chúng ta sẽ tìm hiểu việc áp dụng của AQM trong kiến trúc các dịch vụ phân loại DiffServ. DiffServ đƣợc định nghĩa bởi Tiểu ban đặc nhiệm kỹ thuật Internet - IETF, nhằm cung cấp cho các mạng IP (mạng gồm các host sử dụng giao thức IP) sự đảm bảo chất lƣợng dịch vụ QoS cho các lƣu lƣợng khác nhau cùng chia sẻ kênh truyền chung. DiffServ căn cứ vào giá trị của một trƣờng đặc biệt trong header của gói tin IP để báo cho router biết cách xử lý nào (ở đây là cách xử lý trên từng chặng - PHB nào) cần đƣợc áp dụng cho mỗi gói tin.

Nội dung chính của chƣơng là trình bày về A-RIO (Adaptive – RED with In and Out), đƣợc đề xuất bởi Julio Orozco, David Ros [18], đây là một sự kết hợp trực tiếp của thuật toán A-RED (đề xuất bởi Floyd, đã đƣợc trình bày ở các phần trên) và thuật toán RIO (đề xuất bởi Clark và Fang, sẽ đƣợc trình bày sau đây). Mục đích của A-RIO bao gồm:

 Áp dụng cho kiến trúc mạng DiffServ, hỗ trợ cho việc đảm bảo chất lƣợng dịch vụ trong trƣờng hợp nhiều lƣu lƣợng cùng chia sẻ kênh truyền chung;  Đơn giản hóa cấu hình các routers có cài đặt các dịch vụ phân loại, bằng

cách tự động chuyển một tham số chất lƣợng phục vụ (độ trễ) sang một tập các tham số routers;

 Cố gắng giữ ổn định kích thƣớc hàng đợi quanh một giá trị đích khi tải nặng, bất chấp đến hiện trạng lƣu lƣợng.

Nội dung của chƣơng này đƣợc trình bày nhƣ sau: đầu tiên chúng tôi trình bày

Một phần của tài liệu Thuật toán quản lý hàng đợi A - RIO (Trang 65)

Tải bản đầy đủ (PDF)

(119 trang)