Re: Fair bandwidth oversubscribing ? How with HTB ?

Linux Advanced Routing and Traffic Control

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

 



Santiago J. Ruano Rincón wrote:

try HFSC, Hierarchical Fair Service Curve:

http://trash.net/~kaber/hfsc
http://www-2.cs.cmu.edu/~hzhang/HFSC/

i'm going to test it in this week.



This should indeed work with HFSC if the custumer-classes have only links-haring service curves and no realtime service curves. The parent class would be limited with an upper-limit service curve. With link-sharing service curves, only the relative differences of virtual time on a level of the heirarchy are relevant, so there is no problem oversubscribing the parent class. the upper-limit service curve of the parent limits the total bandwidth, unlike the link-sharing curve it uses wall-clock time.

Best regards,
Patrick

PS: Please let me know if you are successful.


Quoting Simon Byrnand <simon@xxxxxxxxxxx>:



Hopefully someone has a suggestion on how I might do this...as I can't
figure it out :(

I need to be able to set up a group of seperate users who have a
"bandwidth pool" they share, but also be able to limit their individual
bandwidth as well.

Example:

I have 5 customers and would like to be able to provide them with a
maximum of 256Kbit each, with a CIR of 33%.

To do this, I'd like the 5 customers to share a parent group which is
therefore limited to 426Kbit, Which is 5*256Kbit/3.

The idea being that individual customers can achieve up to a maximum of
256Kbit provided that the total group pool doesn't exceed 426Kbit, and if
the total group pool maxes out, then each customer should get reduced
bandwidth in fair ratios based on their individual maximum setting.
(Currently 256Kbit for all of them, but I'd like to be able to
differentiate them later)

If all 5 were trying to fully utilize their bandwidth at the same time,
they should get a fairly distributed 33% of their maximum - eg about
85Kbit.

The problem I can see is that both CBQ and HTB don't seem to honour
situations where the sum of all the child rates exceeds the parent rate -
the parent rate is ignored so the 426Kbit cap is exceeded. The HTB docs
even explicitely say this won't work.

So is there any tricky way to do this with slightly different semantics ?
Surely there must be some way :-) I've spent many long hours studying CBQ
and trying things out and finally came to the conclusion that CBQ alone
just can't do it, but I was hoping HTB could, but thus far I've been
unsuccessful here too..

Currently I'm using CBQ but I'm limited in that the individual maximum
speeds can only equal the parent group maximum bandwidth which is workable
for a few customers, but not very satisfactory and not flexible enough as
I add more customers.

If someone could point me in the right direction or just give me a firm
"nope, can't be done" that would be great....

I'd also like to enable short term bursting over and above this as well,
to improve responsiveness during downloading, say, 33% overbandwidth for 5
seconds, that sort of thing, but I'll cross that bridge when (if) I get to
it...(any comments here on how effective enabling bursting is for reducing
the dreaded unresponsiveness-during-downloads problem would be welcome
too)

Regards,
Simon

_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/





Santiago J. Ruano Rincón

Avatar Ltda.
ParqueSoft Popayán
+57-2 8221214

_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/




_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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