From: Jendaipou Palmei <jendaipoupalmei@gmail.com>
To: chromatix99@gmail.com
Cc: Dave Taht <dave.taht@gmail.com>,
dave@taht.net, cake@lists.bufferbloat.net
Subject: Re: [Cake] COBALT implementation in ns-3 with results under different traffic scenarios
Date: Tue, 27 Nov 2018 19:40:16 +0530 [thread overview]
Message-ID: <CAFLFmiXkV+Cb9M2aRP6FJtWUM0A-kHk_jDXLVwx_sfmiD3mOQQ@mail.gmail.com> (raw)
In-Reply-To: <CAFLFmiXga-sjk0T7f5yLofZRCzmYVOWDm4zRXggc_W-SzsDKRQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3989 bytes --]
Hello Jonathan,
We have made the changes in the code as suggested.
Here is the diff after making the changes:
https://github.com/Daipu/COBALT/commit/033db330287e2072bad94ac441f8aed774678a7d
Additionally, we have also updated the values of 'Pincrement' and
'Pdecrement' (parameters of BLUE) in ns-3 to match the ones used in the
Cake implementation in Linux.
Does the diff look correct?
Thanks and Regards,
Jendaipou Palmei
Shefali Gupta
On Sun, Nov 25, 2018 at 11:52 AM Jendaipou Palmei <jendaipoupalmei@gmail.com>
wrote:
> Thanks a lot for taking out time to review our code, Jonathan.
>
> We'll make the changes according to your suggestions and produce new plots.
>
> Thanks, Dave for the feedback. Yes, we will run the simulations with
> fq-codel once we fix the code as suggested by Jonathan, and also run
> simulations with higher bandwidths as you suggested.
>
> I'll upload the source code of the programs in the same repo, and give you
> the link.
>
> Regards,
> Jendaipou Palmei
> Shefali Gupta
>
> On Sat, Nov 24, 2018 at 8:29 AM Jonathan Morton <chromatix99@gmail.com>
> wrote:
>
>> >> This is possibly a correct result in your simulation!! - the periodic
>> >> throughput drop you are showing in cobalt at this bandwidth and rtt.
>> >> I'm happy to see cobalt kick in early on slow start but not happy to
>> >> see the periodic drop. Jon, do you have time for a code review?
>> >
>> > I looked at it briefly, but the code structure is different enough that
>> I need to sit down and study it carefully to figure out whether there are
>> any relevant differences.
>> >
>> > The throughput drops most likely occur because the TCPs become
>> synchronised and remain so under AQM action. You can see that the
>> frequency of the system is lower in the later part of the COBALT run than
>> in the Codel run, but the same as Codel in the earlier part where
>> throughput drops don't occur. But this shouldn't really occur with a
>> Codel-based AQM (as COBALT is), because a single mark is sufficient to tell
>> TCP to back off over one RTT. An explanation might be if this
>> implementation of COBALT isn't running down correctly when deactivated, so
>> the mark frequency only rises while being turned on and off. The run-down
>> behaviour is a major intentional difference between COBALT and reference
>> Codel.
>> >
>> > I'll look at the code more closely with that in mind.
>>
>> Okay, I've had a look - not quite line by line, but the parts I consider
>> important for the behaviour seen so far.
>>
>> There are a couple of small behavioural differences between your code and
>> mine, which should be corrected if the model is to accurately reflect the
>> prototype. These are probably not relevant for the results shown so far,
>> but are likely show up on more aggressive tests involving unresponsive
>> traffic.
>>
>> - On queue overflow, a tail drop is used to resolve it. While not
>> technically part of COBALT, Cake performs head-dropping on queue overflow,
>> doing so from the longest queue, and I consider that to be best practice.
>> This gets the message to the offending sender ASAP, without having to
>> bubble up through the jammed queue first. If the packets currently at the
>> head of the queue are smaller than the one being offered, you might need to
>> drop more than one to maintain the size invariant.
>>
>> - The hard-drop flag for BLUE is set at the top of the control-law
>> function, and tested in order to bypass the Codel logic if already set.
>> This is not how the COBALT code operates; the BLUE logic should come last,
>> and the Codel logic run unconditionally.
>>
>> Everything else looks reasonably correct at first glance (though the
>> amount of boilerplate is epic). I would recommend verifying that
>> CobaltQueueEmpty() actually gets called when appropriate though. Without
>> it, I suspect that the run-down logic won't work as intended.
>>
>> - Jonathan Morton
>>
>>
>
> --
> Yours Faithfully,
> Jendaipou Palmei
>
[-- Attachment #2: Type: text/html, Size: 5128 bytes --]
next prev parent reply other threads:[~2018-11-27 14:10 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-22 13:57 Jendaipou Palmei
2018-11-22 15:32 ` Dave Taht
2018-11-23 10:52 ` Jendaipou Palmei
2018-11-23 16:05 ` Dave Taht
2018-11-23 16:43 ` Dave Taht
2018-11-23 17:13 ` Jonathan Morton
2018-11-24 2:59 ` Jonathan Morton
2018-11-25 6:22 ` Jendaipou Palmei
2018-11-27 14:10 ` Jendaipou Palmei [this message]
2018-11-27 14:36 ` Jonathan Morton
2018-11-30 11:53 ` Jendaipou Palmei
2018-11-30 11:58 ` Jonathan Morton
2018-12-04 10:31 ` Jendaipou Palmei
2018-12-04 14:39 ` Dave Taht
2018-12-04 15:02 ` Jonathan Morton
2018-12-04 15:20 ` Dave Taht
2018-12-05 12:23 ` Jendaipou Palmei
2018-12-05 14:23 ` Jonathan Morton
2018-12-06 17:36 ` Jonathan Morton
2018-12-09 8:37 ` Jendaipou Palmei
2018-12-09 13:21 ` Jonathan Morton
2018-12-10 12:30 ` Jendaipou Palmei
2018-12-10 15:15 ` Jonathan Morton
2018-12-15 19:06 ` Shefali Gupta
2018-12-15 20:10 ` Dave Taht
2018-12-21 10:37 ` Shefali Gupta
2018-12-21 12:48 ` Jonathan Morton
2019-01-21 11:35 ` Shefali Gupta
2019-01-21 12:57 ` Jonathan Morton
2019-01-23 16:19 ` Shefali Gupta
2019-01-23 16:23 ` Jonathan Morton
2019-01-23 17:27 ` Shefali Gupta
2019-01-25 8:35 ` Shefali Gupta
2019-01-25 9:16 ` Jonathan Morton
2019-01-25 14:48 ` Shefali Gupta
2019-01-25 15:07 ` Jonathan Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAFLFmiXkV+Cb9M2aRP6FJtWUM0A-kHk_jDXLVwx_sfmiD3mOQQ@mail.gmail.com \
--to=jendaipoupalmei@gmail.com \
--cc=cake@lists.bufferbloat.net \
--cc=chromatix99@gmail.com \
--cc=dave.taht@gmail.com \
--cc=dave@taht.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox