X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=docs%2Freport%2Fvpp_performance_tests%2Fpacket_throughput_graphs%2Fvm_vhost.rst;h=20292549740f3536b6bd86c2b64ba8fa1028673a;hp=938e06fa3f0339d5cd62044274d5dba657be47ff;hb=eb5271b56cb94711420a1eb7372b0f4d5f275a40;hpb=8443891dd9915ed3439b0045c0e47935606d5e61 diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst index 938e06fa3f..2029254974 100644 --- a/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/vm_vhost.rst @@ -1,5 +1,5 @@ -VM vhost Connections -==================== +KVM VMs vhost-user +================== Following sections include summary graphs of VPP Phy-to-VM(s)-to-Phy performance with VM virtio and VPP vhost-user virtual interfaces, @@ -8,208 +8,578 @@ packet loss). Performance is reported for VPP running in multiple configurations of VPP worker thread(s), a.k.a. VPP data plane thread(s), and their physical CPU core(s) placement. -NDR Throughput -~~~~~~~~~~~~~~ +CSIT source code for the test cases used for plots can be found in +`CSIT git repository `_. -VPP NDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented -in the graph below. +3n-hsw-x520 +~~~~~~~~~~~ + +64b-1t1c-base_and_scale-l2sw +---------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-ndr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-ndr} + \label{fig:vhost-l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-ndr} + \end{figure} + +.. raw:: html + +
+ +:index:`Throughput: vhost-l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-pdr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-pdr} + \label{fig:vhost-l2sw-3n-hsw-x520-64b-1t1c-base_and_scale-pdr} + \end{figure} + +64b-2t2c-base_and_scale-l2sw +---------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-ndr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-ndr} + \label{fig:vhost-l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-ndr} + \end{figure} + +.. raw:: html + +
+ +:index:`Throughput: vhost-l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-pdr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-pdr} + \label{fig:vhost-l2sw-3n-hsw-x520-64b-2t2c-base_and_scale-pdr} + \end{figure} + +64b-1t1c-base_and_scale-ip4 +--------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-x520-64b-1t1c-base_and_scale-ndr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-x520-64b-1t1c-base_and_scale-ndr} + \label{fig:vhost-ip4-3n-hsw-x520-64b-1t1c-base_and_scale-ndr} + \end{figure} + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-x520-64b-1t1c-base_and_scale-pdr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-x520-64b-1t1c-base_and_scale-pdr} + \label{fig:vhost-ip4-3n-hsw-x520-64b-1t1c-base_and_scale-pdr} + \end{figure} + +64b-2t2c-base_and_scale-ip4 +--------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-x520-64b-2t2c-base_and_scale-ndr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-x520-64b-2t2c-base_and_scale-ndr} + \label{fig:vhost-ip4-3n-hsw-x520-64b-2t2c-base_and_scale-ndr} + \end{figure} + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-x520-64b-2t2c-base_and_scale-pdr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-x520-64b-2t2c-base_and_scale-pdr} + \label{fig:vhost-ip4-3n-hsw-x520-64b-2t2c-base_and_scale-pdr} + \end{figure} + +3n-hsw-x710 +~~~~~~~~~~~ + +64b-1t1c-base_and_scale-l2sw +---------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-ndr` .. raw:: html - + + +



+
.. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} - \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-vhost-sel1-ndrdisc} - \label{fig:64B-1t1c-vhost-sel1-ndrdisc} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-ndr} + \label{fig:vhost-l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-ndr} \end{figure} -*Figure 1a. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM vhost-user -selected TCs.* +.. raw:: html + +
+ +:index:`Throughput: vhost-l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-pdr` .. raw:: html - + + +



+
.. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} - \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-vhost-sel2-ndrdisc} - \label{fig:64B-1t1c-vhost-sel2-ndrdisc} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-pdr} + \label{fig:vhost-l2sw-3n-hsw-x710-64b-1t1c-base_and_scale-pdr} \end{figure} -*Figure 1b. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM -vhost-user selected TCs.* +64b-2t2c-base_and_scale-l2sw +---------------------------- -CSIT source code for the test cases used for above plots can be found in CSIT -git repository: +.. raw:: html + +
-.. only:: html +:index:`Throughput: vhost-l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-ndr` + +.. raw:: html - .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-1t1c-(eth|ethip4)-.*vhost.*-ndrdisc" *0-eth*-*-ndrpdrdisc.robot - :shell: + + +



+
-.. only:: latex +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-ndr} + \label{fig:vhost-l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-ndr} + \end{figure} - .. code-block:: bash +.. raw:: html - $ cd tests/vpp/perf/vm_vhost - $ grep -E "64B-1t1c-(eth|ethip4)-.*vhost.*-pdrdisc" *0-eth*-*-ndrpdrdisc.robot +
-VPP NDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented -in the graph below. +:index:`Throughput: vhost-l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-pdr` .. raw:: html - + + +



+
.. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} - \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-vhost-sel1-ndrdisc} - \label{fig:64B-2t2c-vhost-sel1-ndrdisc} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-pdr} + \label{fig:vhost-l2sw-3n-hsw-x710-64b-2t2c-base_and_scale-pdr} \end{figure} -*Figure 2a. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM -vhost-user selected TCs.* +64b-1t1c-base_and_scale-ip4 +--------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-x710-64b-1t1c-base_and_scale-ndr` .. raw:: html - + + +



