[LARTC] HTB: quantum vs. burst

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 17 January 2003 13:25, Pavel Mores wrote:
> On Thu, Jan 16, 2003 at 09:28:17PM +0100, Stef Coene wrote:
> > If you want to undestand what's going on, you also have to graph the
> > tokens and ctokens.
>
> Oh, I see.  The negative values of tokens and ctokens that can be seen
> frequently are because of the hysteresis setting.
As far as I understand is hysteries something that htb uses to speed up it's 
calculations.  Negative tokens and ctokens is something that's part of how 
htb works.  If a class has negative tokens, it can't burst anymore.  And it 
can "give" it's tokens to child classes.

> Also, I have some trouble understanding the tokens/ctokens example on
> www.docum.org.  First, I would suggest that you add an additional bullet
> specifying initial conditions more explicitly.  
Euh, I didn't know I already had a page online?

> I suppose that the burst
> bucket is filled up when the 200bps transmission starts, am I right?
You have 2 buckets.  One for the burst that contains tokens and one for the 
cburst that contatins ctokens.  These buckets are size according to the 
burst/cburst.  And they are filled when the class is created.  At the same 
time, new tokens are arriving at speed equal to rate/ceil.

> Second, it would be useful to state what ceil the example class has since
> bursting is limited by ceil as we agreed before.  Without knowing the
> class' ceil it's hard to say at what speed the first <burst> bytes will
> be released to the network - which is what the other calculations depend
> on.
>
> > I use the ethloop from Devik.  It's a very nice think ones you
> > understand how it works.  I can send you my scripts and config files if
> > you are intersed (and I think you are :)
>
> You bet I am, thanks a lot. :)

I have it online (http://www.docum.org/stef.coene/qos/htb.tar.bz2).  I run it 
like this :
./sethtb_burst ; ./ethloop < prog_burst > prog_burst.out ; ./plot_burst.sh 
prog_burst

> > Indeed.  I think I need some sleep :)  Indeed, the ceil is respected if
> > you use the burst parameter.  It's the parent ceil that's broken.
>
> That brings up a question: what happens if the parent, say 1:20, has its
> own parent, say 1:10, and the 1:10 has already been overlimit.  In other
> words, class 1:10, already transmitting at its ceil speed, has a child
> 1:20 that breaks its ceil because one or more its own children are
> bursting.  Unevitably, 1:10 is forced above its ceil too, right?  If
> that is the case, the state of being "overceil" will spread all the way
> up the class hierarchy to the root class?
yes and the ctoken will go negative.  Later on, when the child is asking less 
bandwidth, the ctokens will go up again.  During that time, the child classes 
can't borrow remaining bandwidth from the parent.

> > I had a hard time finding the directory where I stored my files :)
> > But I found it.  Now I have to figure out what I wanted to document :)
>
> Oh, don't feel pressed, take your time, it's been a long time coming
> anyway. ;-)

Stef

-- 

stef.coene@docum.org
 "Using Linux as bandwidth manager"
     http://www.docum.org/
     #lartc @ irc.oftc.net



[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux