Search This Blog

Showing posts with label Nonlinear RED. Show all posts
Showing posts with label Nonlinear RED. Show all posts

Nonlinear RED (NLRED) patch for NS-2

2

Labels: , ,

Random Early Detection (RED) proposed by S. Floyd and V. Jacobson in 1993 is one of the widely deployed Active Queue Management (AQM) mechanisms. However, due to its parameter sensitivity, lot of variants of RED have been proposed. Nonlinear RED (NLRED) is one such variant of RED. 

Reference: "Nonlinear RED: A simple yet efficient active queue management scheme", Kaiyu Zhou, Kwan L. Yeung, Victor O. K. Li, Elsevier Journal of Computer Networks, 50, pp. 3784-3794 (2006). 

The packet drop probability in RED is a linear function of the "average queue size". NLRED modifies the packet drop probability to be a quadratic function (and hence nonlinear function) of the "average queue size" so as to minimize the overall packet drop rate in the network. NLRED is not implemented in the allinone package of NS-2. The following patch provides the implementation of NLRED in NS-2.

Download NLRED patch for NS-2 

Following are the steps to be followed to apply above given patch to ns-2.34:

1. Download ns-allinone-2.34.tar.gz 

2. Download NLRED.patch

3. Unzip ns-allinone-2.34.tar.gz. You will get a folder named ns-allinone-2.34.

4. Paste the downloaded patch in this folder.

5. Give the following command: 

    patch -p1 < NLRED.patch

6. Then give ./install

If you have already installed copy of ns-allinone-2.34 then follow the below given steps to apply NLRED patch

1. Paste the downloaded patch in ns-allinone-2.34 folder.

2. Give the following command: 

    patch -p1 < NLRED.patch

3. Go in ns-allinone-2.34/ns-2.34 directory and give the following commands: 

    ./configure
    make clean
    make
    make install

You are done with it!

TCL Commands:

Please read this post before getting started with NLRED simulation in NS-2 "Random Early Detection (RED) in NS-2 - TCL - Part 1"

To simulate NLRED, you just need to include the following command in TCL Script:

Queue/RED set nonlinear_ 1 

Rest all commands remain same as explained in "Random Early Detection (RED) in NS-2 - TCL - Part 1".

Hope it helps.

Regards,
Mohit P. Tahiliani

Related Blogs:
1. Random Early Detection (RED) in NS-2 - TCL - Part 1
2. Refined Adaptive RED (Re-ARED or RARED) patch for NS-2