Tổng quan về Adaptive RED:

Một phần của tài liệu Các phương pháp quản lý hàng đợi tích cực (Trang 64 - 80)

Phương pháp Adaptive RED (ARED) được đề xướng lần đầu tiên bởi Feng vào năm 1997. Và sau đó, năm 2001, Floyd, Gummadi và Shenker đã có những cải tiến với đề xướng của Feng dựa trên những ý tưởng cớ bản ban đầu của ông. Những tác giả này đưa ra những mở rộng trong RED để loại bỏ những khó khăn trong việc thiết đặt các tham số cho RED. Hơn nữa, ARED có thể đạt được một kích thước hàng đợi trung bình chuẩn trong những giao thông mạng khác nhau. [14]

Những ý tưởng đặt ra chủ yếu tập chung vào vấn đề điểu khiển tham số maxP của giải thuật RED thật phù hợp với sự thay đổi trong mạng. Điều này sẽ làm cho kích thước hàng đợi ổn định hơn. Giải thuật này sẽ khảo sát trung bình độ dài hàng đợi để quyết định xem RED có cần thiết phải linh hoạt hơn nữa không. Nếu như trung bình chiều dài hàng đợi ở trạng thái nhỏ hơn giá trị minth thì cơ chế dò tìm đang hoạt động rất tốt, còn ngược lại, nếu giá trị trung bình chiều dài hàng đợi lớn hơn giá trị maxth thì cơ chế dò tìm chưa đủ linh hoạt.

Every Q(ave) Update:

if (minth < Q(ave) < maxth ) status = Between;

if ( Q(ave) < minth && status != Below ) status = Below;

maxp = maxp / ;

if ( Q(ave) > maxth && status != Above ) status = Above;

maxp = maxp * ß ;

Hình 15: Giải thuật Adaptive RED tổng quát.

Giải thuật này giữ cấu trúc cơ bản của RED và đơn thuần điều chỉnh tham số maxP để giữ kích thước hàng đợi trung bình giữa maxth và minth.

Giải thuật này không những dự đoán trước được độ trễ của hàng đợi trung bình mà còn tối giản khả năng của việc vượt quá ngưỡng maxth của kích thước hàng đợi trung bình. Như vậy, ARED giảm bớt cả 2 mức tổn thất mất gói và sự mâu thuẫn trong độ trễ hàng đợi. ARED giải quyết vấn đề của việc thiết đặt các tham số cho RED, một trong những điểm

yếu của RED. Giải thuật này giúp tránh việc phải huỷ bỏ những thiết kế cơ bản của RED để làm ổn định chiều dài hàng đợi trung bình và nó có thể thiết lập tự động các tham số khác của RED.

Những mục đích của giải thuật RED hay cũng như của quản lý hàng đợi tích cực nói chung là có được một trung bình hàng đợi trễ thấp và có được một lưu lượng cao. Vì vậy, những đánh giá của ARED tập chung chủ yếu vào xem xét trung bình hàng đợi trễ và lưu lượng.[14][15][16][17][18]

3.4.2 Cơ chế hoạt động:

Như đã phân tích ở trên, mục đích của ARED là giữ cho maxp nằm giữa khoảng minth và maxth. Người ta đưa ra 4 cách tiếp cận để làm được điều này:

maxP không chỉ được thay đổi cho phù hợp để nằm ở trong khoảng giữa maxth và minth mà còn để giữ cho kích thước hàng đợi trung bình nằm trong một khoảng đích nằm giữa maxth và minth.

maxP được làm thích nghi một cách từ từ.

