Level(3) Lambda UDPmon Large with STS Tuning

Description

UDPmon

In this document UDP experiments are described that were performed with a modified version of the UDPmon package written by R.E. Hughes-Jones in the sense that from 5000 packets the sequence number and the arrival time in microsec. are specified. All packets were send with zero sec. wait time between two successive packets. The experiments were executed at the Level(3) Lambda before acceptance by SURFnet. All tests were performed after the hosts upgrade of the SARA cluster to 515 Mbyte memory and Linux V.2.4.16-web100.

Network bottleneck memory estimation

UDPmon tests, that are executed by the workstations with a speed that exceeds the limits the network equipment or line can handle, in general show the following two characteristic phases:

  1. In the first part of the test the memory in the network is able to buffer the packets that can be handled at line speed, so nothing will be dropped.
  2. At the moment the memory has been completely filled, the equipment is unable to keep up with line speed and handle all incoming packets, so typically packet drop will occur in this phase.

This characteristic behaviour can be used to estimate the amount of memory that has been installed in the equipment which forms the bottleneck in the current path. Calculate the rate of packets dropped in phase 2 of the UDPmon test, given by

rdrop 2  =  Ndrop 2  /  Nall 2   

with:

rdrop 2   :    The drop rate calculated in phase 2.
Ndrop 2 : The # packets dropped in phase 2.
Nall 2 : The total # packets send during phase 2.

Under the assumption that the bandwidth in the phases 1 and 2 are the same, can be used to calculate the available memory in the network equipment that forms the bottleneck. In that case the value of the drop rate for phase 2 can also be used for the first phase. at the end of that phase the network equipment memory is just filled and should be:

Mnet  =  rdrop 2  Nall 1  (Spacket + SUDP )   

with:

Mnet   :    The amount of memory in the network equipment forming the bottleneck.
rdrop 2 : The drop rate calculated in phase 2.
Nall 1 : The total # packets send and received during phase 1.
Spacket : The packet size.
SUDP : The UDP overhead. It is assumed to be 64 byte.

To obtain reliable results the packet drop rate in phase 2 can be set to more reliable values my limiting the provisioned bandwidth. Of course this also implies that the total # packages received without loss in phase 1 is lowering, so for some value of the provisioned bandwidth there is an optimum to determine the involved memory with .

The provisioned bandwidth can be varied by setting the appropriate STS (Synchronous Transport Signal) level at the Cisco ONS. The levels, displayed in , can be selected.

STS
Level
Bandwidth
[Mbit/s]
1 55
3C 155
6C 311
9C 466
12C 622
24C 1250

.    The used STS levels with the corresponding provisioned bandwidths.

Test setup

For these tests the topology described in has been used. In this figure only the part of the setup essential for these tests are shown. There follows that the route via the Gigabit interfaces between gwgsara3 and gwgsara5 is formed by the path Amsterdam - Chicago - Amsterdam, where both Cisco ONS's are the only involved network equipment. The whole path between the two hosts forms one VLAN. At the points marked with "C" appropriate SNMP counters are available to check for packets lost.

+--------+   C +-+        +-+
|gwgsara3|-----|O|        |O| C
+--------+     | |- .... -| |--+
               |N|        |N|  | hardware loop
+--------+     | |- .... -| |--+
|gwgsara5|-----|S|        |S| C
+--------+   C +-+        +-+

      SARA                Chicago
		

.    The topology of the test setup used. Only the components required for these tests are shown. At the positions marked with "C" the appropriate SNMP counters are read to check for losses.

Tests between gwgsara3 and gwgsara5

With the modified version of the UDPmon tool tests between the hosts gwgsara3 and gwgsara5 has been performed while the STS levels are varied in correspondence with . Before and after each test the appropriate SNMP counters (see ) have been read to check for packets lost.

Time-Sequence

Results

To demonstrate the two phase behaviour of the UDPmon tool, described in the "Description" section, the relative receiving time of the packets after the first packet has been displayed as a function of the packet sequence number. The results are displayed for STS-12C (622 Mbit/s) because at that speed the effects are clear visible. STS-12C is also a common used standard. In the the relative receiving time has been plotted as a function of the packet sequence number using the packet sizes 500 byte, 1000 byte, 1200 byte, and 1460 byte for the stream gwgsara3 => gwgsara5. In these data are presented for the reverse stream. Lost packets are marked in these figures with zero relative receiving times.

Time seq. gwgsara3 => gwgsara5 (500 byte)
.I.    The relative receiving time as function of the packet sequence number for the UDP stream gwgsara3 => gwgsara5. The packet size was 500 byte.

Time seq. gwgsara3 => gwgsara5 (1000 byte)
.II.    The relative receiving time as function of the packet sequence number for the UDP stream gwgsara3 => gwgsara5. The packet size was 1000 byte.

