Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Jonathan Morton <chromatix99@gmail.com>
To: vignesh kannan <vignesh2496@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] Doubt regarding the Linux implementation of Cake
Date: Wed, 29 Mar 2017 20:42:43 +0300	[thread overview]
Message-ID: <B8603663-BE14-4219-BF45-3F7F2F2806A0@gmail.com> (raw)
In-Reply-To: <CAAYLTGVWot_sY5f5=nt6eoOpffdoEOn6OLhcZvCqTiJyyeiE0g@mail.gmail.com>


> On 29 Mar, 2017, at 20:34, vignesh kannan <vignesh2496@gmail.com> wrote:
> 
> I have also been following the discussions happening about Cobalt on the Bufferbloat mailing list. So I am having problems relating the two sources just mentioned above (the implementation and the discussion). According to my understanding of the Codel algorithm, the count variable (which keeps track of the number of packets dropped in the currently running dropping state) is never really decremented iteratively.
> 
> However the Cobalt implementation reduces count iteratively (in line 234 of the file cobalt.c) under certain circumstances and this is happening in the function named cobalt_should_drop( ) which is called to determine if Cobalt should drop the packet or dequeue it. It would be great if someone could throw light on what is exactly happening in this function and also a comprehensive explanation of Cobalt itself would be appreciated. 

An open question in Codel is exactly how best to choose the initial value of “count” when re-entering the dropping state after a relatively short period of not dropping.

I was unsatisfied with the usual approaches, which in the reference Codel implementation involve a rather opaque calculation, and in some variants involve a halving of the previous count value, both with a hard time cutoff before a full reset to 1.

What I do in Cobalt is, while in non-dropping state, to decrement count on the same schedule as it would increment in dropping state.  This completely eliminates the need for a hard time cutoff and seems like a natural solution to the problem.

I’m currently writing a series of articles for the Bufferbloat website on the algorithms Cake uses, including their performance relative to existing alternatives.

 - Jonathan Morton


      reply	other threads:[~2017-03-29 17:42 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-29 17:34 vignesh kannan
2017-03-29 17:42 ` Jonathan Morton [this message]

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=B8603663-BE14-4219-BF45-3F7F2F2806A0@gmail.com \
    --to=chromatix99@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=vignesh2496@gmail.com \
    /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