Giải thuật RED

Một phần của tài liệu Đề tài : Nghiên cứu cải tiến phương pháp quản lý hàng đợi cho truyền video trên mạng ip (Trang 61 - 66)

Giải thuật RED lần đầu tiờn được Sally Floyd và Van Jacobson [63] đề xuất cho chức năng quản lý hàng đợi tớch cực (AQM), sau đú nú được chuẩn hoỏ lại theo yờu cầu của IETF[15]. RED cú khả năng chống hiện tượng đồng bộ toàn cục trờn toàn thể cỏc luồng TCP, duy trỡ khả năng thụng qua cao cũng như độ trễ thấp cựng với cỏch đối xử cụng bằng qua đa kết nối TCP. Một trong những lý do làm cho tỷ lệ mất gúi tin cao là do thiếu cơ chế kiểm soỏt và điều khiển luồng. Để sớm phỏt hiện tắc nghẽn và hỗ trợ bỏo tắc nghẽn cho trạm nguồn, tổ chức chuẩn IETF khuyến cỏo sử dụng cơ chế quản lý hàng đợi tớch cực RED tại cỏc bộ định tuyến trờn mạng Internet.

Khi cú dấu hiệu của tắc nghẽn xảy ra trong mạng, cỏc hàng đợi của router được điền đầy và router bắt đầu loại bỏ cỏc gúi. Đối với cỏc luồng lưu lượng TCP thỡ đõy là tớn hiệu để bắt đầu pha khởi đầu chậm để làm giảm tải trong mạng và làm dịu tắc nghẽn. Cú hai vấn đề nan giải trong mạng: thứ nhất, cỏc gúi bị mất sẽ phải được truyền lại, việc này làm tăng tải trong mạng đồng thời phỏt sinh ra trễ cỏc luồng lưu lượng. Vấn đề thứ hai là hiện tượng đồng bộ toàn cục trờn toàn thể cỏc luồng TCP. Với lưu lượng dạng bú, cỏc hàng đợi được điền đầy và cỏc gúi đến sau bị loại bỏ. Kết quả là nhiều kết nối TCP bị ảnh hưởng và chyển sang chế độ khởi đầu chậm. Việc cú nhiều kết nối TCP cựng chuyển sang chế độ khởi đầu chậm tại một thời điểm và cựng thoỏt khỏi chế độ này do đú sẽ gõy ra thờm cỏc bú lưu lượng lớn.

Một giải phỏp xử lý việc cú nhiều lưu lượng dạng bú đến router là xõy dựng cỏc bộ đệm đủ lớn để cú thể giữ được cỏc bú lưu lượng này, do đú trỏnh việc phải loại bỏ cỏc gúi. Nhưng giải phỏp này khụng khả thi vỡ bộ đệm càng lớn thỡ độ trễ hàng đợi càng lớn, làm giảm chất lượng dịch vụ và nếu cú quỏ nhiều bú lưu lượng lớn đến liờn tiếp thỡ kớch thước hàng đợi sẽ khụng đủ lớn để giữ được tất cả cỏc lưu lượng này, do vậy dễ gõy ra tắc nghẽn. Một giải phỏp tối ưu để giải quyết tắc nghẽn là thụng bỏo cho cỏc thực thể gửi của cỏc luồng TCP tại thời điểm bắt đầu xảy ra tắc nghẽn bằng cỏch loại bỏ sớm gúi tin, như vậy trạm nguồn nhận biết thụng qua sự kiện bị “time out”, hoặc nhận được “duplicate ACK” và trạm nguồn giảm tốc độ gửi gúi tin vào mạng. Xỏc suất loại bỏ gúi tin sớm phụ thuộc vào kớch thước trung bỡnh hàng đợi và hai ngưỡng minth, maxth. Do đú trong trường hợp tắc nghẽn thỡ giảm tải lưu lượng TCP trong mạng mà khụng được đồng bộ toàn luồng. Đõy chớnh là giải phỏp của thuật toỏn RED.