Time seq. gwgsara3 => gwgsara5 (1200 byte)
.III.    The relative receiving time as function of the packet sequence number for the UDP stream gwgsara3 => gwgsara5. The packet size was 1200 byte.

Time seq. gwgsara3 => gwgsara5 (1460 byte)
.IV.    The relative receiving time as function of the packet sequence number for the UDP stream gwgsara3 => gwgsara5. The packet size was 1460 byte.

Time seq. gwgsara5 => gwgsara3 (500 byte)
.I.    The relative receiving time as function of the packet sequence number for the UDP stream gwgsara5 => gwgsara3. The packet size was 500 byte.

Time seq. gwgsara5 => gwgsara3 (1000 byte)
.II.    The relative receiving time as function of the packet sequence number for the UDP stream gwgsara5 => gwgsara3. The packet size was 1000 byte.

Time seq. gwgsara5 => gwgsara3 (1200 byte)
.III.    The relative receiving time as function of the packet sequence number for the UDP stream gwgsara5 => gwgsara3. The packet size was 1200 byte.

Time seq. gwgsara5 => gwgsara3 (1460 byte)
.IV.    The relative receiving time as function of the packet sequence number for the UDP stream gwgsara5 => gwgsara3. The packet size was 1460 byte.

Conclusions

From the the following conclusions can be drawn:

Phase 1 Maximum Sequence Number

Results

To show the increasing # packets from phase 1 by an increasing provisioned bandwidth (increasing STS levels), the maximum sequence number without loss has been plotted as function of the provisioned bandwidth, determined by the adjusted STS level. Packet sizes of 500, 1000, 1200, and 1460 byte are used from which the results are represented by corresponding plot traces. In these data are specified for the stream gwgsara3 => gwgsara5 and in for the reverse direction.

.    The maximum sequence # that could be send without loss (defining the length of the phase 1 region) as function of the provisioned bandwidth for the stream gwgsara3 => gwgsara5. The data for the used packet sizes are represented by corresponding plot traces.

.    The maximum sequence # that could be send without loss (defining the length of the phase 1 region) as function of the provisioned bandwidth for the stream gwgsara5 => gwgsara5. The data for the used packet sizes are represented by corresponding plot traces.

Conclusions

From the the following could be concluded.

Data Transfer during Phase 1

Results

From the packet size plot traces in the , shown in the previous section, the impression may arise that the in phase 1 transferred data bulk also contains characteristic behaviour. Therefore, the phase 1 transferred data has been plotted here as a function of the provisioned bandwidth. Also in these plots the used packet sizes are represented by separate plot traces. In these data are presented for the stream gwgsara3 => gwgsara5 and in for the reverse direction. The UDP overhead of 64 byte has been included in the calculation of the amount transferred data.

Phase 1 Transfer gwgsara3 => gwgsara5
.    During phase 1, without packet loss, transferred data bulk as function of the provisioned bandwidth in the direction gwgsara3 => gwgsara5. The used packet sizes are represented by separate plot traces.

Phase 1 Transfer gwgsara5 => gwgsara3
.    During phase 1, without packet loss, transferred data bulk as function of the provisioned bandwidth in the direction gwgsara5 => gwgsara3. The used packet sizes are represented by separate plot traces.

Conclusions

From the the following can be concluded:

Number Packets Lost

Results

In this section the # packets lost during phase 2 has been plotted as a function of the provisioned bandwidth. The data for the used packet sizes are presented by corresponding plot traces. displays the # lost packets for the stream gwgsara3 => gwgsara5 and for the reverse direction.

# Lost gwgsara3 => gwgsara5
.    The # packets lost as a function of the provisioned bandwidth for the stream gwgsara3 => gwgsara5. The used packet sizes are represented by separate plot traces.

# Lost gwgsara5 => gwgsara3
.    The # packets lost as a function of the provisioned bandwidth for the stream gwgsara5 => gwgsara3. The used packet sizes are represented by separate plot traces.

Conclusions

Unsurprisingly about the same characteristics can be seen as in the previous "Phase 1 Maximum Sequence Number" and "Data Transfer during Phase 1" sections, because the data presented here are related with those data. From the there follows:

Bandwidth in Regions with & without Packets Loss

Results

To check the assumptions that the bandwidth in the regions with and without packets lost (phases 1 and 2) are the same, the wire bandwidths (also with 64 byte UDP overhead included ) have been plotted as function of the provisioned bandwidth. Note that the bandwidths are only calculated in both regions when there are 200 or more non-zero relative time stamps available. In the wire bandwidths are presented for the direction gwgsara3 => gwgsara5 and in for the reverse direction. The data for the used packet sizes are given in the corresponding plot traces. The optimal situation where the wire bandwidth is equal to the provisioned bandwidth has been marked with a dotted line.

