(A. Pinizzotto)
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:
--------- PPP (2048 kbps) ---------
| IBM |_______________________| IBM |
| 2212 | 76.1 76.2 | 2216 |
| | | |
--------- ---------
| 74.1 | 75.1
| |
---------------------------------------------------------------------
| 74.2 fast ethernet | 75.2
| |
------- -------
| | | |
| A | | B |
------- -------
Routing:
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
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].
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]