Bộ định tuyến cài đặt RED (Random Early Detection- Phỏt hiện sớm ngẫu nhiờn) tớnh toỏn kớch thước hàng đợi trung bỡnh dựa trờn dựa trờn bộ lọc thụng thấp và trung bỡnh dịch chuyển cú trọng số tăng theo hàm mũ (EWMA- Exponential Weighted Moving Average). Kớch thước hàng đợi trung bỡnh được so sỏnh với hai giỏ trị ngưỡng: mức ngưỡng nhỏ nhất và mức ngưỡng lớn nhất: minth, maxth .

47

Hỡnh 3.1 Mối quan hệ giữa xỏc suất loại bỏ gúi và kớch thước hàng đợi trung bỡnh

Mục đớch thiết kế thuật toỏn RED

Trỏnh tắc nghẽn: RED được thiết kế để trỏnh tắc nghẽn hơn là giải quyết nú. Do đú RED được sử dụng để phỏt hiện ra tắc nghẽn ngay khi nú mới bắt đầu hỡnh thành để duy trỡ mạng trong miền độ trễ thấp và độ thụng qua

Trỏnh đồng bộ toàn cục: Khi cú dấu hiệu tắc nghẽn xảy ra trong mạng, router sẽ phải quyết định xem kết nối nào để gửi thụng bỏo phản hồi. Bằng việc phỏt hiện sớm tắc nghẽn và chỉ thụng bỏo cho cỏc kết nối khi cần thiết do đú trỏnh được hiện tượng đồng bộ toàn thể luồng TCP.

Đường biờn của kớch thước hàng đợi trung bỡnh: RED cú thể điều khiển được kớch thước hàng đợi trung bỡnh do đú điều khiển được trễ hàng đợi.

Khi kớch thước hàng đợi trung bỡnh nhỏ hơn mức ngưỡng nhỏ nhất thỡ khụng cú gúi nào bị đỏnh dấu.

Khi kớch thước hàng đợi trung bỡnh lớn hơn mức ngưỡng tối đa cho cho phộp thỡ tất cả cỏc gúi đến đều bị đỏnh dấu. Và trờn thực tế cỏc gúi cú thể bị loại bỏ. Khi cỏc gúi bị loại bỏ hoặc nếu tất cả cỏc nguồn cựng hợp tỏc với nhau thỡ kớch thước hàng đợi trung bỡnh sẽ khụng vượt quỏ giỏ trị ngưỡng tối đa cho phộp.

Giải thuật chung cho router RED[63] được mụ tả như sau:

Hỡnh 3.2 Giải thuật chung cho router RED

Như vậy, giải thuật RED được chia thành 2 phần riờng:

Phần 1: dựng để tớnh toỏn kớch thước hàng đợi trung bỡnh, được quyết định bởi mức độ của cỏc bú được cho phộp đi vào hàng đợi của router. Nú đưa ra bản mụ tả cỏc chu kỡ khi hàng đợi rỗng (chu kỡ rỗi) bằng cỏch đỏnh giỏ số lượng m của cỏc gúi nhỏ cú thể được truyền trong suốt chu

For mỗi gúi đến

Tớnh toỏn kớch thước trung bỡnh của hàng đợi kˆ

If minth≤ kˆ< maxth Tớnh toỏn xỏc suất pa với pa là xỏc suất đỏnh dấu cỏc gúi đến; else if maxth≤ kˆ Đỏnh dấu cỏc gúi đến else Chấp nhận cỏc gúi đến hàng đợi;

48

kỡ rỗi bởi router. Sau mỗi chu kỡ rỗi router lại tớnh toỏn kớch thước hàng đợi trung bỡnh như thể m gúi đó đến được hàng đợi rỗng trong suốt chu kỡ đú.

Phần 2: được sử dụng để tớnh toỏn xỏc suất đỏnh dấu gúi và sau đú quyết định xem router đỏnh dấu cỏc gúi cú thường xuyờn khụng, để đưa ra cỏc mức tắc nghẽn rừ ràng. Mục đớch đỏnh dấu cỏc gúi một cỏch đều đặn của cỏc router là trỏnh đồng bộ trờn toàn thể cỏc luồng TCP, trỏnh lệch và điều khiển kớch thước hàng đợi trung bỡnh. Độ chiếm giữ hàng đợi lớn thỡ xỏc suất loại bỏ gúi càng cao, độ chiếm giữ hàng đợi càng gần giỏ trị maxth thỡ xỏc suất loại bỏ gúi dần tiến tới giỏ trị maxp.