Bandwidth Phases 1 & 2 gwgsara3 => gwgsara5
.    The wire bandwidth in the regions without packet loss (phase 1, marked with "no l."), and with packet loss (phase 2, marked with "loss") as a function of the provisioned bandwidth for the direction gwgsara3 => gwgsara5. The used packet sizes are presented with separate plot traces. The optimal situation where the wire bandwidth is equal to the provisioned bandwidth has been marked with a dotted line.

Bandwidth Phases 1 & 2 gwgsara5 => gwgsara3
.    The wire bandwidth in the regions without packet loss (phase 1, marked with "no l."), and with packet loss (phase 2, marked with "loss") as a function of the provisioned bandwidth for the direction gwgsara5 => gwgsara3. The used packet sizes are presented with separate plot traces. The optimal situation where the wire bandwidth is equal to the provisioned bandwidth has been marked with a dotted line.

Conclusions

From the the following conclusions can be drawn:

Network Bottleneck Memory

Results

As in the previous section has been shown it is allowed to use to calculate the memory of the network bottleneck using the appropriate # packets received and/or lost in the phases 1 and 2. In the network memory has been plotted as function of the provisioned bandwidth for the direction gwgsara3 => gwgsara5 and in for the reverse direction. The estimation for the network bottleneck memory is only executed when 100 or more packets are lost.

Network Memory gwgsara3 => gwgsara5
.    The network bottleneck memory as a function of the provisioned bandwidth for the direction gwgsara3 => gwgsara5. The used packet sizes are represented with corresponding plot traces.

Network Memory gwgsara5 => gwgsara3
.    The network bottleneck memory as a function of the provisioned bandwidth for the direction gwgsara5 => gwgsara3. The used packet sizes are represented with corresponding plot traces.

Conclusions

The following conclusions can be drawn from the :

SNMP Counters

Results

In this section the results are presented from the SNMP In & Out Octet counter evaluations that were executed at the Cisco ONS's at the interfaces marked with "C" at the setup scheme given in . According to this scheme lists the Octet In and Octet Out counters that could be compared with each other to check for packet loss.

Step Octet In Octet Out
1. Amsterdam host interface Chicago hardware loop
2. Chicago hardware loop Chicago hardware loop
3. Chicago hardware loop Amsterdam host interface

.    Octet In counters that are compared with the corresponding Octet Out counters to check for packet loss.

The corresponding Octet In & Out counters were read before and after each UDPmon performance test. A comparison of the appropriate counter differences, after and before each test, gives the # Octets lost during that test which can also be roughly expressed in the # packets lost by dividing it by the sum of the packet size and the UDP overhead (64 byte).

Probably it is not very surprising that only octet loss has been found for those counters which are compared in step 1 from , because by limiting the provisioned bandwidth, the Amsterdam Cisco ONS forms the bottleneck in the setup given by . These octet and packet losses are presented by the following plots. displays the # Octets lost for the stream gwgsara3 => gwgsara5 and for the reverse direction. The Octets lost converted to the # packets lost for these streams can be found in the , respectively. To be able to compare easily the SNMP results with the # packets lost, obtained with UDPmon, also these results have been add to the last two figures.

SNMP Octets loss gwgsara3 => gwgsara5
.    The Octets lost from the Amsterdam host to the Chicago hardware loop as a function of the provisioned bandwidth for the direction gwgsara3 => gwgsara5. The used packet sizes are presented with separate plot traces.

SNMP Octets loss gwgsara5 => gwgsara3
.    The Octets lost from the Amsterdam host to the Chicago hardware loop as a function of the provisioned bandwidth for the direction gwgsara5 => gwgsara3. The used packet sizes are presented with separate plot traces.

SNMP Packets loss gwgsara3 => gwgsara5
.    The # packets lost as a function of the provisioned bandwidth for the direction gwgsara3 => gwgsara5. The used packet sizes are presented with separate plot traces. The traces marked with "SNMP" are referring to the SNMP # packets lost from the Amsterdam host to the Chicago hardware loop, while the traces marked with "UDPmon" are pointing to the UDPmon results, also previously presented in .

SNMP Packets loss gwgsara5 => gwgsara3
.    The # packets lost as a function of the provisioned bandwidth for the direction gwgsara5 => gwgsara3. The used packet sizes are presented with separate plot traces. The traces marked with "SNMP" are referring to the SNMP # packets lost from the Amsterdam host to the Chicago hardware loop, while the traces marked with "UDPmon" are pointing to the UDPmon results, also previously presented in .

Conclusions

From the the following conclusions can be given:

General Conclusions

From the tests where the provisioned bandwidth has been limited by tuning the STS level at the Cisco ONS and sending UDP packets with the UDPmon tool, the following conclusions can be drawn:


All Level(3) Lambda UDPmon Large Results  |  Teleglobe Lambda UDPmon Large Results