maxP được đặt cố định trong khoảng [0.01, 0.5] ( hay tương đương [1%,50%]. Cách này sẽ đảm bảo sự thực hiện của ARED sẽ không bị giảm sút trong thời gian chu kỳ chuyển tiếp . Điều này đảm bảo trong chu kỳ chuyển tiếp, chỉ tiêu toàn bộ của RED cần phải vẫn còn chấp nhận được, mặc dù kích thước trung bình hàng đợi có lẽ đã không còn trong phạm vi đích, và trung bình độ trễ cũng như thông lượng mạng có thể đã suy giảm.

Thay vì việc tăng lên và giảm bớt maxP , người ta sử dụng chính sách additive - increase multiplicative-decrease ( AIMD).

Cách tiếp cận thứ 3 sẽ đảm bảo sự thực hiện của ARED sẽ không bị giảm sút trong thời gian chu kỳ chuyển tiếp ( giữ maxP trong phạm vi [0.01,0.5]). Điều này đảm bảo trong chu kỳ chuyển tiếp, chỉ tiêu toàn bộ của RED cần phải vẫn còn chấp nhận được, mặc dù kích thước trung bình hàng đợi có lẽ đã không trong phạm vi đích, và trung bình độ trễ và thông lượng có thể đã suy giảm.

Every interval seconds:

if (avg > target and maxp 0.5 ) increase maxp:

maxp maxp + ;

else if (avg < target and maxp 0.01) decrease maxp :

maxp maxp * ß ;

Hình 16: Giải thuật ARED theo cách tiếp cận sử dụng AIMD.

Các 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 : phạm vi của avg . Phạm vi này là một khoảng : [ minth + 0.4*(maxth - minth ), minth +0.6*(maxth - minth) ] : Hệ số tăng ; giá trị của nó bằng min(0.01 , maxp/4).

ß :Hệ số giảm; giá trị được lấy bằng 0.9.

Giải thuật ARED trong hình 16 sử dụng AIMD ( sự tăng lên hay giảm bớt ) cho việc làm thích nghi maxP.[15]

3.4.3 Sự lựa chọn các tham số: 3.4.3.1 Phạm vi thiết lập maxp:

Như ta đã nói ở trên, người ta đặt maxP trong khoảng [0.01,0.5]. Cận trên của maxP được đặt là 0.5 bởi các lý do:

• Thứ nhất, người ta không quan tâm tối ưu RED với tỷ lệ loại bỏ gói lớn hơn 50%.

• Thứ 2, ở đây, người ta sử dụng phương pháp RED với những tuỳ chọn mềm dẻo ( RED with gentle option ), điều này có nghĩa là tỷ lệ loại bỏ gói tăng từ 0 đến maxP khi kích thước hàng đợi trung bình tăng từ minth đến maxth, và tăng từ maxP đến 1 khi khích thước hàng đợi trung bình tăng từ maxth đến 2 lần maxth.

Hình 17: Giải thuật RED với tuỳ chọn mềm dẻo ( gentle option ).

• Cận dưới của maxP được đặt là 0.01 với một sự kỳ vọng giới hạn phạm vi của maxP. Với giới hạn dưới được đặt là 0.01 thì RED thực sự hoạt động rất tốt.

3.4.3.2 Những tham số và ß :

Khi thiết lập các giá trị mặc định cho và ß , ta cần đảm bảo trong một điều kiện bình thường, một sự cải biến đơn của maxP không dẫn đến sự thay đổi của kích thước hàng đợi trung bình trong phạm vi đích của nó.

Mặc định, người ta chọn : < 0.25 maxP ( min [0.01, maxP/4] ß > 0.83 (ở hình trên, chọn ß = 0.9 )

3.4.3.3 Thiết lập các tham số maxth và wq:

Như ở trên đã nói, Adaptive RED loại bỏ việc phụ thuộc các tham số của RED. Để giảm bớt yêu cầu phải điều chỉnh các tham số cho RED, người ta đưa ra các thủ tục tự cho sự thiết đặt tự động các tham số max và w .

Người ta thiết lập maxth bằng 3 lần minth. Trong trường hợp này, kích thước hàng đợi trung bình đích được đặt chính giữa khoảng 2*minth vì thế, nó chỉ được xác định bởi giá trị minth của RED.

Giá trị wq được đặt mặc định là 0.002 .[11][19]

3.5 Dynamic RED:

3.5.1 Mô hình hệ thống và các thành phần:

Sự phát triển mạnh mẽ của internet khiến cho những phát minh và triển khai việc điều khiển tắc nghẽn một cách hiệu quả ở tầng chuyển vận trở lên rất quan trọng. Kiến trúc internet ngày nay nổi bật bởi khả năng điều khiển tắc nghẽn end-to-end TCP ( việc điều khiển chỉ cần quyết định của host đích(end-host)). Với điều khiển tắc nghẽn end-to-end, người ta hy vọng quá trình điều khiển sẽ được cải thiện tốt hơn với sự phát triển của những cơ chế kiểm soát tắc nghẽn ở các trạm. Người ta đã đưa ra giải thuật DRED, một trong những giải thuật mới phát triển dựa trên những kết quả cơ bản của giải thuật RED truyền

thống để cải thiện việc điều khiển tắc nghẽn ở gateway.[20][22]

Hình 18: Một mô hình kiến trúc mạng để thực hiện giải thuật DRED. Mô hình mạng trên bao gồm những TCP host ( gồm cả host nguồn và đích ),

gateway (G1 và G2). Những nguồn dữ liệu từ TCP nguồn qua G1 và từ G2 chuyển đến những host đích. Và giữa 2 gateway là một " bottleneck channel" .Các thành phần của mô

TCP Host: Chứa những nguồn dữ liệu nguồn và những dữ liệu được chuyển đến ( tạm gọi là dữ liệu đích ) trong mạng. Nó bao gồm việc chuyển vận các khối dữ liệu "long-live-bulk-data" và các khối dữ liệu tương tác( interactive data) hay các khối dữ liệu "short-lived-bulk-data". Nếu sự tắc nghẽn nhất thời sảy ra bởi việc truyền các khối dữ liệu long- live bulk-data thì sự tắc nghẽn rất dễ trở nên lâu hơn nếu cớ chế điều khiển

tắc nghẽn không có sự phản hồi tới những nguồn chuyển vận. Nếu sự tắc nghẽn sảy ra bởi việc chuyển vận khối dữ liệu tương tác hay nguồn dữ liệu short-lived bulk-data hay các khối dữ liệu tương tác thì sự tắc nghẽn này là không quá nghiêm trọng khi hàng đợi chưa đầy vì những luồng chuyển vận như thế này sẽ nhanh chóng hoàn thành hoặc được ngưng lại.

data channel ( kênh dữ liệu ): Những kênh dữ liệu là một mối liên kết

truyền thông giữa 2 ( hoặc nhiều hơn) host trong mạng. Mỗi kênh dữ liệu có một đặc điểm riêng về băng thông và độ trễ.

gateway : gateway là một thiết bị dùng để kết nối hệ thống mạng sử dụng những giao thức chuyển vận khác nhau. Nhờ thiết bị này mà thông tin có thể đi từ điểm này đến điểm khác trong một hệ thống sử dụng nhiều giao thức chuyển vận khác nhau.[20]

3.5.2 Phân tích mô hình hệ thống:

Như ta đã tìm hiểu về giải thuật RED ở mục [3.2] , một cơ chế điều khiển tắc nghẽn RED gồm có 2 chức năng là: Phát hiện sớm sự tắc nghẽn và quyết định những kết nối nào được thông báo tắc nghẽn. Ở đây, ta sẽ đi sâu xem xét việc phát hiện sự tắc nghẽn phôi thai như thế nào bằng việc sửa đổi cơ chế nguyên bản của RED để thiết kế một cơ chế điều khiển tắc nghẽn vô điều kiện cho sự tắc nghẽn nhất thời mà có hại cho hệ thống khi hàng đợi gần đầy.

Trọng số hàng đợi wq được sử dụng để kiểm soát nhịp độ việc thay đổi các luồng vận chuyển tại gateway gây ra bởi kích thước hàng đợi trung bình (ở giải thuật RED nguyên bản, wq được thiết đặt trước và nó là một hằng số trong quá trình thực hiện). Ở phương pháp này, người ta thay đổi giá trị của wq cho phù hợp với sự thay đổi của kích thước hàng đợi thực tế. Bằng việc thiết đặt lại tham số wq, sẽ giúp phát hiện ra sự tắc

nghẽn nhất thời đúng lúc khi hàng đợi gần đầy và có thể đưa ra những hoạt động để dập tắt sư tắc nghẽn, tránh tràn bộ đệm.

Việc thiết đặt lại tham số wq làm cho giải thuật RED thay đổi. Pha tránh né tắc nghẽn được mở rộng và chia thành một số pha con. DRED điều chỉnh giá trị maxp phụ thuộc vào chiều dài hàng đợi trung bình hiện thời. maxp được tăng tỷ lệ với sự tăng lên của

3.5.3 Điều chỉnh trọng số hàng đợi Wq:

Với tham số wq được thiết lập sẵn, giải thuật RED không thể phản ứng thật tốt khi xảy ra bursty cao để ngăn ngừa tràn bộ đệm. Một khía cạnh khác, nếu đặt wq quá cao thì giải thuật RED lại phản ứng quá nhanh với những luồng short-lived bursty ( mà điều này hoàn toàn không cần thiết ). Ở giải thuật DRED, thông số wq được điều chỉnh mỗi khi có gói tin được chuyển tới như ở phương trình bên dưới.

Ở phương pháp DRED, người ta giới thiệu một ngưỡng mới gọi là "warning line" khi đo kích thước hàng đợi thực tế trên mỗi gói được chuyển đến. Nó chia việc thiết đặt wq thành 2 phần: Nếu kích thước hàng đợi thực tế ở dưới ngưỡng "warning line", wq được đặt giá trị chính xác giống như ở giải thuật RED thông thường. Tuy nhiên, ngay khi kích thước hàng đợi thực tế ở trong hay vượt quá ngưỡng "warning line", wq được đặt tỷ lệ theo kích thước vùng đệm. Kích thước vùng đệm càng cao, trọng số wq càng lớn.

Hình 19 : Trọng số hàng đợi mới nwq của giải thuật DRED. oldwq là trọng số hàng đợi cũ. nwq

là trọng số hàng đợi mới.

For each arriving packet P: q++ , if (q > avg ) diff = q - avg ; else diff = 0; ratio = diff/buf_s R = int( 10*ratio); If ( q < warn_line) nwq = oldwq else { switch (R) { case 0 : nwq = oldwq

case 1 : nwq = oldwq *4 case 2: nwq = oldwq *8

case 3: nwq = oldwq *12 case 4: nwq = oldwq *16 default: nwq = oldwq *20 for each departing

q-- ; if (avg > q)

nwq = oldwq *10; else

nwq = oldwq;

Hình 20: Giải thuật tính toán giá trị wq trong DRED. Ý nghĩa và giá trị của các tham số được thể hiện ở bảng 3:

Tham số Old_q Buf_s Warn_line Q Diff Ratio R Nwq Giá trị và ý nghĩa 0.002 Kích thước bộ đệm

Một nửa giá trị kích thước bộ đệm Kích thước hàng đợi thực tế

Hiệu của kích thước hàng đợi thực tế với kích thước hàng đợi trung bình

Tỷ số giữa old_q và buf_s Phần nguyên của ( 10*ratio) Trọng số hàng đợi mới

Bảng 3: Ý nghĩa và giá trị của các tham số trong giải thuật DRED.

Điểm nổi bật của giải thuật là sẽ phát hiện giai đoạn khởi sinh tắc nghẽn một cách nhanh chóng khi hàng đợi gần đầy và lưu lượng đến là một luồng bursty cao.[20]

Một phần của tài liệu Các phương pháp quản lý hàng đợi tích cực (Trang 64 - 80)