Hỡnh 3.3 Mụ tả mối quan hệ giữa maxp và độ chiếm giữ hàng đợi

Khi kớch thước hàng đợi trung bỡnh nhỏ hơn mức ngưỡng nhỏ nhất thỡ khụng cú gúi nào bị đỏnh dấu (hay xỏc suất đỏnh dấu bằng 0). Khi kớch thước hàng đợi trung bỡnh lớn hơn mức ngưỡng tối đa cho cho phộp thỡ tất cả cỏc gúi đến đều bị đỏnh dấu và trờn thực tế cỏc gúi cú thể bị loại bỏ (hay xỏc suất đỏnh dấu bằng 1). Khi kớch thước hàng đợi trung bỡnh nằm trong khoảng giỏ trị ngưỡng nhỏ nhất và giỏ trị ngưỡng lớn nhất thỡ mỗi gúi đến đều được đỏnh dấu bằng một xỏc suất pa , pa là một hàm của kớch thước hàng đợi trung bỡnh. Tại mỗi thời điểm một gúi bị đỏnh dấu.

Ba trường hợp trờn được xem như 3 pha của quỏ trỡnh trỏnh tắc nghẽn: Pha thứ nhất: hoạt động bỡnh thường,

Pha thứ hai: trỏnh tắc nghẽn Pha thứ ba: điều khiển tắc nghẽn.

RED đỏnh dấu gúi tin theo xỏc suất pa, với pa là một hàm tuyến tớnh theo kˆ. Khi kˆchạy từ minth đến maxth thỡ xỏc suất pb thay đổi tuyến tớnh từ 0 đến maxp:

th th th p b max min min kˆ max p    ; (3.1)

Xỏc suất đỏnh dấu gúi tin pa tăng chậm khi số gúi tin từ gúi cuối cựng được đỏnh dấu count tăng lờn: b b a 1 count*p p p   (3.2)

(count: số gúi tin từ gúi cuối cựng được đỏnh dấu), điều này đảm bảo cho gateway khụng phải chờ quỏ lõu trước khi đỏnh dấu một gúi tin. RED gateway đỏnh dấu tất cả mọi gúi tin nếu như

kˆ vượt quỏ maxth.

Ở đõy, RED khụng sử dụng kớch thước thực của hàng đợi để xỏc định pa mà sử dụng kớch thước hàng đợi trung bỡnh kˆ. Với mục đớch là để trỏnh sự dao động quỏ nhanh của hàng đợi

49

khi cú những đợt gửi với thời gian ngắn. RED tớnh toỏn kˆvới hệ số  mỗi khi cú gúi tin đến theo phộp gỏn sau: k ω + kˆ ) ω 1 ( = kˆ    (3.3)

Với klà kớch thước hàng đợi hiện thời; (0 1) là trọng số hàng đợi, cũn được gọi là hệ số làm trơn,  càng nhỏ thỡ mức độ làm trơn càng cao,  càng lớn thỡ kˆ càng gần giỏ trị tức thời của k . Như vậy  quyết định độ lớn và độ kộo dài cho phộp khi lưu lượng bựng nổ. Nếu giỏ trị của  đủ nhỏ, thỡ giỏ trị trung bỡnh sẽ cú khuynh hướng ớt thay đổi và sẽ ớt bị ảnh hưởng đối với những đợt ngắn (vớ dụ: = 0.002).

Cựng với cỏc phương trỡnh tớnh toỏn xỏc định , RED cũn cú thể thực hiện cỏc phộp tớnh rất hiệu quả với việc chọn cỏc hệ số là lũy thừa của 2.

Chi tiết giải thuật điều khiển của RED như sau: Cỏc tham số của RED:

Cỏc biến thay đổi:

kˆ: kớch thước hàng đợi trung bỡnh qtime : thời điểm hàng đợi bắt đầu rỗi

count: số gúi tin từ gúi cuối cựng được đỏnh dấu. Cỏc tham số cố định:

: là trọng số hàng đợi trong đoạn [0, 1], 0 1.

minth: là giới hạn của ngưỡng kớch thước hàng đợi cực tiểu maxth: là giới hạn của ngưỡng kớch thước hàng đợi cực đại. maxp: là xỏc suất đỏnh dấu/hủy bỏ (rơi) cực đại.

Cỏc tham số khỏc:

pa: xỏc suất đỏnh dấu gúi tin hiện tại k: kớch thước hàng đợi hiện tại time: thời gian hiện tại

f(t): một hàm tuyến tớnh theo thời gian

Bước 1: Ước tớnh kớch thước hàng đợi trung bỡnh

RED tớnh toỏn kớch thước hàng đợi trung bỡnh dựa trờn sự di chuyển của trọng số theo hàm mũ trung bỡnh:

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(timeqtime)  ; qtime = time; }

