Mô phỏng giải thuật RED với các cách thiết đặt tham số điều khiển minth và

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 110 - 132)

4.3.2.1 Mục đích:

Ở bài mô phỏng trên, ta đã thấy được hiệu quả của giải thuật quản lý tắc nghẽn RED. Một hiệu quả rất thuyết phục. Nhưng không phải lúc nào RED cũng làm việc tốt như thế. Bằng các tính toán lý thuyết [8] [9] [10] người ta đã chứng minh được rằng RED chỉ hoạt động thật tốt khi nó được thiết lập các tham số đầu vào một cách hợp lý.

Ở phần này, ta sẽ đi tìm hiểu hiệu suất của giải thuật RED với các cách thiết đặt các tham số đầu vào khác nhau. Bằng cách: Giữ nguyên 2 tham số điều khiển maxp = 0.02 và wq = 0.02. Ban đầu chạy chương trình mô phỏng ví dụ ở bài 1. Sau đó giữ nguyên giá trị maxth =12, thay đổi lần lượt minth = 2 và minth = 10. Kế tiếp, giữ nguyên minth = 5 như ở bài 1, thay đổi maxth lần lượt với maxth = 7 và maxth = 30. Qua đó có thể so sánh và rút ra nhận xét về sự phụ thuộc vào việc thiết lập các tham số điều khiển minth và maxth của

RED và trường hợp tối ưu nhất. 4.3.2.2 Mô hình:

Ở phần này ta vẫn sử dụng topology mạng như ở hình 29, chỉ khảo sát hiệu suất của RED thông qua việc cài đặt lại các tham số đầu vào như maxth , minth, wq.

Liên kết giữa 2 router r1 và r2 với các host và giữa 2 router này với nhau vẫn giữ nguyên. Các nguồn phát và thu dữ liệu vẫn giữ nguyên như ở bài mô phỏng [4.3.1].

Giải thuật RED được sử dụng với kích thước hàng đợi tối đa queue-limit là 20 packet.

4.2.2.3 Giải thuật RED với tham số minth = 2, maxth =12: Thực hiện :

Thực hiện thiết lập các giá trị tham số điều khiển của giải thuật RED như sau: minth = 2

maxth = 12 wq = 0.002

Lịch trình thực hiện mô phỏng quy định trong script mô phỏng:

Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.

Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.

Thời điểm 30.0s : Cả 2 luồng ngưng truyền. Kết quả:

Sau khi hoàn tất quá trình mô phỏng, ta nhận được đồ thị Xgraph biểu diễn giá trị chiều dài hàng đợi hiện thời và chiều dài hàng đợi trung bình như trên hình 33.

Hình 34 biểu diễn một phần của đồ thị hình 33, cho một cái nhìn rõ ràng hơn về những khoảng thời gian mà chiều dài hàng đợi trung bình lớn hơn giá trị minth.

Nhận xét sơ bộ:

+Chiều dài hàng đợi trung bình vượt quá giới hạn chặn dưới minth trong hầu hết thời gian thực hiện mô phỏng, nhưng nó lại có giá trị thấp .

Hình 33: Đồ thị của hàng đợi tức thời (queue) và hàng đợi trung bình (ave_queue) của RED theo thời gian với minth=2, maxth=12..

4.3.2.4 Giải thuật RED với tham số minth = 10 ; maxth =12: Thực hiện:

Thực hiện thiết lập các giá trị tham số điều khiển của giải thuật RED như sau: minth = 10

maxth = 12 wq = 0.002

Lịch trình thực hiện mô phỏng quy định trong script mô phỏng:

Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.

Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.

Thời điểm 30.0s : Cả 2 luồng ngưng truyền.

Kết quả:Sau khi kết thúc quá trình mô phỏng, ta thu được đồ thị biểu diễn hàng đợi tức thời và hàng đợi trung bình như trong hình 35.

Hình 35 : Đồ thị của hàng đợi tức thời (queue) và hàng đợi trung bình (ave_queue) của RED theo thời gian với min =10, max =12.

Nhận xét sơ bộ:

+Chiều dài hàng đợi trung bình ave_queue tuy giữ ở mức độ dưới giá trị minth rất nhiều. Nhưng giá trị của nó lại rất cao như ở hình 36.

