RE: custom queueing and byte count

From: Joe Harris (JoeH@xxxxxxxxxxxxxxxxx)
Date: Tue Aug 22 2000 - 12:00:49 GMT-3


   
Simon,

The "queue-list <list #> queue <queue #> byte-count <byte-count>" command
specifies the minimum byte count that is transferred from a qiven queue at
the time that that queue is seviced.

The limit that you specify on the queue such as with the command "queue-list
<list #> queue <queue #> limit <limit #>" is the command used to set the
length of the queue referenced in the command. This command specifies the
maximum entry limit of packets that the queue will hold or maximum number of
packets in a queue at any time. Think of this command as the
"hold-queue <queue-depth> in/out" command for an interface.

R1(config)#queue-list 1 queue 1 byte-count 1086 ?
  limit Set queue entry limit of a particular queue
  <cr>

R1#sh queueing
Current fair queue configuration:

  Interface Discard Dynamic Reserved
               threshold queue count queue count
  Serial0 64 256 0
  Serial1 64 256 0

Current priority queue configuration:
Current custom queue configuration:

List Queue Args
1 1 protocol appletalk
1 2 protocol ip
1 3 protocol ipx
1 1 byte-count 1086
Current RED queue configuration:
R1#config t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#queue-list 1 queue 1 ?
  byte-count Specify size in bytes of a particular queue
  limit Set queue entry limit of a particular queue

R1(config)#queue-list 1 queue 1 limit 5
R1(config)#end
R1#sh queueing
Current fair queue configuration:

  Interface Discard Dynamic Reserved
               threshold queue count queue count
  Serial0 64 256 0
  Serial1 64 256 0

Current priority queue configuration:
Current custom queue configuration:

List Queue Args
1 1 protocol appletalk
1 2 protocol ip
1 3 protocol ipx
1 1 byte-count 1086 limit 5
Current RED queue configuration:

-----Original Message-----
From: Simon Baxter [mailto:Simon.Baxter@au.logical.com]
Sent: Monday, August 21, 2000 8:07 PM
To: Joe Harris; ccielab@groupstudy.com
Subject: RE: custom queueing and byte count

So would you do the following :

queue-list 1 protocol appletalk 1
queue-list 1 protocol ip 2
queue-list 1 protocol ipx 3
queue-list 1 queue 1 byte-count 1086 limit 5
queue-list 1 queue 2 byte-count 3260 limit 56
queue-list 1 queue 3 byte-count 1080 limit 6

would you need to both the queue depth and byte count?

-----Original Message-----
From: Joe Harris [mailto:JoeH@globaldatasys.com]
Sent: Tuesday, August 22, 2000 7:21 AM
To: ccielab@groupstudy.com
Subject: RE: custom queueing and byte count

John,

I calculated the formula and I venture to say that you would get it correct.
(Not that I am the proctor though). There is actually a simple (well maybe
not so simple) formula to determine if you have the appropriate byte-count
specified and whether or not you are allocating the appropriate percentage
of the bandwidth. To determine the byte counts follow the steps below.

1. Produce a ratio of all frame sizes, dividing into the largest frame
size. For example, assume that the frame size for protocol A is 1086 bytes,
for protocol B is 291 bytes, and for protocol C is 831 bytes. The ratios
would be:

    1086/1086 1086/291 1086/831

2. Now multiply the results by the percentage of bandwidth you want each
protocol to have. For example, I will allocate 20 percent for A, 60 percent
for B, and 20 percent for C. This will give you:

     1086/1086(0.2) 1086/291(0.6) 1086/291(0.2)
   or
           .2 2.239 0.261

3. Normalize the ratio by dividing each value by the smallest value, in our
case:

     .2/.2 2.239/.2 0.261/.2
   or
       1 11.2 1.3

This is the ratio of the number of frames that must be sent out of each
queue so that the percentage of bandwidth that each protocol uses is
approximately in the ratio of 20, 60, and 20 percent.

4. Note that any fraction in any of the ratio values means that an
additional frame will be sent. In the example above, the number of frames
sent would be one 1086 byte frame, twelve 291 byte frames, and two 831 byte
frames or 1086, 3492, and 1662 bytes, respectively from each queue. These
are the byte counts that you would specify in your custom queuing config.
To determine the bandwidth distribution this represents, first determine the
total number of bytes sent after all three queues are serviced:
     (1 x 1086) + (12 x 291) + (2 x 831) = 1086 + 3492 + 1662 = 6240

5. Then determine the percentage of the 6240 bytes that was sent from each
queue:
      1086/6240, 3492/6240, 1662/6240 = 17.4, 56, and 26.6
percent

As you can see this is close to the desired ratio of 20:60:20 (but no cigar
yet). The bandwidth allocation can even to tailored further from this point
to represent a true 20:60:20. By multiplying the original ratio above of in
step 3, 1:11.2:1.3 by an integer, and trying to get as close as possible to
the real 20:60:20. For example we could multiply the ratio by 2, (1 x 2,
11.2 x 2, and 1.3 x 2) this would give us 2, 22.4, and 2.6. Now you would
send two 1086 byte frames, twenty-three 291 byte frames, and three 831 byte
frames or 2172+6693+2493, for a total of 11358 bytes. The resulting ratio
would be 19:59:22 percent. Which of course is much closer to the original
20:60:20.

Now in your case you are using the default 1500 byte frame size, using four
queues and attempting to allocate 25 percent of the bandwidth to each queue
correct?

Applying the formula above you get (you only need to run the formula on one
queue because the others will be identical):

Step 1: 1500/1500 = 1
Step 2: 1500/1500(.25) = 0.25
Step 3: 0.25/0.25 = 1
Step 4: The number of frames sent would be one 1500 byte frame from each
queue. Now determine the bandwidth distribution this represents.
               1500+1500+1500+1500 = 6000
Step 5: Now determine the percentage of the 6000 bytes that was sent
from each queue:
                1500/6000 1500/6000 1500/6000 1500/6000 = 25%, 25%,
25%, and 25%

I would have to say you are correct. Also Marc is correct (run the
formula). This one is not that bad because they asked you for 4 queues with
25 percent of the bandwidth so just about any number you use will work as
long as they all are the same. Hope this helps.

- Joe Harris

-----Original Message-----
From: John Conzone [mailto:jkconzone@home.com]
Sent: Saturday, August 19, 2000 3:33 PM
To: ccielab
Subject: custom queueing and byte count

    I've been working on bootcamp lab three, and have a question on custom
queueing.
    The requirement is to define 4 queues, each with %25 of bandwidth. The
queue is to be placed on S0. My config matches Marcs except Marc specifies
the byte count on each queue at 1000 bytes. I didn't specify the byte count
on mine, leaving them at 1500. The other interface on the router is a token
ring interface.
    Token ring is 4000 bytes or 8000 bytes and ethernet is 1500 bytes. Is he
doing this to adjust for token ring packet size? If so, how and why?
Fragments?
    If not, does anyone know why he is doing this?
    Also, if I got this on the lab and configured four equal length queues
with the default size, anyone venture to guess if it would count?
    Thanks!



This archive was generated by hypermail 2.1.4 : Thu Jun 13 2002 - 08:24:28 GMT-3