Bước 2: Quyết định gúi tin bị loại bỏ

Trong phần này của giải thuật RED quyết định đỏnh dấu/loại bỏ gúi tin đến. Đú là thuật toỏn cải tiến hiệu năng cho những luồng bỏo nhận, khi kớch thước hàng đợi trung bỡnh biến đổi từ minth đến maxth, cỏc giỏ trị sẽ bị loại bỏ với xỏc suất từ 0 đến max, cụ thể như sau:

 Quyết định rơi gúi tin: if (minth<= kˆ<= maxth)

50 {Tớnh xỏc suất đỏnh dấu pa: th th th p b kˆ p min max min max    ; b b a 1 count*p p p   ;

Đỏnh dấu gúi tin với xỏc suất pa;} else if (maxth<kˆ)

Đỏnh dấu gúi tin (p = 1)

else

Cho gúi tin vào hàng đợi (p = 0);

Khi kớch thước hàng đợi nằm giữa mức ngưỡng min và max, thỡ mỗi gúi đến sẽ được đỏnh dấu bằng xỏc suất pa, đõy là một hàm của kớch thước hàng đợi trung bỡnh. Tại mỗi thời điểm cú một gúi bị đỏnh dấu và xỏc suất gúi bị đỏnh dấu từ một kết nối điển hỡnh tỉ lệ với băng thụng chia sẻ kết nối tại mỗi bộ định tuyến.

Thiết lập cỏc tham số

Trong [63] cỏc tỏc giả đó nghiờn cứu rất kỹ và đưa ra cỏc kết quả về thiết lập cỏc tham số của RED vỡ vậy ở đõy tụi xin trớch dẫn cỏc kết quả đú như sau:

Trọng số hàng đợi 

RED gateway sử dụng bộ lọc thụng thấp để tớnh kớch thước hàng đợi trung bỡnh. Qua đú sự tăng ngắn hạn của kớch thước hàng đợi hiện tại do sự bựng nổ lưu lượng hay một sự tắc nghẽn thoỏng qua sẽ khụng ảnh hưởng lớn đến kớch thước hàng đợi trung bỡnh:

kˆ = (1ω)kˆ +ωk, trong đú, trọng số hàng đợi  đúng vai trũ quyết định đến giỏ trị của kˆ. Theo cỏc tớnh toỏn của cỏc nghiờn cứu về RED, người ta khuyến cỏo 

0.001. Giỏ trị tối ưu cho  là 0.002, ngoài ra, tựy theo điều kiện của mạng, ta cú thể chọn 

trong khoảng (0.002, 0.003). Đồng thời sau khi kiểm nghiệm cỏc mụ phỏng trong [63] cỏc tỏc giả cũng khuyến cỏo rằng minth  5 và maxth = 3 minth.

Thuật toỏn RED được trỡnh bày trong lưu đồ ở hỡnh 3.4 dưới đõy:

Gói tin đến

Kết thúc

Đánh dấu gói tin rơi, xác suất p=1

Đánh dấu gói tin rơi, xác suất pa

Tính kích th-ớc hàng đợi trung bìnhkˆ

