5e8822c4a5b66ec8632b36be9e1142f32f43b3e6
[csit.git] / docs / report / vpp_performance_tests / packet_throughput_graphs / l2.rst
1 L2 Ethernet Switching
2 =====================
3
4 Following sections include summary graphs of VPP Phy-to-Phy performance
5 with L2 Ethernet switching, including NDR throughput (zero packet loss)
6 and PDR throughput (<0.5% packet loss). Performance is reported for VPP
7 running in multiple configurations of VPP worker thread(s), a.k.a. VPP
8 data plane thread(s), and their physical CPU core(s) placement.
9
10 Results are generated by multiple executions of the same CSIT
11 performance tests across three physical testbeds within LF FD.io labs.
12 To provide a descriptive summary view, Box-and-Whisker plots are used to
13 display variation in measured throughput values, without making any
14 assumptions of the underlying statistical distribution. For each plotted
15 test case, Box-and-Whisker plots show the quartiles (Min, 1st quartile
16 / 25th percentile, 2nd quartile / 50th percentile / mean, 3rd quartile /
17 75th percentile, Max) across collected data set (data set size stated in
18 the note below). Outliers are plotted as individual points.
19
20 *Title of each graph* is a regex (regular expression) matching all
21 throughput test cases plotted on this graph, *X-axis labels* are indices
22 of individual test suites executed by csit-vpp-perf-1704-all jobs that
23 created result output files used as data sources for the graph, *Y-axis
24 labels* are measured Packets Per Second [pps] values, and the *Graph
25 legend* lists the plotted test suites and their indices.
26
27 .. note::
28
29     Test results have been generated by FD.io test executor jobs
30     `csit-vpp-perf-1704-all
31     <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1704-all/>`_,
32     with Robot Framework result files csit-vpp-perf-1704-all-<id>.zip
33     `archived here <../../_static/archive/>`_. Plotted data set size per
34     test case is equal to the number of job executions presented in this
35     report version: **5**.
36
37 NDR Throughput
38 ~~~~~~~~~~~~~~
39
40 VPP NDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
41 in the graph below.
42
43 .. raw:: html
44
45     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-ndrdisc.html"></iframe>
46
47 *Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
48 Switching.*
49
50 CSIT source code for the test cases used for above plots can be found in CSIT
51 git repository:
52
53 .. code-block:: bash
54
55     $ cd $CSIT/tests/perf
56     $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
57
58     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
59     10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc
60     10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc
61     10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
62     10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
63     10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
64     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
65     40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
66     40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
67
68 VPP NDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
69 in the graph below.
70
71 .. raw:: html
72
73     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-ndrdisc.html"></iframe>
74
75 *Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet
76 Switching.*
77
78 CSIT source code for the test cases used for above plots can be found in CSIT
79 git repository:
80
81 .. code-block:: bash
82
83     $ cd $CSIT/tests/perf
84     $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
85
86     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
87     10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc
88     10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc
89     10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
90     10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
91     10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
92     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
93     40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
94     40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
95
96 PDR Throughput
97 ~~~~~~~~~~~~~~
98
99 VPP PDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
100 in the graph below. PDR measured for 0.5% packet loss ratio.
101
102 .. raw:: html
103
104     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-pdrdisc.html"></iframe>
105
106 *Figure 3. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet
107 Switching.*
108
109 CSIT source code for the test cases used for above plots can be found in CSIT
110 git repository:
111
112 .. code-block:: bash
113
114     $ cd $CSIT/tests/perf
115     $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
116
117     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
118     10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc
119     10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-dot1q-l2xcbase-pdrdisc
120     10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
121     10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
122     10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
123     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
124
125 VPP PDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
126 in the graph below. PDR measured for 0.5% packet loss ratio.
127
128 .. raw:: html
129
130     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-pdrdisc.html"></iframe>
131
132 *Figure 4. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet
133 Switching.*
134
135 CSIT source code for the test cases used for above plots can be found in CSIT
136 git repository:
137
138 .. code-block:: bash
139
140     $ cd $CSIT/tests/perf
141     $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
142
143     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
144     10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc
145     10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-dot1q-l2xcbase-pdrdisc
146     10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
147     10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
148     10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
149     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
150