Hello!> average), how about Linux implemenatation about estimator?=20 > also do you have link for this algorithm? I canot find it.The questions are answered in papers, references are in comments in sch_cbq.c, look at http://www.icir.org/floyd/cbq.html> 3. In linux how CBQ measure used bandwidth per class? does it measure > bandwith bits/sec?No, it does not measure bandwdith at all. Read papers, please.> 7. Can HTB do the same job as CBQ right now, can HTB do borrow ?=20Yes, it does. And does it better than CBQ. Alexey _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
> 4. I read stef''s monitor.pl, it is based on firwall code. why didn''t use > CBQ''s measurement result if it can do (I am not sure..)?With iptables you can monitor everything you want. It can also be used to determine who is using the most bandwidth. Actually it''s a bandwidth monitor and not a tc monitor. But I use it to monitor tc :). I have some other scripts that uses the counters in cbq if you are intersted (see the page under the gui link). They create nice looking graphs. So ne real-time measurement like monitor.pl.> 5. In stef''s bandwidth monitor, I am not sure whether it is per-flow based > or per-class based. if it is per-flowed based, how can I modify to > per-class? I belivee CBQ can estimate used bandwidth PER CLASS. For example > you have two flow belong to one class.Again, you can montir whatever you want with monitor.pl as long as you can match the packets with iptables. There are other monitors (I just don''t remember them right now), who can identify flows and monitor them.> 6. In Linux how CBQ distribute the excess bandwidth between sibling class > when "borrow" enabled. what algorithm it used? which code? > > 7. Can HTB do the same job as CBQ right now, can HTB do borrow ?Yes : class 1 with rate = 100, ceil = 100 class 11 with rate = 25, ceil = 100 class 12 with rate = 75, ceil = 100 Class 11 and 12 borrow the same 100. Class 12 will get 75% of the link, class 11 15%. Stef _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Hi Stef and Alexey I have read some documents about CBQ algorithm from http://www.icir.org/floyd/cbq.html but still have some question about CBQ in Linux . 1. First estimator can estimate how much bandwidth already USED per class. one estimating algorithm is EWMA (exponential weighted moving average), how about Linux implemenatation about estimator? also do you have link for this algorithm? I canot find it. 2. If I want to see how CBQ work in Linux, any suggestion how I start read these code? there are a lot of files under tc folder, q_cbq.c tc_cbq.c... 3. In linux how CBQ measure used bandwidth per class? does it measure bandwith bits/sec? If it measue bandwidth every seconds, is there any way to collect these data (grap these data)? 4. I read stef''s monitor.pl, it is based on firwall code. why didn''t use CBQ''s measurement result if it can do (I am not sure..)? 5. In stef''s bandwidth monitor, I am not sure whether it is per-flow based or per-class based. if it is per-flowed based, how can I modify to per-class? I belivee CBQ can estimate used bandwidth PER CLASS. For example you have two flow belong to one class. 6. In Linux how CBQ distribute the excess bandwidth between sibling class when "borrow" enabled. what algorithm it used? which code? 7. Can HTB do the same job as CBQ right now, can HTB do borrow ? Thanks in advance best regards yuxiao Jia
Hello!> Sorry for my stubborn question. I read the S.Floyd paer "Link-sharing and > resource mamagement...." On page 5, they said" The estimator estimates the > bandwidth used byeach class over the appropriate time interval, to determine > whether or not each class has been receiveing its link -sharing > bandwidth..."Appendix A.> sch_cbq.c comments, not quite sure one line" Linux has no EOI event, so that > we ca not estimater true idle class idle time..." > what''s EOI event, This is why in Linux, CBQ canot measure bandwidth?No. No OSes have "EOI event". :-) CBQ does not measure bandwidth because it does not need it. Period. Listen, please, do not waste your time for useless phylosophical meditations, read the paper instead. Alexey _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Hello Alex Sorry for my stubborn question. I read the S.Floyd paer "Link-sharing and resource mamagement...." On page 5, they said" The estimator estimates the bandwidth used byeach class over the appropriate time interval, to determine whether or not each class has been receiveing its link -sharing bandwidth..." Also as I know CBQ building block, they have general scheduler, link-sharing scheduler, estimater, classifier etc. complonents. This is why I ask you how about its implementation in linux. I read the sch_cbq.c comments, not quite sure one line" Linux has no EOI event, so that we ca not estimater true idle class idle time..." what''s EOI event, This is why in Linux, CBQ canot measure bandwidth? regards yuxiao ----- Original Message ----- From: <kuznet@ms2.inr.ac.ru> To: "yuxiao" <yxjia@site.uottawa.ca> Cc: <lartc@mailman.ds9a.nl>; <stef.coene@docum.org> Sent: Friday, September 06, 2002 11:31 AM Subject: Re: questiona about CBQ algorithm in Linux> Hello! > > > average), how about Linux implemenatation about estimator?=20 > > also do you have link for this algorithm? I canot find it. > > The questions are answered in papers, references are in comments > in sch_cbq.c, look at http://www.icir.org/floyd/cbq.html > > > > 3. In linux how CBQ measure used bandwidth per class? does it measure > > bandwith bits/sec? > > No, it does not measure bandwdith at all. Read papers, please. > > > > 7. Can HTB do the same job as CBQ right now, can HTB do borrow ?=20 > > Yes, it does. And does it better than CBQ. > > Alexey_______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Hi yuxiao, On Mon, 9 Sep 2002, yuxiao wrote:> Hello Alex > > Sorry for my stubborn question. I read the S.Floyd paer "Link-sharing and > resource mamagement...." On page 5, they said" The estimator estimates the > bandwidth used byeach class over the appropriate time interval, to determine > whether or not each class has been receiveing its link -sharing > bandwidth..." > > Also as I know CBQ building block, they have general scheduler, link-sharing > scheduler, estimater, classifier etc. complonents. > > This is why I ask you how about its implementation in linux. I read the > sch_cbq.c comments, not quite sure one line" Linux has no EOI event, so that > we ca not estimater true idle class idle time..." > what''s EOI event, This is why in Linux, CBQ canot measure bandwidth?Alexey meant EndOfInterrupt probably - the timepoint when a packet finally leaved NIC. It is needed to compute and measure inderpacket times - these are used as guide whether are we over/underlimit. When I started to write first HTB version I spent one YEAR of thinking - so that don''t expect to understand all nuances so fast :) The main problems when implementing CBQ as described in Floyd paper (Appendix A - interpacked delay measure) is that you don;t have precise time reference. Alexey used trick in sch_cbq - used NIC as time source ;) HTB is direct implementation of Floyd''s formal sharing and uses leaky buckets as estimators - they are not so sensitive to less precise timing. Also you should note that original CBQ really didn''t measure bw, it rather tries to correct deviations from expected interpacket delay. regards, devik> regards > > yuxiao > ----- Original Message ----- > From: <kuznet@ms2.inr.ac.ru> > To: "yuxiao" <yxjia@site.uottawa.ca> > Cc: <lartc@mailman.ds9a.nl>; <stef.coene@docum.org> > Sent: Friday, September 06, 2002 11:31 AM > Subject: Re: questiona about CBQ algorithm in Linux > > > > Hello! > > > > > average), how about Linux implemenatation about estimator?=20 > > > also do you have link for this algorithm? I canot find it. > > > > The questions are answered in papers, references are in comments > > in sch_cbq.c, look at http://www.icir.org/floyd/cbq.html > > > > > > > 3. In linux how CBQ measure used bandwidth per class? does it measure > > > bandwith bits/sec? > > > > No, it does not measure bandwdith at all. Read papers, please. > > > > > > > 7. Can HTB do the same job as CBQ right now, can HTB do borrow ?=20 > > > > Yes, it does. And does it better than CBQ. > > > > Alexey > > _______________________________________________ > LARTC mailing list / LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ > >_______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
heh you was a bit faster Alexey ;-) On Mon, 9 Sep 2002 kuznet@ms2.inr.ac.ru wrote:> Hello! > > > Sorry for my stubborn question. I read the S.Floyd paer "Link-sharing and > > resource mamagement...." On page 5, they said" The estimator estimates the > > bandwidth used byeach class over the appropriate time interval, to determine > > whether or not each class has been receiveing its link -sharing > > bandwidth..." > > Appendix A. > > > > sch_cbq.c comments, not quite sure one line" Linux has no EOI event, so that > > we ca not estimater true idle class idle time..." > > what''s EOI event, This is why in Linux, CBQ canot measure bandwidth? > > No. No OSes have "EOI event". :-) > > CBQ does not measure bandwidth because it does not need it. Period. > Listen, please, do not waste your time for useless phylosophical meditations, > read the paper instead. > > Alexey > _______________________________________________ > LARTC mailing list / LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ > >_______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/