Tổng quan giải thuật quản lý hàng đợi BLUE

Một phần của tài liệu luận án 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 80 - 84)

Chương 4 ĐỀ XUẤT CẢI TIẾN GIẢI THUẬT QUẢN Lí HÀNG ĐỢI BLUE

4.1 Tổng quan giải thuật quản lý hàng đợi BLUE

4.1.1. Giải thuật BLUE

Vấn đề cố hữu với những thuật toỏn AQM là chỳng sử dụng độ dài hàng đợi như cỏc chỉ số về mức độ nghiờm trọng của tỡnh trạng tắc nghẽn mà khụng quan tõm đến cỏc yếu tố khỏc chẳng hạn như mức độ sử dụng đường truyền mạng. Sử dụng cỏc thuật toỏn quản lý hàng đợi tớch cực được đề nghị bởi IETF nhằm ngăn chặn tắc nghẽn và giảm tỷ lệ mất gúi. Nguyờn tắc chớnh của cỏc thuật toỏn là loại bỏ cỏc gúi tin một cỏch cú hệ thống để thụng bỏo cho cỏc nỳt cuối về tắc nghẽn trờn cỏc Gateway. BLUE, một giải thuật quản lý hàng đợi tớch cực mới, cú nhiều ưu điểm hơn giải thuật quản lý hàng đợi tớch cực phổ biến RED trong một số điều kiện cụ thể [17, 28, 85].

BLUE đó được Wu-chang Feng và cộng sự đề xuất năm 1999 [85]. Tỏc động quan trọng nhất của việc sử dụng BLUE là điều khiển tắc nghẽn cú thể được thực hiện với kớch thước khụng gian đệm tối thiểu [17, 28, 33, 85]. Điều này làm giảm độ trễ end-to-end qua mạng, do đú cải thiện hiệu quả của cỏc thuật toỏn điều khiển tắc nghẽn.

BLUE là một giải thuật quản lý hàng đợi tớch cực để quản lý kiểm soỏt tắc nghẽn dựa trờn sự kiện mất gúi dữ liệu và mức độ sử dụng đường truyền thay vỡ chiếm dụng hàng đợi. BLUE duy trỡ một xỏc suất pm duy nhất để đỏnh dấu (hoặc loại bỏ) cỏc gúi tin. Khi tràn bộ đệm, nếu hàng đợi liờn tục loại cỏc gúi tin, BLUE sẽ tăng pm, do đú tăng tốc độ gửi lại thụng bỏo tắc nghẽn hoặc loại bỏ cỏc gúi tin. Ngược lại, nếu hàng đợi trở nờn trống rỗng hoặc nếu liờn kết được nhàn rỗi, BLUE lại giảm xỏc suất đỏnh dấu (hay loại) gúi tin của nú. Trong hỡnh 4.1 trỡnh bày mó giả của giải thuật BLUE:

Dựa trờn sự kiện mất gúi tin hay qlen> L :

if (( now -last_update) >

freeze_time ) { pm = pm + d1; last_update = now; }

Dựa trờn sự kiện đường truyền rỗi hay qlen= 0:

if((now–last_update)>

freeze_time ){ pm= pm – d2;

last_update = now; } Đỏnh dấu (loại bỏ) cỏc gúi tin với xỏc suất pm

Hỡnh 4.1 Mó giả giải thuật BLUE.

Cỏc tham số sử dụng trong giải thuật:

- pm: xỏc suất đỏnh dấu hoặc loại gúi tin,

- freeze_time: là một tham số xỏc định khoảng thời gian tối thiểu giữa hai lần cập nhật liờn tiếp của pm,

- d1: xỏc định lượng tăng lờn của pm khi hàng đợi tràn, - d2: xỏc định lượng giảm pm khi liờn kết là nhàn rỗi, - now: thời điểm hiện tại,

66

- qlen: là độ dài hàng đợi hiện tại,

- L: xỏc định ngưỡng cho phộp gúi tin đến tại hàng đợi. Chỳng ta cú thể mụ tả hoạt động của thuật toỏn theo 5 bước:

Bước 1: Kiểm tra nếu xảy ra sự kiện mất gúi tin thỡ qua bước 2, nếu khụng, kiểm tra xem nếu sự kiện đường truyền rỗi thỡ qua bước 3, ngược lại qua bước 4.

Bước 2: Kiểm tra, nếu khoảng thời gian từ lần cập nhật cuối cựng đến thời điểm hiện tại mà lớn hơn ngưỡng cho phộp thỡ tăng xỏc suất đỏnh dấu (hoặc loại bỏ) gúi pm lờn, Sau đú qua bước 5. Nếu khoảng thời gian từ lần cập nhật cuối cựng đến thời điểm hiện tại mà nhỏ hơn ngưỡng cho phộp qua bước 5.

