[Bloat] datapoint from one vendor regarding bloat
Jonathan Morton
chromatix99 at gmail.com
Thu Apr 11 14:28:51 EDT 2019
> On 11 Apr, 2019, at 9:00 pm, Holland, Jake <jholland at akamai.com> wrote:
>
> MBS = maximum burst size
> PIR = peak information rate
> CBS = committed burst size
> CIR = committed information rate
Ah, this is enough to map the terms onto my prior knowledge of TBFs. (In my considered opinion, TBFs are obsolete technology for shaping - but there is a lot of deployed hardware still using them.)
So what this boils down to is a two-stage TBF policer. From idle, such a system will let a burst of traffic through unfiltered, then start dropping once the bucket is empty; the bucket is refilled at some configured rate. The two-stage system allows implementation of "PowerBoost" style policies.
The practical effect is that if there's a 10ms burst permitted, there may be 10ms of traffic collecting in some downstream dumb FIFO. This depends on fine details of the network topology, but this is the main reason I implemented a deficit-mode "virtual clock" shaper in Cake, which has no initial burst. With that said, 10ms isn't too bad in itself.
A question I would ask, though, is whether that 10ms automatically scales to the actual link rate, or whether it is pre-calculated for the fastest rate and then actually turns into a larger time value when the link rate drops. That's a common fault with sizing FIFOs, too.
> Pages 1185 thru 1222 of the referenced doc* are actually really interesting reading
> and an excellent walk-through of their token bucket concept and how to use it.
Nearly 40 pages? I have work to do, y'know!
I did just glance through it, and it looks like exactly the sort of arcane system which ISPs would *want* to leave well alone in its default configuration, or make only the simplest and easiest-to-understand changes to. There's obviously a lot of support for Diffserv designed into it, but nobody really knows how to configure a given Diffserv implementation to work well in the general case, simply because Diffserv itself is under-specified.
- Jonathan Morton
More information about the Bloat
mailing list