csit rls1701 report nits and updates:
[csit.git] / docs / report / vpp_performance_tests / packet_throughput_graphs / vm_vhost.rst
1 VM vhost Connections
2 ====================
3
4 Following sections provide a summary of VPP Phy-to-VM-to-Phy VM vhost-user
5 performance illustrating NDR throughput (zero packet loss) and PDR throughput
6 (<0.5% packet loss). Performance is reported for VPP running in multiple
7 configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and
8 their physical CPU core(s) placement.
9
10 *Title of each graph* is a regex (regular expression) matching all plotted
11 throughput test cases, *X-axis labels* are indeces of csit-vpp-perf-1701 jobs
12 that created result output files used as data sources for the graph,
13 *Y-axis labels* are measured Packets Per Second [pps] values, and the *graph
14 legend* identifes the plotted test suites.
15
16 .. note::
17
18     Data sources for reported test results: i) FD.io test executor jobs
19     `csit-vpp-perf-1701-all
20     <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-all/>`_ and
21     `csit-vpp-perf-1701-long
22     <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-long/>`_
23     , ii) archived FD.io jobs test result `output files
24     <../../_static/archive/>`_.
25
26 NDR Throughput
27 ~~~~~~~~~~~~~~
28
29 VPP NDR Throughput - running in configuration of **one worker thread (1t) on one
30 physical core (1c)** - is presented in the figure below.
31
32 .. raw:: html
33
34     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-ndrdisc.html"></iframe>
35
36 *Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM
37 vhost-user.*
38
39 CSIT test cases used to generate results presented above can be found in CSIT
40 git repository by filtering with specified regex as follows:
41
42 .. code-block:: bash
43
44     $ csit/tests/perf
45     $ grep -E "64B-1t1c-.*vhost.*-ndrdisc" *
46
47     10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
48     10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
49     10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc
50     10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
51     10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
52     10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
53     10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
54     40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
55
56 VPP NDR Throughput - running in configuration of **two worker threads (2t) on
57 two physical cores (2c)** - is presented in the figure below.
58
59 .. raw:: html
60
61     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-ndrdisc.html"></iframe>
62
63 *Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM
64 vhost-user.*
65
66 CSIT test cases used to generate results presented above can be found in CSIT
67 git repository by filtering with specified regex as follows:
68
69 .. code-block:: bash
70
71     $ csit/tests/perf
72     $ grep -E "64B-2t2c-.*vhost.*-ndrdisc" *
73
74     10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
75     10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
76     10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc
77     10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
78     10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
79     10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
80     10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
81     40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
82
83 VPP NDR Throughput - running in configuration of **four worker threads (4t) on
84 four physical cores (4c)** - is presented in the figure below.
85
86 .. raw:: html
87
88     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-vhost-ndrdisc.html"></iframe>
89
90 *Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-VM-to-Phy VM
91 vhost-user.*
92
93 CSIT test cases used to generate results presented above can be found in CSIT
94 git repository by filtering with specified regex as follows:
95
96 .. code-block:: bash
97
98     $ csit/tests/perf
99     $ grep -E "64B-4t4c-.*vhost.*-ndrdisc" *
100
101     10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
102     10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
103     10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc
104     10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
105     10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
106     10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc
107     10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
108     40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
109
110 PDR Throughput
111 ~~~~~~~~~~~~~~
112
113 VPP PDR Throughput - running in configuration of **one worker thread (1t) on one
114 physical core (1c)** - is presented in the figure below. PDR at below 0.5%
115 packet loss ratio.
116
117 .. raw:: html
118
119     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-pdrdisc.html"></iframe>
120
121 *Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM
122 vhost-user.*
123
124 CSIT test cases used to generate results presented above can be found in CSIT
125 git repository by filtering with specified regex as follows:
126
127 .. code-block:: bash
128
129     $ csit/tests/perf
130     $ grep -E "64B-1t1c-.*vhost.*-pdrdisc" *
131
132     10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
133     10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
134     10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc
135     10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
136     10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
137     10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
138     10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
139     40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
140
141 VPP PDR Throughput - running in configuration of **two worker threads (2t) on
142 two physical cores (2c)** - is presented in the figure below.
143
144 .. raw:: html
145
146     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-pdrdisc.html"></iframe>
147
148 *Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM
149 vhost-user.*
150
151 CSIT test cases used to generate results presented above can be found in CSIT
152 git repository by filtering with specified regex as follows:
153
154 .. code-block:: bash
155
156     $ csit/tests/perf
157     $ grep -E "64B-2t2c-.*vhost.*-pdrdisc" *
158
159     10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
160     10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
161     10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc
162     10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
163     10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
164     10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
165     10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
166     40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
167
168 VPP PDR Throughput - running in configuration of **four worker threads (4t) on
169 four physical cores (4c)** - is presented in the figure below.
170
171 .. raw:: html
172
173     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-vhost-pdrdisc.html"></iframe>
174
175 *Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-VM-to-Phy VM
176 vhost-user.*
177
178 CSIT test cases used to generate results presented above can be found in CSIT
179 git repository by filtering with specified regex as follows:
180
181 .. code-block:: bash
182
183     $ csit/tests/perf
184     $ grep -E "64B-4t4c-.*vhost.*-pdrdisc" *
185
186     10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
187     10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
188     10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc
189     10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
190     10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
191     10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc
192     10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
193     40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
194