Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1090)

Issue 279950043: adaptive RED implementation (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
8 years, 5 months ago by Mohit P. Tahiliani
Modified:
8 years, 1 month ago
CC:
ns-3-reviews_googlegroups.com
Visibility:
Public.

Description

This patch provides an implementation of Adaptive RED (ARED) in ns-3.24. ARED algorithm is described in Sally Floyd's paper here: http://www.icir.org/floyd/papers/adaptiveRed.pdf This implementation is a port of ns-2's adaptive RED code. Main features of Adaptive RED Paper are: 1. Automatic Setting of QW (already implemented in ns-3; tests were not available, so have been added in this patch) 2. Automatic Setting of minTh and maxTh (implemented in this patch) 3. Adapting "maximum drop probability" (implemented in this patch) A separate test suite has been provided (src/network/test/adaptive-red-queue-suite.cc) that contains test cases for all the features of ARED. Two examples for ARED have been included in the patch. Any suggestions/reviews would be much appreciated. Thanks, Mohit P. Tahiliani

Patch Set 1 : Adaptive RED implementation #

Total comments: 38

Patch Set 2 : Modified Adaptive RED code #

Total comments: 16

Patch Set 3 : Modified Adaptive RED code with updated Docs #

Patch Set 4 : adaptive RED implementation #

Patch Set 5 : adaptive RED patch for ns-3.24 with modified tests #

Total comments: 2

Patch Set 6 : Modified ARED patch with more tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1562 lines, -9 lines) Patch
M src/network/doc/queue.rst View 1 2 3 4 5 6 chunks +36 lines, -6 lines 0 comments Download
A src/network/examples/adaptive-red-tests.cc View 1 2 3 4 5 1 chunk +659 lines, -0 lines 0 comments Download
A src/network/examples/red_vs_ared.cc View 1 2 3 4 1 chunk +193 lines, -0 lines 0 comments Download
M src/network/examples/wscript View 1 chunk +6 lines, -0 lines 0 comments Download
A src/network/test/adaptive-red-queue-test-suite.cc View 1 2 3 4 5 1 chunk +464 lines, -0 lines 0 comments Download
M src/network/test/examples-to-run.py View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
M src/network/utils/red-queue.h View 1 2 3 4 chunks +43 lines, -0 lines 0 comments Download
M src/network/utils/red-queue.cc View 1 2 3 4 5 6 chunks +147 lines, -3 lines 0 comments Download
M src/network/wscript View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 22
n.p
Some comments on the code inlined. General view on the ns-3-dev mailing list. https://codereview.appspot.com/279950043/diff/1/src/network/utils/red-queue.cc File ...
8 years, 4 months ago (2015-12-02 09:05:07 UTC) #1
Tom Henderson
Two main issues I found before we can merge this: 1) the documentation file src/network/doc/queue.rst ...
8 years, 4 months ago (2015-12-02 19:54:45 UTC) #2
Mohit P. Tahiliani
Dear Nat and Tom Sir, Thank you very much for your time and suggestions. I ...
8 years, 4 months ago (2015-12-04 03:12:57 UTC) #3
Tommaso Pecorella
Hi, as a general comment, I'd suggest to work on the documentation too. Delaying 'til ...
8 years, 4 months ago (2015-12-06 14:09:04 UTC) #4
n.p
Minor comments; I am now testing ARed in already existing test-scenarios, and will report problems ...
8 years, 4 months ago (2015-12-09 08:55:54 UTC) #5
Mohit P. Tahiliani
Dear Tommaso, Sure, I will update the document now itself and ensure that it is ...
8 years, 4 months ago (2015-12-09 10:11:30 UTC) #6
n.p
On 2015/12/09 10:11:30, Mohit P. Tahiliani wrote: > Dear Tommaso, > > Sure, I will ...
8 years, 4 months ago (2015-12-18 15:47:04 UTC) #7
Mohit P. Tahiliani
On 2015/12/18 15:47:04, n.p wrote: > On 2015/12/09 10:11:30, Mohit P. Tahiliani wrote: > > ...
8 years, 4 months ago (2015-12-19 17:24:39 UTC) #8
n.p
On 2015/12/19 17:24:39, Mohit P. Tahiliani wrote: > 1. Updated the document > 2. Removed ...
8 years, 4 months ago (2015-12-20 13:50:20 UTC) #9
Mohit P. Tahiliani
On 2015/12/20 13:50:20, n.p wrote: > On 2015/12/19 17:24:39, Mohit P. Tahiliani wrote: > > ...
8 years, 4 months ago (2015-12-24 14:59:53 UTC) #10
Tommaso Pecorella
Hi Mohit, sorry for the late round of review. This is the last thing from ...
8 years, 4 months ago (2015-12-26 11:19:45 UTC) #11
Mohit P. Tahiliani
On 2015/12/26 11:19:45, Tommaso Pecorella wrote: > Hi Mohit, > > sorry for the late ...
8 years, 4 months ago (2015-12-30 03:19:45 UTC) #12
n.p
On 2015/12/30 03:19:45, Mohit P. Tahiliani wrote: > On 2015/12/26 11:19:45, Tommaso Pecorella wrote: > ...
8 years, 3 months ago (2016-01-12 08:48:42 UTC) #13
Mohit P. Tahiliani
Dear Nat, Apologies for the late response. Thank you very much for informing. I have ...
8 years, 3 months ago (2016-01-21 16:01:19 UTC) #14
Tommaso Pecorella
On 2016/01/21 16:01:19, Mohit P. Tahiliani wrote: > Dear Nat, > > Apologies for the ...
8 years, 3 months ago (2016-01-21 16:07:07 UTC) #15
Mohit P. Tahiliani
On 2016/01/21 16:07:07, Tommaso Pecorella wrote: > On 2016/01/21 16:01:19, Mohit P. Tahiliani wrote: > ...
8 years, 3 months ago (2016-01-22 18:12:21 UTC) #16
Tommaso Pecorella
On 2016/01/22 18:12:21, Mohit P. Tahiliani wrote: > On 2016/01/21 16:07:07, Tommaso Pecorella wrote: > ...
8 years, 3 months ago (2016-01-24 23:58:18 UTC) #17
Mohit P. Tahiliani
On 2016/01/24 23:58:18, Tommaso Pecorella wrote: > On 2016/01/22 18:12:21, Mohit P. Tahiliani wrote: > ...
8 years, 3 months ago (2016-01-26 07:18:25 UTC) #18
Mohit P. Tahiliani
Hi, Following updates have been made in Patch 5: 1. Modified adaptive-red-tests.cc to check for ...
8 years, 2 months ago (2016-02-08 10:51:30 UTC) #19
Tommaso Pecorella
One last thing from my side. Other than that, I can't spot anything more. I ...
8 years, 2 months ago (2016-02-08 16:36:23 UTC) #20
Mohit P. Tahiliani
Dear Tommaso, Thank you very much for your time and feedback! I've corrected the typo ...
8 years, 2 months ago (2016-02-09 09:34:32 UTC) #21
Mohit P. Tahiliani
8 years, 2 months ago (2016-02-10 18:09:53 UTC) #22
Hi,

