[LARTC] HFSC question??

Andy Furniss lists at andyfurniss.entadsl.com
Sat Nov 11 16:03:43 CET 2006

Thossapron Apinyapanha wrote:
> 1.  HFSC have 4 curve such sc, rc, ls, ul and
> 1.1 In leaf class can specify rc for guarantee service (bandwidth and delay) 
> and If want to sharing fairness exceess service, we must specify ls and ul curve too
> (ls curve with paramater m2 specify at lease sharing bandwidth in that class will receive and
> ul curve mean maximum bandwidth in that class will receive)
> so i'm doubt .. about if i specify sc curve in leaf class too,  what 's it mean??
> rc, ls, ul + sc -> what's it mean?
> rc + sc -> what's it mean?

On leaf sc = rt + ls ie. rt upto it's limit but able to go higher if 
there is spare bandwidth to borrow with no rt guarentees.

On inner classes I guess sc is the same as ls.

> In interior class can't specify rc curve but we can specify ls curve for doing link-sharing criterion
> and can sharing fairness excess service too.
> but so if i specify sc curve in leaf class too,  what 's it mean?? like
> how different if i specify  "ls, ul and sc" and "ls, ul"???
> In root class,  what is it mean if i specify
> sc -> what's it mean?
> ls +ul -> what's it mean?
> 1.2 so can i conclude ls, ul, rc are subset 's sc curve.
> and in each curve we can calculate banwidth and delay bound .?????
> because all 4 curve have same parameter such m1 ,d , m2
> 2. i read a lot of HFSC paper about paramter (m1,d,m2)
> some paper tell me ... d is interval time 
> (first will sending with m1 rate but after interval d parameter, it will change
> rate to m2) 
> but some paper tell me .. d is delay bound in that class 
> (first will sending with m1 rate but when after exceed delay bound,
> it will change rate to m2)
> what 's it true??

Look at the picture on p10 of sigcom paper - I think d in (m1,d,m2) is x 
which is either the same as d max or different depending on the shape of 
the curve. Linux HFSC will convert (umax, dmax, rate) to (m1,d,m2).

> 2.1  if d are interval time so how HFSC calculate delay?
> 2.2  Is it true? -> "delay bound calculation from service curve"
> 3. this is my big problem with HFSC thoery ...
> in HFSC has 2 criterion such real time and link-sharing criterion
> so when packet coming in traffic control linux box
> hfsc will checking eligible time in each packege
> If eligible time < t 
> (i'm don't understand how eligble working or how it classify eligible package or not?) 
> or it's package that dangerouse for exceed deadline time
> so it manage package with "real time criterion" and choosing
> package with lowest deadline time for dequeue
> but if it's not, it will manage with "link sharing criterion" 
> and choosing package with lowest vertual time 
> (this is a big don't unstand why choose lowest vertual time?
> because it's mean class with have lowest will choose to dequeue
> and what about another class that vertual time are now low??
> how it can manage???
> and i don't understand why must choose lowest not max vertual time?
> Is it relative with fairness excess service all class?

I guess time moves on so vt on classes gets lower.

> 4. my lab... i found bandwidth allocation by HFSC
> comparation with HTB ... found 
> At first time that class starting up, HFSC will receive banwidth nearly 
> upperlimit rate nomatter in that time have a lot class active????
> (it's like can send with burst rate in HTB)
> so comparation with HTB, 
> At first time that class starting up, HTB receive bandwidth not peak like
> burst but it use interval time for increase bandwidth until start with rate and then with ceil.

Hmm, for how long (bytes) does that burst happen with hfsc, what rates?

I know emperically that rt classes are sort of work conserving in the 
Linux (and BSD?) implementations. The algorithm in the paper is 
different and more non work conserving as I see it.

> 5. i read a lot of HTB 's tc command case, with try to test burst situation ,
> i don't know why burst parameter their specify not much like 12kbit 
> (but rate and ceil rate are so different from 12kbit such 200kbit  
> so i will follow them,, but after plot graph .... i don't see burst characteristic
> at first time class active ...
> Is i'm wrong to use burst paramter value 12 kbit???? it's too small?????
> are

Burst is a buffer size so 12kbit=1.5kB slightly less than a 1500 byte 
packet if shaping on eth (IPlen +14). Also the max rate of a backlogged 
class is burst * Hz. On slow links setting burst < pktlen/low doesn't hurt.


More information about the LARTC mailing list