+Chiều dài hàng đợi tức thời cũng ở mức cao (lớn nhất lên đến khoảng gần 14 ) và giao động mạnh, liên tục trong suốt quá trình mô phỏng.

4.3.2.5 Giải thuật RED với tham số minth = 5 và maxth = 7: Thực hiện :

Thực hiện thiết lập các giá trị tham số điều khiển của giải thuật RED như sau: minth = 5

maxth = 7 wq = 0.002

Lịch trình thực hiện mô phỏng quy định trong script mô phỏng:

Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.

Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.

Thời điểm 30.0s : Cả 2 luồng ngưng truyền.

Kết quả:Kết thúc quá trình mô phỏng, nhận được một đồ thị biểu diễn như trong hình 36.

Hình 36: Đồ thị biểu diễn hàng đợi tức thời(queue) và hàng đợi trung bình(ave_queue) của RED với minth=5 và maxth =7

Nhận xét sơ bộ:

+Chiều dài hàng đợi trung bình (ave_queue) rất thấp, dao động khoảng từ 3 đến 4, không vượt quá minth .

+Chiều dài hàng đợi tức thời cũng ở mức thấp ( trong hầu hết các thời điểm của quá trình mô phỏng, giá trị của nó nhỏ hơn 10).

4.3.2.6 Giải thuật RED với tham số minth = 5 và maxth = 30: Thực hiện :

Thực hiện thiết lập các giá trị tham số điều khiển của giải thuật RED như sau: minth = 5

maxth = 7 wq = 0.002

Thời điểm 0.0s : Luồng 1 ( luồng ftp1 từ nút s1 đến sink là nút s3 ) bắt đầu truyền.

Thời điểm 3.0s : Luồng 2 ( luồng ftp2 từ nút s2 đến sink là nút s3 ) bắt đầu truyền.

Thời điểm 30.0s : Cả 2 luồng ngưng truyền.

Kết quả:Kết thúc quá trình mô phỏng, nhận được một đồ thị biểu diễn như trong hình 37.

Nhận xét:

+ Giá trị hàng đợi trung bình (ave_queue) tăng vượt giá trị minth trong suốt quá trình mô phỏng và đạt giá trị rất cao ( giá trị cực đại lên đến 8 ).

+ Giá trị hàng đợi tức thời (queue) cũng dao động và đạt những giá trị rất cao.

Hình 37. Đồ thị biểu diễn hàng đợi tức thời (queue) và hàng đợi trung bình(ave_queue) của RED với minth = 5, maxth =30.

4.3.2.7 Nhận xét và đánh giá chung: a. Tóm lược lại thuật toán RED.

Ta tóm lược lại giải thuật RED đã trình bày cụ thể ở mục [3.2] để làm cơ sở lý thuyết cho quá trình nhận xét và đánh giá các kết quả mô phỏng đã thực hiện ở trên.

for each packet arrival

calculate the avegare queue size avg if minth avg < maxth

calculate probability Pa with probability Pa:

mark the arriving packet else if maxth avg

mark the arriving packet

Hình 9: Giải thuật RED truyền thống.

Kích thước hàng đợi trung bình được tính theo công thức: avgi = (1- Wq )*avgi + Wq*q.

Wq là

Giải thuật tính toán xác suất đánh dấu các gói tin Pa theo công thức: Pb = maxp*(avg - minth)/ (maxth - minth)

Và:

Pa = Pb/(1-count*Pb)

Giải thuật RED được điều khiển bởi các tham số điều khiển như maxth , minth, maxp, Wq.

Ở bài mô phỏng của mình, tôi giữ nguyên 2 tham số điều khiển là maxp = 0.02 và Wq = 0.02 mà chỉ thay đổi 2 tham số điều khiển maxth và minth như đã trình bày cụ thể ở mỗi bài mô phỏng trên.

Những đánh giá dưới đây dựa trên việc quan sát và phân tích các đồ thị biểu diễn hàng đợi tức thời và hàng đợi trung bình ở các bài mô phỏng được vẽ bằng Xgraph trong chương trình mô phỏng NS-2.

+ Trường hợp minth = 2 và maxth =12.

