RE: Custom Queueing and packet size

From: Victor Cappuccio (cvictor@protokolgroup.com)
Date: Mon Oct 16 2006 - 20:29:43 ART


Very nice post Alexei,

Ok, CQ does not remember how many bytes of packets it was send out in the
first Round per each Q, and also CQ uses the byte-count to adjust the
bandwidth allocation the determined queue.

I think that 0,25 is ok for Queue 1, But I think that there is another
solution for this and more simpler, I would love to read your opinion about
this one.

1500 600 1500 => Sum == 3600
20 40 40 => Bandwidth Allocation per Queue
720 1440 1440 => Byte Count Ex: 720 came from 20 * 3600 / 100
0,2 0,4 0,4 => Check == (Sum ByteCount)/n

Just another way to get to Rome

Thanks it was very illustrative

Saludos,
Victor.-

-----Mensaje original-----
De: nobody@groupstudy.com [mailto:nobody@groupstudy.com] En nombre de Alexei
Monastyrnyi
Enviado el: Lunes, 16 de Octubre de 2006 06:40 p.m.
Para: Michael Zuo
CC: ccielab@groupstudy.com
Asunto: Re: Custom Queueing and packet size

Hi.

For CQ in terms of packet sizes it seems to be enough understanding what
the maximum packet size is.

As per your example, assume that "the rest" is 1500 byte

pkt_size 1500 600 1500
%q 20%=0.2 etc 0.2 0.4 0.4
ratio max_pkt/pkt 1 2,5 1
norm [%q*ratio*10] 2 10 4
byte_count ptk_s*norm 3000 6000 6000
check byte_c/summ 3/15 6/15 6/15
                                     0.2 0.4 0.4

It matches your ratio pretty much. Ratio 1500 3000 3000 differs in delay
only, meaning that packets in Q1 (the one with 1500) will wait
serialization time for 3000+3000 bytes (Q2+Q3). In my case Q1 would wait
serialization time for 6000+6000 bytes before getting served again.

But it is just a part of the fun. :-)

Let's have "the rest" as z in calculations above.

pkt_size 1500 600 z
%q 20%=0.2 etc 0.2 0.4 0.4
ratio max_pkt/pkt 1 2,5 1500/z
norm [%q*ratio*10] 2 10 6000/z
byte_count ptk_s*norm 3000 6000 z*(6000/z)=6000 !
check byte_c/summ 3/15 6/15 6/15
                                     0.2 0.4 0.4

Getting into more abstract, assume we have x,y,z for packet sizes.
max = maximum{x,y,z}

pkt_size x y z
%q 20%=0.2 etc 0.2 0.4 0.4
ratio max_pkt/pkt max/x max/y max/z
norm [%q*ratio*10] 2*(max/x) 4*(max/y) 4*(max/z)
byte_count ptk_s*norm x*2*(max/x) y*4*(max/y) z*4*(max/z)
                                     2*max 4*max 4*max
check byte_c/summ x/10max y/10max z/10max

So, byte count for Qn is [%qn*10*max]

[] is round-up to the nearest integer.

Much easier than classic books offer. :-)

HTH
A.

Michael Zuo wrote:
> Hi Group,
>
>
>
> I have a question re: custom queueing. When calculating the byte-count
> for each queue, does the packet size in each queue affect the
> calculation?
>
>
>
> Example:
>
>
>
> I want to allocation 20% to 1500 byte packets, 40% to 600 byte packets
> and 40% to the rest. To me, the byte-count would be 1500, 3000, 3000
> respectively just from normalizing the percentage allocation. But I
> have read from NetMaster library that the packet size for each queue is
> part of the calculation and there are various steps that need to be
> performed to arrive at an approximate percentage that comes close to the
> desired percentage.
>
>
>
> Can anyone shed some light on this?
>
>
>
> Thanks in advance...
>
> _______________________________________________________________________
> Subscription information may be found at:
> http://www.groupstudy.com/list/CCIELab.html



This archive was generated by hypermail 2.1.4 : Wed Nov 01 2006 - 07:29:05 ART