Re: [LARTC] HTB and HFSC,declaration tc command question

2006-09-26 Thread Andy Furniss

*~ r a K u ~ * wrote:

I have a lot question about tc-command because now i'm doing research to compare
performance between HTB and  HFSC
so i'm doubt a lot thing and your reply are so very helpful to me ... My 
question is
 
*In HTB tc command question*

1. I'm use opensource (Mastershaper) for help to config traffic control
but when i'm try to config HTB,
I'm doubt about in each chain must identify fallback service level
and If i'm don't specify it,it will unable to contain pipe.
Every traffic and if traffic not matched in chain's pipe can only use the 
fallback service level

(ps.  Mastershaper represent interior class as pipe and leaf class as chain)
 
Is it only true definition in HTB tc command?? or it's only a creative function 
from developer??


Don't know what you mean really - mastershaper is OK but if you want to
test HTB and HFSC you should do it by hand so you can play with
different HTB settings.

quantum/burst/cburst can affect things at low rates there is also a
compile time define that makes HTB more accurate - HYSTERESIS 0 is more
accurate than the default 1. HTB accuracy is limited by Hz setting aswell.

Testing on low bandwidth links shows HTB to be sensitive to how you set
things up. Trying to have a class for each user, with prio for
interactive within that doesn't work well - your interactive needs to be
top level prio 0. I haven't tested doing per user within that.

At low rates I find hfsc is alot better, but then my tests may have been
flawed.

You won't see any results from ping output when simulating a low rate on
eth unless you make an artificial link with another queue. This can be
tricky - hfsc seems Ok - but it doesn't add bitrate latency quite like a
real link would. If you use hfsc to simulate a link then to be fair to
htb you need to choose packet sizes carefully, because htb uses rate
tables that are only right if (on eth) ip_len+14/8 is an integer. In
effect (on eth) this means setting mtu to 1498 and ping -s 54 rather
than default 56.

You could instead, just tcpdump on a remote box and look at time
deltas/packet lengths and deduce how much a real link would be backlogged.

 
*In HFSC tc command question *