I have uploaded patch 6, with the following major modifications:

1. There was a bug that I found while testing the patch (with BYTES mode of
ARED). It has been resolved.
2. Another bug was with automatic settings of minTh and maxTh. It has been
resolved too.
3. A separate test suite (adaptive-red-queue-suite.cc) is implemented for ARED,
and decoupled from that of RED.
4. ARED's test suite contains two test cases: (i) for automatic parameters of
ARED and (ii) for adaptive parameter of ARED. Earlier patches did not contain
tests for (ii)
5. Added little more detail to doc.
6. Some typos have been corrected.

Thank you very much for your time and suggestions.

Any further suggestions / corrections would be much appreciated.

Regards,
Mohit P. Tahiliani

https://codereview.appspot.com/279950043/diff/1/src/network/test/red-queue-te...
File src/network/test/red-queue-test-suite.cc (right):

https://codereview.appspot.com/279950043/diff/1/src/network/test/red-queue-te...
src/network/test/red-queue-test-suite.cc:414: NS_TEST_EXPECT_MSG_LT
(drop.test15, drop.test14, "Test 15 should have less drops than test 14");
On 2015/12/02 19:54:45, Tom Henderson wrote:
> I do not understand why the attribute "Adaptive" is not set to true if these
are
> adaptive RED tests?  Is this a mistake (setting "Mode" instead of "Adaptive")?
> 
> If this is a mistake, this means that these tests were not testing adaptive
RED,
> just RED.  Maybe the tests need to be rethought if so (if they pass regardless
> of whether Adaptive is true or false, they are not good tests).
> 
> Rather than simply checking whether the aggregate number of drops are less
than
> one test or another, could you test explicitly for exact values, that you have
> validated by hand?  For example, what is the exact value expected for
> unforcedrop, forcedDrop, and qLimDrop in all cases, and can you test for "EQ"
> instead of "LT"?

Dear Sir,

I've added a separate test case with "Adaptive" set to true in the new test
suite implemented in patch 6.

Further, all tests now use EQ instead of LT or GT.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b