Bước 3: Kiểm tra, nếu đường truyền rỗi chuyển qua bước 4 ngược lại chuyển qua bước 5. Bước 4: Kiểm tra, nếu khoảng thời gian từ lần cập nhật cuối cựng đến thời điểm hiện tại mà lớn hơn ngưỡng cho phộp thỡ giảm xỏc suất đỏnh dấu (hoặc loại bỏ) gúi pm xuống, Sau đú qua bước 5. Nếu khoảng thời gian từ lần cập nhật cuối cựng đến thời điểm hiện tại mà nhỏ hơn ngưỡng cho phộp qua bước 5 .

Bước 5: Đỏnh dấu (hoặc loại bỏ) gúi tin đến với xỏc suất pm.

Giải thuật quản lý hàng đợi BLUE cũng cú thể trỡnh bày dạng lưu đồ như trong hỡnh 4.2.

Hỡnh 4.2 Lưu đồ giải thuật BLUE

Trong mụ phỏng giỏ trị mặc định của cỏc tham số tĩnh BLUE là: d1= 0.02; d2 = 0.002, free_time = 0.01s. d1 được thiết lập nhỏ hơn d2 một cỏch đỏng kể. Nguyờn nhõn là do liờn kết dưới mức ứng dụng cú thể xảy ra khi quản lý tắc nghẽn hoặc là quỏ nguyờn tắc hoặc quỏ linh hoạt, nhưng mất gúi xảy ra chỉ khi quản lý ựn tắc là quỏ cứng nhắc (cosservative)

Do trọng số chống mất gúi lớn hơn so với mức độ sử dụng đường truyền, BLUE cú thể nhanh chúng phản ứng với sự gia tăng đỏng kể tải giao thụng. Một nguyờn tắc cơ bản là: d2 = d1/10. Phõn tớch sự phụ thuộc của cỏc tham số: Để BLUE làm việc hiệu quả, một điều rất quan trọng là việc thiết lập cỏc tham số hợp lý.

Khi xảy ra hiện tượng mất gúi tin, kớch thước hàng đợi vượt quỏ ngưỡng L, thỡ BLUE tăng pm do đú tăng tốc độ gửi lại thụng bỏo tắc nghẽn hay loại bỏ gúi tin, tốc độ thụng bỏo này tăng d1 trờn mỗi freetime giõy. Nờn cỏc nỳt nguồn sẽ giảm kớch thước cửa sổ phỏt và do đú tốc độ gửi

pm = pm - d2

Gúi tin đến

Xảy ra sự kiện mất gúi tin

(Hoặc qlen> L)?

Xảy ra sự kiện đường

truyền rỗi? Now – last_update > Freeze_time ? Now – last_update > Freeze_time ? pm = pm + d1

Đỏnh dấu (hay loại bỏ gúi) với xỏc suất pm Kết thỳc Y N Y N N Y Y N

67

chậm lại. Khi liờn kết nhàn rỗi tốc độ thụng bỏo giảm bằng tham số d2 trờn mỗi freezetime giõy. Bằng cỏch này, tốc độ thụng bỏo tỡnh trạng tắc nghẽn pm hội tụ đến một giỏ trị để kiểm soỏt tốc độ đến để hàng đợi đú là dưới ngưỡng L, và liờn kết khụng bị nhàn rỗi và qua đú nõng cao được mức độ sử dụng đường truyền. Dưới đõy là cụng thức tớnh mức độ sử dụng đường truyền. Gọi y là mức độ sử dụng đường truyền, y được tớnh như sau:

- byte_departurest: số bytes được truyền đi trong t giõy, - B: băng thụng của đường truyền,

- t: Thời gian truyền;

Thứ nhất: Tham số freeze_time cần phải được thiết lập trờn cơ sở thời gian khứ hồi hiệu quả nhằm cho phộp bất kỳ sự thay đổi nào trong việc gỏn xỏc suất sẽ được phản ỏnh đến nơi gửi trước khi sự thay đổi tiếp theo xảy ra. Với cỏc đường truyền dài như cỏc đường truyền vệ tinh, tham số freeze_time cần được tăng lờn cho phự hợp với thời gian khứ hồi (roundtrip time) dài hơn.