Cho gói tin vào hàng đợi, xác suất p=0

< minth

kˆ kˆ > maxth

Y Y

N N

51

Điều khiển tắc nghẽn đầu cuối được sử dụng rộng rói trong cỏc mạng ngày nay để ngăn chặn tắc nghẽn xảy ra. Tuy nhiờn do lưu lượng đến dưới dạng bú, cỏc router được cung cấp cỏc bộ đệm kớch thước lớn một cỏch cụng bằng để thu hỳt cỏc bú lưu lượng và duy trỡ việc sử dụng kết nối cao. Bờn trong cỏc bộ đệm lớn này cú sử dụng quản lý hàng đợi loại bỏ đằng đuụi, nếu xảy ra tắc nghẽn tại cỏc router thỡ cỏc gúi sẽ bị trễ hàng đợi lớn. Do đú quản lý hàng đợi loại bỏ đằng đuụi buộc mạng phải lựa chọn giữa độ sử dụng cao (yờu cầu kớch thước hàng đợi lớn) hay độ trễ nhỏ (yờu cầu kớch thước hàng đợi nhỏ).

Cũn quản lý hàng đợi sử dụng thuật toỏn RED thỡ tớch cực hơn do sử dụng quỏ trỡnh loại bỏ gúi ngẫu nhiờn bằng việc thay đổi kớch thước hàng đợi trung bỡnh. Mục tiờu chớnh của RED là phối hợp giữa trung bỡnh hoỏ chiều dài của hàng đợi (cung cấp lưu lượng dạng bú) và thụng bỏo tắc nghẽn sớm (giảm kớch thước hàng đợi trung bỡnh) để đạt được trễ hàng đợi trung bỡnh thấp và độ thụng qua cao.Tuy nhiờn RED lại cú mặt hạn chế: kớch thước hàng đợi trung bỡnh thay đổi theo mức tắc nghẽn và cỏc thiết lập tham số. Về cơ bản RED yờu cầu điều chỉnh cỏc tham số để hoạt động hiệu quả thỡ nú phải loại bỏ đủ cỏc gúi để đạt được mục đớch. Thật khụng thớch hợp là việc thiết lập cỏc tham số phụ thuộc vào tớnh tự nhiờn và dạng bú của lưu lượng truyền qua hàng đợi trờn cơ sở RED. Ta thấy khi kết nối xảy ra tắc nghẽn nhẹ hay giỏ trị maxp cao thỡ kớch thước hàng đợi trung bỡnh sẽ gần giỏ trị minth, cũn khi kết nối bị tắc nghẽn nặng, hay giỏ trị maxp thấp thỡ kớch thước trung bỡnh hàng đợi gần bằng hoặc lớn hơn maxth. Kết quả là trễ hàng đợi hàng đợi trung bỡnh rất nhạy với tải lưu lượng và tham số do đú khụng thể dự đoỏn truớc được. Thờm vào đú độ thụng qua trong RED cũng nhạy với tải lưu lượng và tham số. RED thường khụng hoạt động tốt khi kớch thước hàng đợi trung bỡnh vượt quỏ giỏ trị maxth, khi vượt quỏ giỏ trị này thỡ khả năng thụng qua giảm cũn tốc độ loại bỏ gúi tin tăng. Giải phỏp đưa ra cho vấn đề trờn là tỡm ra một thuật toỏn kế thừa được cỏc ưu điểm của thuật toỏn RED đồng thời hạn chế được nhược điểm của nú. Từ khi Sally Floy cụng bố giải thuật RED(1993) đến nay đó cú một dũng ổn định rất nhiều cụng trỡnh của cỏc nhà khoa học khỏc nhằm cải tiến RED để đạt một hiệu quả cao hơn trong xử lý tắc nghẽn mạng [44]. Cú thể kể ra cỏc biến thể của RED như ARED, FRED, GRED,..trong phần 3.1.2 tụi xin trỡnh bày túm tắt một số biến thể của RED.

Một phần của tài liệu Đề tài : Nghiên cứu cải tiến phương pháp quản lý hàng đợi cho truyền video trên mạng ip (Trang 61 - 66)