Phân tích kết quả, ta thấy, khi giảm minth xuống bằng 2, giá trị của hàng đợi tức thời và hàng đợi trung bình đều ở mức thấp và thấp hơn so với kết quả mô phỏng ở hình 30 của bài1( minth =5, maxth =12). Nhìn trên hình 38, ta thấy khi minth =2, giá trị hàng đợi trung bình gần như chỉ dao động trong khoảng giá trị bằng 4 đến 5. Giá trị hàng đợi trung bình vượt trên ngưỡng minth trong gần như toàn bộ quá trình mô phỏng.

+ Trường hợp minth = 10 và maxth = 12.

Khi minth tăng lên 10, ta thấy giá trị hàng đợi trung bình và hàng đợi tức thời tăng lên. Hàng đợi trung bình lúc này ở mức cao, nó dao động trong khoảng từ 5 đến 6 và có thời điểm đạt đến 6 nhưng trong toàn bộ quá trình mô phỏng, nó đều thấp hơn minth.

Hình 38: So sánh sự thay đổi của hàng đợi trung bình khi thay đổi minth trong giải thuật RED.

Kết luận:

Khi thay đổi minth lần lượt ở 3 giá trị 2, 5, 10; ta thấy khi minth tăng dần lên thì hàng đợi tức thời và hàng đợi trung bình cũng tăng dần lên.

Ở trường hợp minth= 2, đây là trường hợp đặt minth quá thấp. Khi đó, giá trị hàng đợi trung bình luôn nhỏ hơn minth. Điều này dẫn đến cơ chế hoạt động của RED quá "nhạy cảm" với các gói tin. Người ta gọi đây là trường hợp "phản ứng quá vội" của RED. minth có giá trị quá thấp, dẫn đến hàng đợi trung bình luôn cao hơn ngưỡng tối thiều, và các gói tin khi đến hàng đợi sẽ bị đánh dấu với một xác suất cao. Điều này làm giảm đáng kể lưu lượng mạng và không tận dụng hết khả năng của hàng đợi khi RED đã "phản ứng quá vội" với những gói tin khi mà độ lớn hàng đợi thực tế chưa cao và nó hoàn toàn còn khả năng tiếp tục nhận và xếp hàng các gói tin khác tới hàng đợi.

Khi tăng minth lên 10 thì hàng đợi trung bình và hàng đợi thực tế đều tăng lên. Ở trường hợp này RED cho phép các gói tin tiếp tục đến và xếp hàng vào hàng đợi vì dù hàng đợi trung bình ở mức cao nhưng nó vẫn thấp hơn ngưỡng tối thiểu minth. Điều này dẫn đến sự gia tăng của hàng đợi tức thời. Sự tăng minth quá cao này dẫn đến một sự bất ổn trong hàng đợi khi các gói tin đến hàng đợi vẫn được xếp hàng vào và đợi được chuyển qua router. Việc ta "tham lam" tăng minth lên quá cao để giảm số lượng gói tin bị đánh dấu và loại bỏ đã đem lại hậu quả là hàng đợi không được kiểm soát chặt chẽ . Vì lưu lượng trên mạng đi theo từng đợt, gây ra những dao động quá nhanh của hàng đợi trong bộ định tuyến. Nếu có một đợt lưu lượng dữ liệu đến hàng đợi nhanh và nhiều thì hàng đợi sẽ không phản ứng kịp khi mà nó đã dài và chiều dài hàng đợi trung bình không phản ứng được mức độ gia tăng cao của chiều dài hàng đợi tức thời.Hiện tượng tràn bộ đệm và tắc nghẽn sẽ xảy ra. c. Kết quả thu được khi tăng maxth và kết luận:

+ Trường hợp minth =5 và maxth = 7 :

