[Codel] interval target relation ship question
moeller0 at gmx.de
Thu Mar 13 05:28:02 EDT 2014
On Mar 13, 2014, at 10:04 , Andrew McGregor <andrewmcgr at gmail.com> wrote:
> My intuition suggests something like:
> Target = 4ms + MTU sized packet duration
> Interval = target * 20
The current version just does MTU plus overhead packet duration (basically taking 1544 as maximal DSL packet size, it is not that this needs to be precise to the last bit) and does interval = interval + target - 5ms, so basically it increases target and interval by the same amount (note we take the maximum of the calculated argot and 5ms), Where does your 4ms come from?
I wonder whether the important step is increasing the target or wether it is to change the ratio of interval and target (the current method basically does both).
Thanks for your input
> (But only if the resulting interval is more than 100ms)
> Possibly the packet duration may need a small factor (2 or 3) to get the balance right.
> On 13 Mar 2014 19:41, "Sebastian Moeller" <moeller0 at gmx.de> wrote:
> Dear Experts,
> Codel and especially fq_codel have massively improved snappiness/interactivity of typical residential internet connections, as shown in the cerowrt testbed and also in the french ISP free's roll-out of coddled xddl modems. One observation has been that at low bandwidth the latency/bandwidth trade-off does not seem to be ideal and an empirical solution to this problem has been to increase the target as a function of the available bandwidth. I realize that codel tries to accommodate for low-bandwidth links by always allowing at least one packet in the queue. But empirically that does not seem to be enough for good behavior on slow links (I think the issue is that the bandwidth sacrifice seems a bit to large)…
> Currently we try to model what we know about free's approach in cerowrt, basically we increase target as a function of bandwidth and also increase interval be the same amount as target. Now having read section "3.2 Setpoint" of https://datatracker.ietf.org/doc/draft-nichols-tsvwg-codel/?include_text=1 makes a strong point that target should be in the range of 5-10% of interval. So would it make more sense to increase interval so that after adjustments new_target = 0.05*new_interval still stays true? Or would you recommend to do something along the lines of:
> new_interval = 100ms + known DSL link latency (can be in the range of dozens of ms)
> new_target = new_interval * 0.05 or new_interval * 0.1
> I guess I will try to actually test the different approaches in the near future, but would be delighted to get help establishing a decent hypothesis before hand which modification actually will work best.
> Bet Regards
> Codel mailing list
> Codel at lists.bufferbloat.net
More information about the Codel