Thứ hai: tập hợp cỏc tham số d1, d2 được thiết lập sao cho đường truyền cú khả năng thớch nghi hiệu quả với những thay đổi lớn trong lưu lượng truyền qua đường kết nối. Với cỏc đường truyền mà tại đú trung bỡnh trong vài phỳt xảy ra sự thay đổi rất lớn trong lưu lượng truyền thỡ d1, d2 , cần được thiết lập gắn với freeze_time để cho phộp pm thay đổi giỏ trị từ 0 đến 1 trong khoảng thời gian trung bỡnh 10 phỳt. Điều này tương phản với với cỏch tiếp cận theo kớch thước hiện thời của hàng đợi khi xỏc suất gỏn và xỏc suất hủy bỏ nằm trong khoảng 0 đến 1 trung bỡnh trong vài mili-giõy. Sau khi được xem xột kỹ, giỏ trị freeze_time được thiết lập trong khoảng giữa 10ms và 500ms và thiết lập giỏ trị của d1, d2 để chỳng cho phộp pm nằm trong khoảng từ 0 đến 1 trung bỡnh trong 5 đến 30 giõy[28, 33].Việc xỏc định cỏc tham số d1, d2 và freetime trong giải thuật BLUE là rất quan trọng, bản thõn Wu-chang Feng trong [85] đó thiết lập giỏ trị d2 nhỏ hơn d1 đỏng kể để đỏp ứng nhanh chúng với sự kiện mất gúi tin, d2 = (1/10)d1. Và thường lấy cỏc giỏ trị cấu hỡnh như trong [85].

Bảng 4.1 Cấu hỡnh tham số freezetime và d1, d2 của BLUE [79]

Kể từ khi được W.Feng cụng bố (1999) đến nay BLUE đó được nhiều nhà khoa học tiếp tục nghiờn cứu và đề xuất cỏc cải tiến, cỏc cụng trỡnh này cú thể kể ra như SFB [28], Modelling BLUE [33], BLUE-RWM[83],…

4.1.2. Giải thuật Stochastic Fair Blue (SFB)

Giải thuật SFB[6, 28] dựa vào BLUE là một kỹ thuật mới cho việc bảo vệ cỏc luồng TCP chống lại cỏc luồng khụng hồi đỏp (UDP), làm cho nú khụng ảnh hưởng đến hiệu suất của cỏc luồng cú hồi đỏp. SFB chia hàng đợi thành cỏc thựng tớnh toỏn (accountinh bin), mỗi thựng duy trỡ một xỏc suất đỏnh dấu (hoặc hủy bỏ) gúi tin pm tương tự BLUE. Cỏc thựng được tổ chức thành L mức, mỗi mức cú N thựng. Thờm vào đú SFB sử dụng L hàm băm độc lập, mỗi hàm

t B departures byte y t   _

68

tương ứng với một mức. Mỗi hàm băm ỏnh xạ một luồng vào một trong những thựng đếm thuộc mức đú. Cỏc thựng được sử dụng để theo dừi và thống kờ sự chiếm giữ hàng đợi của cỏc gúi tin thuộc thựng đú. Mỗi luồng được ỏnh xạ vào tất cả cỏc mức, mỗi mức một thựng. Khi một gúi tin đến hàng đợi nú được đưa vào một trong những thựng mà luồng cú gúi tin được ỏnh xạ vào. Nếu số lượng gúi tin ỏnh xạ vào một thựng vượt quỏ một ngưỡng nhất định (chẳng hạn kớch thước của thựng) thỡ tăng xỏc suất pm tại thựng đú lờn. Nếu số lượng gúi tin trong thựng đú giảm đến hết thỡ giảm pm xuống.

Quan sỏt thấy rằng với một luồng khụng hồi đỏp khi được băm vào L thựng thỡ xỏc suất pm tại cỏc thựng nhanh chúng tăng lờn 1. Cỏc luồng cú hồi đỏp cú thể chia sẻ một hoặc hai thựng với cỏc luồng khụng hồi đỏp. Khi số lượng cỏc luồng khụng hồi đỏp là khụng quỏ lớn so với số lượng cỏc thựng thỡ luồng cú hồi đỏp cú khả năng được băm vào ớt nhất một thựng khụng chứa luồng khụng hồi đỏp và như thế cú một giỏ trị pm bỡnh thường, việc quyết định đỏnh dấu một gúi dựa vào pmin là giỏ trị pm tối thiểu của cỏc thựng cú luồng được ỏnh xạ vào. Nếu pmin là thỡ gúi được xỏc định như là luồng khụng hồi đỏp và giới hạn tốc độ truyền của luồng.

Cỏc tham số giải thuật SFB: Cỏc tham số: freeze_time, d1, d2, now, last_update tương tự như