after i read HFSC paper , i'm doubt in Service curve declaration like this
 > | SC := [ [ m1 BPS ] [ d SEC ] m2 BPS
 > | 
 > |  m1 : slope of first segment -> umax

 > |  d  : x-coordinate of intersection -> dmax
 > |  m2 : slope of second segment -> rate


You can specify curves two ways and you don't need m1/umax or d/dmax for 
a linear "curve". Whether you say m1 as a bitrate or umax bytes for 
packet length hfsc will convert to bitrate.


You need to think of the link you shape for as a linear curve and make 
sure all your rates do not exceed that.


 
2. In all leaf class must specify rt (realtime service curve) ??? and Is it 
important to
specify sc (Service curve) in all leaf class ?? and in all leaf class must 
specify link-sharing (ls) too??


I think you can have any type on leaf - inners can't be rt, though you 
can use sc rather than ls I suppose they are just ls. On a leaf sc is rt 
+ ls, ie. it can borrow and is capped by the first ul above/on it, rt 
alone will not get a share above its rate.


because i think after read HFSC theory about by default All leaf class(Service 
class)

will use Link-sharing critirion for allocation bandwidth from Service curve
(My assumtion think this calculation bandwidth is "m1" or "umax" ->total 
bandwidth
that can send at ceil rate??) and when total  delay are exceed to "demax" or "d" 
-> it mean


The way I see it may be wrong -

There is no ceil rate for rt as such , that's for ls - it is up to you 
to work out m1 and delay for every leaf (not sure if ls leaf matters but 
I still did in my test, just to make the curves add up) so that you 
don't go over the link curve. On a slow link if you assume big packets 
that makes for long delays. In practice it will be jitter - Patrick 
wrote he may make hfsc even more non work conserving one day (IIRC). 
Until then I don't think it's possible to get optimal behaviour for prio 
 between rt classes. The original hfsc algorithym assumes some device 
driver controls the queue - in practice that won't happen without alot 
of buffering to mess things up, the current hfsc rate limiting is good 
but doesn't quite simulate the perfect (non existant) driver that asks 
for a packet at a time.



it's time for HFSC to manage QoS to guarantee bandwidth and delay
in each leaf class by use Real-time Criterion so bandwidth rate will change to 
"m2"
or bandwidth rate that guarantee QoS in eache leaf class
Is it true??? i fear may be misunderstand in HFSC theory,
example in my test lab ,i have leaf class 3 type such real-time ,data ,default
Can i specify
 - real-time leaf class -> rt (for guatantee delay and bw) ,ls (by default when 
not exceed max delay)


It will get (max) delay according d upto m2 bandwidth if it needs to 
borrow more from ls those packets get no delay guarantee.


 - da

[LARTC] HTB and HFSC,declaration tc command question

2006-09-17 Thread *~ r a K u ~ *
I have a lot question about tc-command because now i'm doing research to compare 
performance between HTB and  HFSC 
so i'm doubt a lot thing and your reply are so very helpful to me ... My question is 
 
In HTB tc command question1. I'm use opensource (Mastershaper) for help to config traffic control 
but when i'm try to config HTB,I'm doubt about in each chain must identify fallback service level 
and If i'm don't specify it,it will unable to contain pipe. 
Every traffic and if traffic not matched in chain's pipe can only use the fallback service level

(ps.  Mastershaper represent interior class as pipe and leaf class as chain)
 
Is it only true definition in HTB tc command?? or it's only a creative function from developer??
 
In HFSC tc command question 
after i read HFSC paper , i'm doubt in Service curve declaration like this
> | SC := [ [ m1 BPS ] [ d SEC ] m2 BPS> |  > |  m1 : slope of first segment -> umax> |  d  : x-coordinate of intersection -> dmax> |  m2 : slope of second segment -> rate
 
2. In all leaf class must specify rt (realtime service curve) ??? and Is it important to 
specify sc (Service curve) in all leaf class ?? and in all leaf class must specify link-sharing (ls) too??
because i think after read HFSC theory about by default All leaf class(Service class)
will use Link-sharing critirion for allocation bandwidth from Service curve 
(My assumtion think this calculation bandwidth is "m1" or "umax" ->total bandwidth 
that can send at ceil rate??) and when total  delay are exceed to "demax" or "d" -> it mean 
it's time for HFSC to manage QoS to guarantee bandwidth and delay
in each leaf class by use Real-time Criterion so bandwidth rate will change to "m2" 
or bandwidth rate that guarantee QoS in eache leaf class
Is it true??? i fear may be misunderstand in HFSC theory,
example in my test lab ,i have leaf class 3 type such real-time ,data ,defaultCan i specify  - real-time leaf class -> rt (for guatantee delay and bw) ,ls (by default when not exceed max delay) - data lead class ->  ls (by default and not delay sensitive so delay are not important)
3. I'm doubt in How to declaration ls, and ul about .. in thoery it a type of service curve that not
relative with real-criterion, so Delay may be not important for consider  
Is it true when declaration, parameter in each service curve may be link this? ls [ umax BPS, rate BPS] ul [ umax BPS, rate BPS]
and 
Is it important to declaration all of three parameter (umax,demax,rate) If three parameterare important to setting traffic control
 
3. I'm try to search HFSC command example, it have a lot case but i'm doubt in service curve (sc)
declaration sometime declaration in root class, interior class, in leaf classso I'm not sure to understand about ls ->calculate bandwidth for interior class,root class and rt -> calculate bandwidth for leaf class and what about service curve(sc)??? it's specify only in root class???
 
4. Is it true?? In root class, or interior class will doing with only Link-sharing criterion, so can specify declaration
only link-sharing ->ls(umax, dmax, rate) and Upperlimit ->ls(umanx,dmax,rate) it's not important 
to declaration real-time curve (rt) because in HFSC theory will use real-time criterion only Leaf class
 
5. In HFSC, upper limit are bandwidth rate that guarantee maximum bandwidth rate in 
each class as ceil in HTB???
 
6. I'm doubt about priority in HFSC, in HFSC paper telling about in support priority 
but in HFSC tc-command it not specify priority in each class, 
So In HFSC how to manage priority class link HTB
Thank you for all reply, it's so very helpful to me alot.which all will suggest or advise me about in something i'm misunderstand 
 
raku
 Express yourself instantly with MSN Messenger! MSN Messenger Download today it's FREE!

___
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc