Critical values for "Tocken Bucket size" versus "Premium committed rate" for a single TCP stream

(A. Pinizzotto)


Test overview

In Test 4 we obtained (for a single TCP stream) the "optimal" value for the Tocken Buket size (TBs) when the premium committed rate is 8% (163.84 kbps) of PPP bandwidth: TBs = 11000.
In this context this value can be intended as a "critical" value, as well. In fact it is the minimum value for which any increase does not give any significant throughput improvement, while a decrease produces a sensible throughput loss.
In Test 5 we found that this critical (or optimal) value is a function of premium committed rate.
In this test we determine this function for all values of premium committed rate in the range 8-19 % of output bandwidth.
The assumption is that if PBs > TBs, then there is no drop in the premium buffer (the depth of the premium buffer is such that the maximum burst fits in it). For this reason, in each test run PBs is set to the maximum possible value (imposed by the IBM configuration interface):
PBs = 45000 (instead of setting "PBs = TBs + const." for each test).
Then, for each critical value obtained for TBs we can assume that the corresponding critical value for PBs could be: PBs = TBs (or PBs = TBs + 1 packet, for a safer margin).


Summary of results:

  1. Testbed description
  2. Results Overview
  3. Results Charts

Section 1. Testbed description

The network layout is the following:

                 ---------    PPP (2048 kbps)      ---------
                |  IBM    |_______________________|  IBM    |
                |  2212   | 76.1             76.2 |  2216   |
                |         |                       |         |
                 ---------                         ---------
                     | 74.1                            | 75.1
                     |                                 |
    ---------------------------------------------------------------------
              | 74.2        fast ethernet                       | 75.2
              |                                                 |
           -------                                           -------
          |       |                                         |       |
          |   A   |                                         |   B   |
           -------                                           -------
Routing: A is the stream source, B is the sink.
DiffServ is configured only on the IBM 2212 router for outgoing traffic from the ppp interface.
Bandwidths assigned to the diffserv premium queue is varied from 8% of PPP int. Bandwidth to 19% (from 163.84 kbps to 389.12 kbps).

Tests are run by generating a single TCP stream and by modifying the committed rate for the premium stream in the "Diff-serv action" used in the "Policy".
Tests are run with different values of TBs (for each value of the committed rate) to find its critical value, that is the minimum value of TBs to have a throughput close to the committed rate.


The duration of each test is 300 secs.


Configuration, policy, profile and action on the 2212 :


Policies:
----------------------------------------------
Policy Name     = ds_tcp_74.2->75.2             
        State:Priority =Enabled    : 10
        Profile        =tcp_74.2->75.2
        Valid Period   =val_always
        DiffServ Action=ds_prem_N
----------------------------------------------


Profile:
----------------------------------------------
Profile Name    = tcp_74.2->75.2                
        sAddr     =   192.168.74.2 :  sPort=    0 : 65535
        dAddr     =   192.168.75.2 :  dPort=    0 : 65535
        proto     =              6 : 6    
        TOS       =            xFF : x00
        Remote Grp=All Users                     
----------------------------------------------


Diff-serv action:
----------------------------------------------
DiffServ Name   = ds_prem_N                      Type =Permit              
        TOS mask:modify=xF0:xA0
        Queue:BwShare  =Premium    : 10 %
----------------------------------------------
The value (10%) for the Premium Queue BwShare in the Diff-serv action is varied in the range [8%, 19%].
 
Interface diffsev parameters:
-------------------------------------------------------------------------------
                        ---------- Premium -------   --------- Assured --------
Net If     Status  NumQ Bwdth  Wght  OutBuf  MaxQos Bwdth  Wght  OutBuf  MaxQos
Num                       (%)   (%) (bytes)     (%)   (%)   (%) (bytes)     (%)
-------------------------------------------------------------------------------
0   PPP   Enabled     2    20    90   45000      95    80    10   27500      80
-------------------------------------------------------------------------------


Note: The commands to view and to change the value of the Token Bucket size are:


TALK 4 (debbug environment)
word ds_token_bucket (to view) word ds_token_bucket="value" (to change)
TALK 5 (Monitoring Console)
FEATURE Policy RESET DATABASE


NETPERF and NETSERVE commands used:

TRAFFIC SOURCE
(source host 192.168.74.2)
netperf -p 50070 -H 192.168.75.2 -l 300 -f k
TRAFFIC RECEIVER
(dest host 192.168.75.2)
netserve -p 50070

Section 2. Results Overview

Test results are reported in the following table. For each couple of values (B% and TB%) the premium throughput is reported. This throughput has to be compared with the committed rate (calculated and reported in the table).
The values in bold correspond to the "critical" token bucket sizes. In this context the critical value (for token bucket) is the minimum value for which any encrease gives a negligible throughput improvement, while a decrease produce a sensible throughput worsening.
It has to be pointed out that the results are affected by the quantization of token bucket test values (3000 bytes).

Note
The throughput is computed by netperf that doesn't include the header overhead; on the contrary the committed rate cnfigured on the router includes the header overhead.

See also the the graphs in the following section, where the results are more evident.

Legenda:

B%
Percentage of output interface bandwidth (2048 kbps) committed for the premium stream [%].

TBs%
Token Bucket size for premium policer [bytes].

Premium Throughput

Real throughput for the TCP premium stream [kbps].

Committed rate
Committed rate for the TCP premium stream (reference value for test results) [kbps].


Premium Throughput [kbps]




Section 3. Results charts

Three graphs are reported in this section.
The first and the second one are a graphic representation of the same table of the previous section; in the first one TBs is the variable and B% is a parameter, whilst in the second one B% is the variable and TBs is a parameter.
The third graph is a synthesis for "critical token bucket size versus premium committed rate".

See Legenda in section 2.


The points with a circle corresponds to the critical token bucket size values (see values in bold in the table of the previous section).


Note
The points with a circle correspond to the critical token bucket size values (see values in bold in the table of the previous section).
The committed rate is reported just as a reference.


Note
The discontinuities in the red line are due to the quantization of TBs in the tests (TBs step = 3000 bytes).
The blu dashed line is the polynomial interpolation of the red one.

[end]