Table of Contents

TRex performance trend

This document tracks the performance of TRex Stateless use-cases of various hardware and NICS. The intention is to track the TRex software performance and not the NIC driver performance, however from this document you can learn the difference between different driver implementation (cycles/packets) Performance is measured in a metric called MPPS/Core (Norm), which stands for Mega-Packet per second (Norm).
How the calculation is made?

We measure the MPPS of the DUT in its best working point.
The measurement is then scaled to fit 100% CPU utilization, and finally divided by the number of cores the device has, to get a normalized MPPS/Core which is denoted as MPPS/Core (Norm)

How to run these tests?

       trex-core/scripts> ./run_regression --stl -t <name of test> --cfg setups/<name of setup>

The Error (%) metric:

You will see a column titled Error (%) next to other metrics (avg,std etc)
Error(%) is calculated for each batch of test results

Taking the Max value (max) and the Min value (min), calculating the difference max-min
We take the difference and then normalize it to the Average value to get (max-min)/Avg
Then, we present it as percentage

Error (%) = ((max-min)/Avg)*100

1. Setup: XL710 (4x40GbE) trex-08

Table 1. Setup Details
Server Cisco UCS 240M3

CPU:

2 sockets x Intel® Xeon® CPU E5-2667 v3 @ 3.20GHz, 8 cores

NICs:

2 NICS x ( 2x 40GbE ) Intel XL710, Total ports 4

NUMA

NIC0-NUMA 0 , NIC1-NUMA1

Memory

2x16GB

PCIe

2x PCIe16 + 2xPCIe4

OS:

Fedora 18 - baremetal

Test Name MPPS\Core (Norm) Date

1

VM-64-bytes-multi-CPUs

15.7

16-08-2018-22:10

2

syn-attack-64-bytes-multi-CPUs

13.02

16-08-2018-22:08

3

VM-64-bytes-multi-CPU-cache-size-1024

36.78

16-08-2018-22:11

4

VM-64-bytes-single-CPU-cache-size-1024

34.29

16-08-2018-22:14

5

VM-64-bytes-single-CPU

15.9

16-08-2018-22:12

6

syn-attack-64-bytes-single-CPU

13.42

16-08-2018-22:09

1.1. Trend: Performance Over Time

Test Name Avg MPPS/Core (Norm) Min Max Std Error (%) Total Results

VM-64-bytes-multi-CPUs

15.79

14.93

16.12

0.26

7.54

221

syn-attack-64-bytes-multi-CPUs

12.92

11.81

13.18

0.18

10.55

221

VM-64-bytes-multi-CPU-cache-size-1024

36.78

32.92

38.1

1.17

14.09

221

VM-64-bytes-single-CPU-cache-size-1024

34.84

32.84

39.59

0.93

19.38

221

VM-64-bytes-single-CPU

16.28

15.37

16.58

0.22

7.42

221

syn-attack-64-bytes-single-CPU

13.44

11.65

13.63

0.23

14.72

221

2. Setup: X710 (8x10GbE) trex-09

Table 2. Setup Details
Server Cisco UCS 240M3

CPU:

2 sockets x Intel® Xeon® CPU E5-2667 v3 @ 3.20GHz, 8 cores

NICs:

2 NICS x ( 2x 40GbE ) Intel X710, Total 8 ports

NUMA

NIC0-NUMA0 , NIC1-NUMA1

Memory

2x16GB

PCIe

2x PCIe16 + 2xPCIe4

OS:

Fedora 18 - baremetal

Test Name MPPS\Core (Norm) Date

1

VM-64-bytes-multi-CPUs

15.72

16-08-2018-22:10

2

syn-attack-64-bytes-multi-CPUs

13.05

16-08-2018-22:08

3

VM-64-bytes-multi-CPU-cache-size-1024

36.18

16-08-2018-22:12

4

syn-attack-64-bytes-single-CPU

13.63

16-08-2018-22:09

5

VM-64-bytes-single-CPU-cache-size-1024

33.56

16-08-2018-22:14

6

VM-64-bytes-single-CPU

15.94

16-08-2018-22:13

2.1. Trend: Performance Over Time

Test Name Avg MPPS/Core (Norm) Min Max Std Error (%) Total Results

VM-64-bytes-multi-CPUs

15.75

13.57

16.49

0.35

18.51

228

syn-attack-64-bytes-multi-CPUs

12.8

11.64

13.41

0.32

13.82

228

VM-64-bytes-multi-CPU-cache-size-1024

35.3