trong thuật toỏn BLUE.

Ngoài ra, SFB bổ sung thờm cỏc tham số sau:

- N: số thựng trong mỗi mức - L: số mức.

- Boxtime: là khoảng thời gian sử dụng để điều khiển băng thụng nhằm lấy cỏc luồng khụng hồi đỏp ra từ đường truyền cổ chai,

- h0, h1, …hL-1: là cỏc hàm băm tương ứng ở mỗi mức.

- Với mỗi thựng: pm là xỏc suất đỏnh dấu (hoặc hủy bỏ) gúi tin tại mỗi thựng, - bin_size: là khụng gian bộ đệm của mỗi thựng,

- qlen: là độ dài hàng đợi thực tế của mỗi thựng.

Thuật toỏn được thực hiện qua 05 bước như sau [6, 28]:

Bước 1: Tớnh toỏn cỏc hàm băm (h0, h1, …hL-1).

Bước 2: Với mỗi mức: Kiểm tra, nếu kớch thước thựng lớn hơn giới hạn cho phộp thỡ qua bước 3, ngược lại, kiểm tra: nếu thựng rỗng thỡ qua bước 4, ngược lại qua bước 5.

Bước 3: Kiểm tra, nếu khoảng thời gian từ lần cập nhật cuối cựng cho thựng đến thời điểm hiện tại mà lớn hơn ngưỡng cho phộp thỡ tăng xỏc suất rơi gúi (p) lờn. Qua bước 5.

Bước 4: Kiểm tra, nếu khoảng thời gian từ lần cập nhật cuối cựng cho thựng đến thời điểm hiện tại mà nhỏ hơn ngưỡng cho phộp thỡ giảm xỏc suất rơi gúi (p) xuống. Qua bước 5.

Bước 5: Kiểm tra, nếu xỏc suất bộ nhất tại cỏc thựng gúi tin được ỏnh xạ vào mà bằng 1 thỡ giới hạn tốc độ truyền của luồng, ngược lại thỡ đỏnh dấu gúi tin đến với xỏc suất p.

Hướng tiếp cận của SFB đó khắc phục được hạn chế của BLUE với việc ỏp dụng xỏc suất đỏnh dấu linh hoạt hơn cho cỏc luồng. Những luồng cú băng thụng cao hơn sẽ cú xỏc suất đỏnh dấu cao hơn những luồng cú băng thụng thấp. Tuy nhiờn SFB cũng gặp phải một vấn đề đú là khi số lượng luồng UDP lớn thỡ cú thể xảy ra khả năng phõn lớp lỗi đối với luồng TCP [6, 28]. Cũng như cỏc giải thuật cải tiến RED, cỏc giải thuật cải tiến dựa trờn BLUE từ khi W.Cheng đề xuất năm 1999 đến nay cú nhiều hướng tiếp cận cải tiến BLUE, chẳng hạn như SFB đó trỡnh bày ở trờn, hay năm 2005 Visvasuresh Victor Govindaswamy và cộng sự đó đề xuất ỏp dụng phương phỏp sửa đổi cửa sổ nhận RWM (Receiver-Window Modification) cho một số thuật toỏn AQM. RWM cú thể được sử dụng cựng với RED, ARED và Blue hàng đợi, để cung cấp trỏnh tắc nghẽn trong mạng chuyển mạch gúi, đặc biệt là ở lối vào và cổng router. [83]. Năm 2012, Mofleh Al-diabat và cộng sự đó đề xuất hai mụ hỡnh hàng đợi thời gian rời rạc. dựa trờn thuật toỏn BLUE để điều khiển tắc nghẽn trong mạng internet và mạng điện thoại di động [55].

69

Tuy nhiờn trong cỏc cải tiến hiện nay của BLUE chưa cú tỏc giả nào đề cập đến giải phỏp tớch hợp trực tiếp cơ chế phõn loại gúi tin dựa trờn đặc tớnh luồng video và sử dụng cỏc hàm tuyến tớnh để tớnh toỏn xỏc suất đỏnh dấu hay loại bỏ gúi tin khi xảy ra tắc nghẽn trong mạng. Từ đú cú thể cải thiện chất lượng truyền phỏt video trong mạng. Trong phần tiếp theo tỏc giả tập trung vào nghiờn cứu cải tiến giải thuật BLUE theo hướng ưu tiờn cho cỏc luồng video đặc biệt trong cỏc ứng dụng đũi hỏi thời gian thực.

Một phần của tài liệu luận án 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 80 - 84)

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

(146 trang)