Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Testing UDP Reception

...

1004290Your target must be able to receive UDP packets reliably and with acceptable throughput. It must also be able to receive UDP packets with a size equal to the MTU. Anchor10042911004291

Test 1: Maximum Bandwidth Receive UDP Test using NDIT

...

Select the UDPs test tab in the NDIT main window. The UDP test tab appears Anchor10157221015722

The first test we suggest you to run is a 100 Mbps, 1472-byte payload test. It is the most demanding test in terms of data reception, as UDP is a light transport protocol and the CPU will be strained with a flood of UDP datagrams. Anchor10042931004293

Figure 8-8 shows the UDPs test tab. Anchor10042941004294 Image Removed

...

Image Added

Figure 8-8 UDPs test tab

...

Anchor10042961004296

There are four options for the UDP receive test: Anchor10042971004297

Input Bandwidth Anchor10184291018429

To test at a single bandwidth, set the Start and Stop values to the same bandwidth value. Values are in megabits per seconds.

...

...

If the Start and Stop values are different, a UDP receive test will be launch with the Start bandwidth. The bandwidth of the subsequent tests will increase by the value of Increment until the Stop bandwidth is reached.

...

Iterations Anchor10043021004302

NDIT will repeat the UDP receive test and its conditions for the specified number of times.

...

Payload Size Anchor10157811015781

1472 bytes is maximum value for the payload size, and will maximize throughput.

...

...

Multi Size Sweep will repeat the test with payloads of 64, 128, 256, 512, 1024 and 1472 bytes.

...

Test Duration Anchor10043071004307

This option can be found in the General Options tab.

...

Expected results

...

Although it is difficult to estimate the achievable throughput with a particular device, it is possible to compare with other drivers sharing roughly the same quantity of network buffers or processor speed.

...

 

...

Development Board

...

...

Device 1

...

Device 2

...

CPU Speed

...

...

72 MHz

...

70 MHz

...

CPU Architecture

...

ARM® Cortex-M3™

...

...

ARM® Cortex-M4™

...

...

Rx Buffers

...

...

4

...

...

3

...

...

Rx Descr.

...

4

...

3

...

64 byte Datagram

...

Socket Call

...

...

33144

...

58652

...

Throughput (Mbps)

...

...

1.695

...

3.002

...

1472 byte Datagram

...

Socket Call

...

...

27915

...

31788.91

...

Throughput (Mbps)

...

...

32.866

...

37.433

...

Listing 8-7 UDPs Performance Example Anchor10043181004318

There is also a practical limit at which the network driver can operate. At one point, as you increase the input data rate, the network driver will be overwhelmed and will start dropping the excess of packets it cannot handle.

...

...

As shown in Figure 8-9, there is a point where the rate of increase in throughput will slow down, and the error rate will increase until the throughput reaches its limit. Depending on the driver’s architecture, increasing the input data rate will decrease the performances of the driver. This is due to an increase in the number of receive interrupts that have to be handled.

...

Image Added

Figure 8-9 Throughput and Error Rate

...

Anchor10159691015969

...

See the section on transitory errors on

...

for more information.

...

...

Packet loss should begin to happen only near or after the driver reached maximum throughput (close to 32 Mbps as in the example in Figure 8-9). If there is a constant packet loss throughout the input data rate range, than something is wrong.

...

...

See the section on sending packets on

...

for more information.

...

...

Unless there is a heavy broadcasting of packets on the real network, the results should be fairly similar.

...

...

See section “Buffer leaks”

...

for more details.

...

...

Test 2: Payload Size Sweep Receive UDP Test using NDIT

...

1004335This test is similar to the previous one, except that we are modifying the size of the payload received by the target. We will set the payload size to 64, 128, 256, 512 and 1024 bytes. By reducing the size of the packet, we can increase the number of packets processed by the target in the same amount of time. By using a payload size of 64 bytes (the smallest payload for a Ethernet frame) you can get the maximum packet rate that you driver can handle. Anchor10096991009699

Expected results

...

...

Once again predicting the achievable throughput might be difficult. As the length of the payload decreases, the packet rate increases to sustain the required data rate. This decrease is likely due to the fact that it is more time consuming to execute the µC/TCP-IP module operation than the transfer the packet from the network device to the processor memory.

...

...

See the section on transitory errors on

...

for more information.

...

See the section on sending packets on

...

for more information.

...

...

See section “Buffer leaks”

...

for more details.

...

...