+
.. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} - \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-vhost-sel2-ndrdisc} - \label{fig:64B-2t2c-vhost-sel2-ndrdisc} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-x710-64b-1t1c-base_and_scale-ndr} + \label{fig:vhost-ip4-3n-hsw-x710-64b-1t1c-base_and_scale-ndr} \end{figure} -*Figure 2b. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM -vhost-user selected TCs.* +.. raw:: html -CSIT source code for the test cases used for above plots can be found in CSIT -git repository: +
-.. only:: html +:index:`Throughput: vhost-ip4-3n-hsw-x710-64b-1t1c-base_and_scale-pdr` - .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-2t2c-(eth|ethip4)-.*vhost.*-ndrdisc" *0-eth*-*-ndrpdrdisc.robot - :shell: +.. raw:: html -.. only:: latex + + +



+
- .. code-block:: bash +.. raw:: latex - $ cd tests/vpp/perf/vm_vhost - $ grep -E "64B-2t2c-(eth|ethip4)-.*vhost.*-pdrdisc" *0-eth*-*-ndrpdrdisc.robot + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-x710-64b-1t1c-base_and_scale-pdr} + \label{fig:vhost-ip4-3n-hsw-x710-64b-1t1c-base_and_scale-pdr} + \end{figure} -PDR Throughput -~~~~~~~~~~~~~~ +64b-2t2c-base_and_scale-ip4 +--------------------------- -VPP PDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented -in the graph below. PDR measured for 0.5% packet loss ratio. +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-x710-64b-2t2c-base_and_scale-ndr` .. raw:: html - + + +



+
.. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} - \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-vhost-sel1-pdrdisc} - \label{fig:64B-1t1c-vhost-sel1-pdrdisc} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-x710-64b-2t2c-base_and_scale-ndr} + \label{fig:vhost-ip4-3n-hsw-x710-64b-2t2c-base_and_scale-ndr} \end{figure} -*Figure 3a. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM -vhost-user selected TCs.* +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-x710-64b-2t2c-base_and_scale-pdr` .. raw:: html - + + +



+
.. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} - \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-vhost-sel2-pdrdisc} - \label{fig:64B-1t1c-vhost-sel2-pdrdisc} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-x710-64b-2t2c-base_and_scale-pdr} + \label{fig:vhost-ip4-3n-hsw-x710-64b-2t2c-base_and_scale-pdr} \end{figure} -*Figure 3b. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM -vhost-user selected TCs.* +3n-hsw-xl710 +~~~~~~~~~~~~ -CSIT source code for the test cases used for above plots can be found in CSIT -git repository: +64b-1t1c-base_and_scale-l2sw +---------------------------- -.. only:: html +.. raw:: html - .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-1t1c-(eth|ethip4)-.*vhost.*-pdrdisc" *0-eth*-*-ndrpdrdisc.robot - :shell: +
-.. only:: latex +:index:`Throughput: vhost-l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr` - .. code-block:: bash +.. raw:: html - $ cd tests/vpp/perf/vm_vhost - $ grep -E "64B-1t1c-(eth|ethip4)-.*vhost.*-pdrdisc" *0-eth*-*-ndrpdrdisc.robot + + +



+
-VPP PDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented -in the graph below. PDR measured for 0.5% packet loss ratio. +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr} + \label{fig:vhost-l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr} + \end{figure} .. raw:: html - +
+ +:index:`Throughput: vhost-l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr` + +.. raw:: html + + + +



+
.. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} - \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-vhost-sel1-pdrdisc} - \label{fig:64B-2t2c-vhost-sel1-pdrdisc} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr} + \label{fig:vhost-l2sw-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr} \end{figure} -*Figure 4a. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM -vhost-user selected TCs.* +64b-2t2c-base_and_scale-l2sw +---------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr` .. raw:: html - + + +



+
.. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} - \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-vhost-sel2-pdrdisc} - \label{fig:64B-2t2c-vhost-sel2-pdrdisc} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr} + \label{fig:vhost-l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr} \end{figure} -*Figure 4b. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM -vhost-user selected TCs.* +.. raw:: html -CSIT source code for the test cases used for above plots can be found in CSIT -git repository: +
-.. only:: html +:index:`Throughput: vhost-l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr` - .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-2t2c-(eth|ethip4)-.*vhost.*-pdrdisc" *0-eth*-*-ndrpdrdisc.robot - :shell: +.. raw:: html -.. only:: latex + + +



+
- .. code-block:: bash +.. raw:: latex - $ cd tests/vpp/perf/vm_vhost - $ grep -E "64B-2t2c-(eth|ethip4)-.*vhost.*-pdrdisc" *0-eth*-*-ndrpdrdisc.robot + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr} + \label{fig:vhost-l2sw-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr} + \end{figure} + +64b-1t1c-base_and_scale-ip4 +--------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr} + \label{fig:vhost-ip4-3n-hsw-xl710-64b-1t1c-base_and_scale-ndr} + \end{figure} + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr} + \label{fig:vhost-ip4-3n-hsw-xl710-64b-1t1c-base_and_scale-pdr} + \end{figure} + +64b-2t2c-base_and_scale-ip4 +--------------------------- + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr} + \label{fig:vhost-ip4-3n-hsw-xl710-64b-2t2c-base_and_scale-ndr} + \end{figure} + +.. raw:: html + +
+ +:index:`Throughput: vhost-ip4-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr` + +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{vhost-ip4-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr} + \label{fig:vhost-ip4-3n-hsw-xl710-64b-2t2c-base_and_scale-pdr} + \end{figure}