31.84

38.76

0.96

19.63

228

syn-attack-64-bytes-single-CPU

13.45

11.78

13.63

0.28

13.75

228

VM-64-bytes-single-CPU-cache-size-1024

33.68

32.42

35.17

0.3

8.18

228

VM-64-bytes-single-CPU

16.04

14.53

16.3

0.19

11.01

228

3. Setup: 82599EB (4x10GbE) kiwi02

Table 3. Setup Details
Server Cisco UCS 220M3

CPU:

2 x Intel® Xeon® CPU E5-2650 0 @ 2.00GHz (low end)

NICs:

2(NICS)x (2x10GbE) (4 ports) Intel 82599EB Total 4 ports

NUMA

NIC0-NUMA0 , NIC1-NUMA1

Memory

2x16GB

PCIe

1x PCIe16 + 1xPCIe8

OS:

Fedora 18 - baremetal

Test Name MPPS\Core (Norm) Date

1

VM-64-bytes-multi-CPUs

10.79

16-08-2018-05:16

2

syn-attack-64-bytes-multi-CPUs

8.5

16-08-2018-05:13

3

VM-64-bytes-multi-CPU-cache-size-1024

24.94

16-08-2018-05:17

4

syn-attack-64-bytes-single-CPU

9.56

16-08-2018-05:15

5

VM-64-bytes-single-CPU-cache-size-1024

25.45

16-08-2018-05:19

6

VM-64-bytes-single-CPU

11.88

16-08-2018-05:18

3.1. Trend: Trend: Performance Over Time

Test Name Avg MPPS/Core (Norm) Min Max Std Error (%) Total Results

VM-64-bytes-multi-CPUs

11.04

9.71

11.52

0.26

16.48

118

syn-attack-64-bytes-multi-CPUs

8.63

7.93

8.95

0.17

11.89

118

VM-64-bytes-multi-CPU-cache-size-1024

25.16

23.26

27.05

0.93

15.06

118

syn-attack-64-bytes-single-CPU

9.72

8.26

9.94

0.2

17.24

118

VM-64-bytes-single-CPU-cache-size-1024

25.96

23.61

26.72

0.5

11.98

118

VM-64-bytes-single-CPU

12.03

10.64

12.38

0.25

14.52

118

4. Setup: Cisco 1300 VIC (2x40GbE) trex-11

Important
  • this setup is not baremetal, performance are low due to that

Table 4. Setup Details
Server Cisco UCS 240M3

CPU:

2 sockets x Intel® Xeon® CPU E5-2667 v3 @ 3.20GHz, 8 cores

NICs:

1 NIC x ( 2x 40GbE ) Cisco 1300 VIC

NUMA

Unknown due to ESXi

Memory

2x16GB

PCIe

2x PCIe16 + 2xPCIe4

OS:

Ubuntu 14 - ESXi only 4 cores are utilized

Test Name MPPS\Core (Norm) Date

1

VM-64-bytes-multi-CPUs

16.53

16-08-2018-22:09

2

syn-attack-64-bytes-multi-CPUs

13.98

16-08-2018-22:06

3

VM-64-bytes-multi-CPU-cache-size-1024

40.13

16-08-2018-22:10

4

syn-attack-64-bytes-single-CPU

13.76

16-08-2018-22:08

5

VM-64-bytes-single-CPU-cache-size-1024

39.68

16-08-2018-22:12

6

VM-64-bytes-single-CPU

16.81

16-08-2018-22:11

4.1. Trend: Performance Over Time

Test Name Avg MPPS/Core (Norm) Min Max Std Error (%) Total Results

VM-64-bytes-multi-CPUs

17.36

15.66

20.06

0.61

25.33

236

syn-attack-64-bytes-multi-CPUs

13.96

11.79

16.65

0.44

34.83

236

VM-64-bytes-multi-CPU-cache-size-1024

39.59

38.0

51.02

0.83

32.9

236

syn-attack-64-bytes-single-CPU

13.96

11.65

16.57

0.44

35.24

236

VM-64-bytes-single-CPU-cache-size-1024

39.54

37.99

47.62

0.65

24.35

236

VM-64-bytes-single-CPU

17.33

15.7

19.73

0.62

23.26

236

5. Setup: Mellanox ConnectX-4 (2x100GbE) trex-07

Table 5. Setup Details
Server Cisco UCS 240

CPU:

2 sockets x Intel® Xeon® CPU E5-2667 v3 @ 3.20GHz, 8 cores

NICs:

1 NIC x 100G (2 ports) Mellanox ConnectX-4 NUMA#1

NUMA

One NIC on NUMA1

Memory

2x16GB

PCIe

2x PCIe16 + 2xPCIe4

OS:

CentOS 7.2 - baremetal

Test Name MPPS\Core (Norm) Date

1

VM-64-bytes-multi-CPUs

13.94

16-08-2018-22:09

2

syn-attack-64-bytes-multi-CPUs

11.78

16-08-2018-22:07

3

VM-64-bytes-multi-CPU-cache-size-1024

25.08

16-08-2018-22:11

4

syn-attack-64-bytes-single-CPU

12.33

16-08-2018-22:08

5

VM-64-bytes-single-CPU-cache-size-1024

23.44

16-08-2018-22:13

6

VM-64-bytes-single-CPU

14.93

16-08-2018-22:12

5.1. Trend: Performance Over Time

Test Name Avg MPPS/Core (Norm) Min Max Std Error (%) Total Results

VM-64-bytes-multi-CPUs

13.94

13.8

14.0

0.04

1.38

192

syn-attack-64-bytes-multi-CPUs

11.77

11.52

11.82

0.04

2.62

192

VM-64-bytes-multi-CPU-cache-size-1024

24.91

23.64

25.7

0.38

8.26

191

syn-attack-64-bytes-single-CPU

12.31

11.89

12.38

0.07

4.01

192

VM-64-bytes-single-CPU-cache-size-1024

23.49

22.52

24.04

0.2

6.49

191

VM-64-bytes-single-CPU

14.97

14.59

15.08

0.09

3.23

191

6. Setup: Mellanox ConnectX-5 (2x100GbE) trex-19

Table 6. Setup Details
Server Cisco UCS 240

CPU:

2 sockets x Intel® Xeon® CPU E5-2660 v4 @ 2.0GHz, 14 cores

NICs:

1 NIC x 100G (2 ports) Mellanox ConnectX-5 NUMA#0

NUMA

One NIC on NUMA1

Memory

2x32GB

PCIe

2x PCIe16 + 2xPCIe4

OS:

CentOS 7.4 - baremetal

Note

This is a new version of UCS with low-end CPU (2Ghz vs 3.2GHz) so cycle/packet should be normalized accordingly

Test Name MPPS\Core (Norm) Date

1

VM-64-bytes-multi-CPUs

14.19

16-08-2018-22:10

2

syn-attack-64-bytes-multi-CPUs

10.69

16-08-2018-22:07

3

VM-64-bytes-multi-CPU-cache-size-1024

38.26

16-08-2018-22:11

4

syn-attack-64-bytes-single-CPU

12.03

16-08-2018-22:08

5

VM-64-bytes-single-CPU-cache-size-1024

24.5

16-08-2018-22:13

6

VM-64-bytes-single-CPU

15.35

16-08-2018-22:12

6.1. Trend: Performance Over Time

Test Name Avg MPPS/Core (Norm) Min Max Std Error (%) Total Results

VM-64-bytes-multi-CPUs

13.34

11.35

14.52

0.63

23.8

224

syn-attack-64-bytes-multi-CPUs

10.23

8.84

10.85

0.4

19.67

225

VM-64-bytes-multi-CPU-cache-size-1024

35.21

27.53

38.74

2.15

31.85

224

syn-attack-64-bytes-single-CPU

12.08

11.21

12.62

0.22

11.73

225

VM-64-bytes-single-CPU-cache-size-1024

24.34

23.39

25.95

0.25

10.52

224

VM-64-bytes-single-CPU

15.21

13.75

16.02

0.31

14.87

224

7. Comparison between Mellanox ConnectX-5 (2x100GbE) (trex-19) and XL710 (4x40GbE) (trex-08)

Test Name Mellanox ConnectX-5 Intel XL710 Date

0

VM-64-bytes-multi-CPUs

14.19

15.7

16-08-2018-22:10

1

syn-attack-64-bytes-multi-CPUs

10.69

13.02

16-08-2018-22:08

2

VM-64-bytes-multi-CPU-cache-size-1024

38.26

36.78

16-08-2018-22:11

3

syn-attack-64-bytes-single-CPU

12.03

13.42

16-08-2018-22:09

4

VM-64-bytes-single-CPU-cache-size-1024

24.5

34.29

16-08-2018-22:14

5

VM-64-bytes-single-CPU

15.35

15.9

16-08-2018-22:12

8. Raw information

raw information can be found here raw_info.csv