bcfc2d03c86c3ec746b33a28644eceb9f4108980
[csit.git] / docs / report / vpp_performance_tests / packet_throughput_graphs / vm_vhost.rst
1 VM vhost Connections
2 ====================
3
4 Following sections include summary graphs of VPP Phy-to-VM(s)-to-Phy
5 performance with VM virtio and VPP vhost-user virtual interfaces,
6 including NDR throughput (zero packet loss) and PDR throughput (<0.5%
7 packet loss). Performance is reported for VPP running in multiple
8 configurations of VPP worker thread(s), a.k.a. VPP data plane thread(s),
9 and their physical CPU core(s) placement.
10
11 NDR Throughput
12 ~~~~~~~~~~~~~~
13
14 VPP NDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
15 in the graph below.
16
17 .. raw:: html
18
19     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel1-ndrdisc.html"></iframe>
20
21 .. raw:: latex
22
23     \begin{figure}[H]
24         \centering
25             \graphicspath{{../_build/_static/vpp/}}
26             \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-vhost-sel1-ndrdisc}
27             \label{fig:64B-1t1c-vhost-sel1-ndrdisc}
28     \end{figure}
29
30 *Figure 1a. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM vhost-user
31 selected TCs.*
32
33 .. raw:: html
34
35     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel2-ndrdisc.html"></iframe>
36
37 .. raw:: latex
38
39     \begin{figure}[H]
40         \centering
41             \graphicspath{{../_build/_static/vpp/}}
42             \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-vhost-sel2-ndrdisc}
43             \label{fig:64B-1t1c-vhost-sel2-ndrdisc}
44     \end{figure}
45
46 *Figure 1b. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM
47 vhost-user selected TCs.*
48
49 CSIT source code for the test cases used for above plots can be found in CSIT
50 git repository:
51
52 .. only:: html
53
54    .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-1t1c-.*vhost.*-ndrdisc" *
55       :shell:
56
57 .. only:: latex
58
59    .. code-block:: bash
60
61       $ cd tests/vpp/perf/vm_vhost
62       $ grep -E "64B-1t1c-.*vhost.*-ndrdisc" *
63
64 VPP NDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
65 in the graph below.
66
67 .. raw:: html
68
69     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel1-ndrdisc.html"></iframe>
70
71 .. raw:: latex
72
73     \begin{figure}[H]
74         \centering
75             \graphicspath{{../_build/_static/vpp/}}
76             \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-vhost-sel1-ndrdisc}
77             \label{fig:64B-2t2c-vhost-sel1-ndrdisc}
78     \end{figure}
79
80 *Figure 2a. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM
81 vhost-user selected TCs.*
82
83 .. raw:: html
84
85     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel2-ndrdisc.html"></iframe>
86
87 .. raw:: latex
88
89     \begin{figure}[H]
90         \centering
91             \graphicspath{{../_build/_static/vpp/}}
92             \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-vhost-sel2-ndrdisc}
93             \label{fig:64B-2t2c-vhost-sel2-ndrdisc}
94     \end{figure}
95
96 *Figure 2b. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM
97 vhost-user selected TCs.*
98
99 CSIT source code for the test cases used for above plots can be found in CSIT
100 git repository:
101
102 .. only:: html
103
104    .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-2t2c-.*vhost.*-ndrdisc" *
105       :shell:
106
107 .. only:: latex
108
109    .. code-block:: bash
110
111       $ cd tests/vpp/perf/vm_vhost
112       $ grep -E "64B-2t2c-.*vhost.*-ndrdisc" *
113
114 PDR Throughput
115 ~~~~~~~~~~~~~~
116
117 VPP PDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
118 in the graph below. PDR measured for 0.5% packet loss ratio.
119
120 .. raw:: html
121
122     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel1-pdrdisc.html"></iframe>
123
124 .. raw:: latex
125
126     \begin{figure}[H]
127         \centering
128             \graphicspath{{../_build/_static/vpp/}}
129             \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-vhost-sel1-pdrdisc}
130             \label{fig:64B-1t1c-vhost-sel1-pdrdisc}
131     \end{figure}
132
133 *Figure 3a. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM
134 vhost-user selected TCs.*
135
136 .. raw:: html
137
138     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-vhost-sel2-pdrdisc.html"></iframe>
139
140 .. raw:: latex
141
142     \begin{figure}[H]
143         \centering
144             \graphicspath{{../_build/_static/vpp/}}
145             \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-vhost-sel2-pdrdisc}
146             \label{fig:64B-1t1c-vhost-sel2-pdrdisc}
147     \end{figure}
148
149 *Figure 3b. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM
150 vhost-user selected TCs.*
151
152 CSIT source code for the test cases used for above plots can be found in CSIT
153 git repository:
154
155 .. only:: html
156
157    .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-1t1c-.*vhost.*-pdrdisc" *
158       :shell:
159
160 .. only:: latex
161
162    .. code-block:: bash
163
164       $ cd tests/vpp/perf/vm_vhost
165       $ grep -E "64B-1t1c-.*vhost.*-pdrdisc" *
166
167 VPP PDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
168 in the graph below. PDR measured for 0.5% packet loss ratio.
169
170 .. raw:: html
171
172     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel1-pdrdisc.html"></iframe>
173
174 .. raw:: latex
175
176     \begin{figure}[H]
177         \centering
178             \graphicspath{{../_build/_static/vpp/}}
179             \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-vhost-sel1-pdrdisc}
180             \label{fig:64B-2t2c-vhost-sel1-pdrdisc}
181     \end{figure}
182
183 *Figure 4a. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM
184 vhost-user selected TCs.*
185
186 .. raw:: html
187
188     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-vhost-sel2-pdrdisc.html"></iframe>
189
190 .. raw:: latex
191
192     \begin{figure}[H]
193         \centering
194             \graphicspath{{../_build/_static/vpp/}}
195             \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-vhost-sel2-pdrdisc}
196             \label{fig:64B-2t2c-vhost-sel2-pdrdisc}
197     \end{figure}
198
199 *Figure 4b. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM
200 vhost-user selected TCs.*
201
202 CSIT source code for the test cases used for above plots can be found in CSIT
203 git repository:
204
205 .. only:: html
206
207    .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-2t2c-.*vhost.*-pdrdisc" *
208       :shell:
209
210 .. only:: latex
211
212    .. code-block:: bash
213
214       $ cd tests/vpp/perf/vm_vhost
215       $ grep -E "64B-2t2c-.*vhost.*-pdrdisc" *