Ở trường hợp khi giảm giá trị maxth = 7, ta thấy chiều dài hàng đợi trung bình của ở mức rất thấp ( chưa đến 4 ) còn giá trị chiều dài hàng đợi tức thời ở mức khá cao và ở nhiều thời điểm, nó vượt quá maxth. Chiều dài hàng đợi trung bình ở mức thấp, nó nhỏ hơn minth trong suốt quá trình mô phỏng, điều này có nghĩa là RED cho phép các gói tin đến gói tin tiếp tục vào xếp hàng ở hàng đợi mặc dù hàng đợi tức thời giao động cao hơn hẳn giá trị maxth. Như đã nói ở trên, lưu lượng trong mạng dao động theo từng đợt . Nếu có một đợt mạnh của lưu lượng xuất hiện, các gói tin liên tiếp được chuyển đến hàng đợi, lúc này, chiều dài hàng đợi tức thời và trung bình sẽ tăng lên. Với giá trị maxth quá thấp như ở bài mô phỏng này khi lưu lượng tăng đột ngột, hàng đợi trung bình và hàng đợi hiện thời

sẽ tăng lên và có thể vượt quá giá trị maxth. Lúc đó, RED sẽ hủy bỏ hoàn toàn các gói tin đến hàng đợi, gây ra hiệu ứng tương tự cơ chế DropTail.

Hình 39: So sánh sự thay đổi của hàng đợi trung bình khi thay đổi maxth trong giải thuật RED.

+ Ở trường hợp minth = 5, maxth = 30 ( maxth vượt quá giới hạn hàng đợi queue- limit ):

Ở trường hợp này, độ dài hàng đợi trung bình ở mức rất cao ( dao động trong

khoảng từ 6-8 ). Hàng đợi tức thời biến đổi không ổn định và có giá trị rất cao như biểu diễn ở hình37. Hàng đợi trung bình và hàng đợi tức thời cao cho thấy có rất nhiều gói tin được chuyển tới hàng đợi. Giá trị hàng đợi trung bình cao , xác suất đánh dấu và loại bỏ

gói tin cao . Những gói tin đến hàng đợi sau sẽ bị đánh dấu với một xác suất cao hơn ( vì chúng đến hàng đợi khi hàng đợi đã có nhiều gói tin trước đó ). Tuy nhiên, bộ định tuyến không cần thiết phải hủy bỏ những gói tin này một cách không cần thiết, vì thế sẽ làm ảnh hưởng xấu đến hiệu xuất của hệ thống và gây lên sự thiên lệch trong việc đánh dấu các gói tin. d. Kết luận chung:

Qua những thí nghiệm trên, ta thấy rằng một điều quan trọng để RED hoạt động tốt chính là việc lựa chọn các tham số điều khiển, mà ở đây ta đang xét đến 2 tham số minth và maxth.

Giá trị minth phải đủ lớn để đảm bảo rằng liên kết để gửi dữ liệu đi được sử dụng với hiệu suất cao. Tuy nhiên, minth cũng không được đặt quá cao để tránh dẫn đến sự bất ổn trong hàng đợi. Đồng thời, khi minth cao, các gói tin đều được chấp nhận cho vào hàng đợi sẽ dẫn đến việc không phản ánh được sự gia tăng trong hàng đợi tức thời, làm cho bộ định tuyến phản ứng chậm chạp với những dấu hiệu của sự tắc nghẽn.

Giá trị maxth cũng phải đặt ở mức độ phù hợp. Vì RED hoạt động giống cơ chế hủy bỏ gói cuối hàng đợi (DropTail) khi kích thước hàng đợi vượt quá maxth nên maxth đủ lớn nếu không RED cũng sẽ gây những ảnh hưởng tương tự cơ chế DropTail. Nhưng maxth cũng không được đặt quá cao, để tránh sự gia tăng mạnh mẽ của kích thước hàng đợi tức thời và kích thước hàng đợi trung , tránh hiện tượng các gói tin đến hàng đợi sau sẽ bị đánh dấu với một xác suất loại bỏ cao hơn một cách không cần thiết, gây ảnh hưởng xấu cho hiệu xuất của hệ thống.

Tóm lại, việc thiết đặt các tham số điều khiển cho RED là một khía cạnh phức tạp của RED khi vận hành ở những điều kiện mạng khác nhau. Đây là vấn đề còn được tranh cãi và thảo luận rất nhiều trên thế giới. Và người ta đưa ra một khuyến cao chung để cơ

bản giúp chúng ta cấu hình RED hợp lý ở các điều kiện mạng khác nhau là đặt maxth = 2minth hoặc maxth = 3minth ( như khuyến cáo của Floyd khi đưa ra giải thuật "gentle RED"). [10]

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 110 - 132)