VM vhost Connections ==================== Following sections include Throughput Speedup Analysis for VPP multi- core multi-thread configurations with no Hyper-Threading, specifically for tested 2t2c (2threads, 2cores) and 4t4c scenarios. 1t1c throughput results are used as a reference for reported speedup ratio. Input data used for the graphs comes from Phy-to-Phy 64B performance tests with VM vhost-user, including NDR throughput (zero packet loss) and PDR throughput (<0.5% packet loss). NDR Throughput -------------- VPP NDR 64B packet throughput speedup ratio is presented in the graphs below for 10ge2p1x520, 10ge2p1x710 and 40ge2p1xl710 network interface cards. NIC 10ge2p1x520 ~~~~~~~~~~~~~~~ .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x520-64B-vhost-sel1-tsa-ndrdisc} \label{fig:10ge2p1x520-64B-vhost-sel1-tsa-ndrdisc} \end{figure} *Figure 1a. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized NDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x520-64B-vhost-sel2-tsa-ndrdisc} \label{fig:10ge2p1x520-64B-vhost-sel2-tsa-ndrdisc} \end{figure} *Figure 1b. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized NDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* CSIT source code for the test cases used for above plots can be found in CSIT git repository: .. only:: html .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-(1t1c|2t2c|4t4c)-(eth|ethip4)-.*vhost.*-ndrdisc" 10ge2p1x520*-ndrpdrdisc.robot :shell: .. only:: latex .. code-block:: bash $ cd tests/vpp/perf/vm_vhost $ grep -E "grep -E "64B-(1t1c|2t2c|4t4c)-(eth|ethip4)-.*vhost.*-ndrdisc" 10ge2p1x520*-ndrpdrdisc.robot NIC 10ge2p1x710 ~~~~~~~~~~~~~~~ .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x710-64B-vhost-sel2-tsa-ndrdisc} \label{fig:10ge2p1x710-64B-vhost-sel2-tsa-ndrdisc} \end{figure} *Figure 2. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized NDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* CSIT source code for the test cases used for above plots can be found in CSIT git repository: .. only:: html .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-(1t1c|2t2c|4t4c)-.*vhost.*-ndrdisc" 10ge2p1x710* :shell: .. only:: latex .. code-block:: bash $ cd tests/vpp/perf/vm_vhost $ grep -E "64B-(1t1c|2t2c|4t4c)-.*vhost.*-ndrdisc" 10ge2p1x710* NIC 40ge2p1xl710 ~~~~~~~~~~~~~~~~ .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{40ge2p1xl710-64B-vhost-sel1-tsa-ndrdisc} \label{fig:40ge2p1xl710-64B-vhost-sel1-tsa-ndrdisc} \end{figure} *Figure 3a. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized NDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{40ge2p1xl710-64B-vhost-sel2-tsa-ndrdisc} \label{fig:40ge2p1xl710-64B-vhost-sel2-tsa-ndrdisc} \end{figure} *Figure 3b. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized NDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* CSIT source code for the test cases used for above plots can be found in CSIT git repository: .. only:: html .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-(1t1c|2t2c|4t4c)-.*vhost.*-ndrdisc" 40ge2p1xl710* :shell: .. only:: latex .. code-block:: bash $ cd tests/vpp/perf/vm_vhost $ grep -E "64B-(1t1c|2t2c|4t4c)-.*vhost.*-ndrdisc" 40ge2p1xl710* PDR Throughput -------------- VPP PDR 64B packet throughput speedup ratio is presented in the graphs below for 10ge2p1x520, 10ge2p1x710 and 40ge2p1xl710 network interface cards. NIC 10ge2p1x520 ~~~~~~~~~~~~~~~ .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x520-64B-vhost-sel1-tsa-pdrdisc} \label{fig:10ge2p1x520-64B-vhost-sel1-tsa-pdrdisc} \end{figure} *Figure 4a. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized PDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x520-64B-vhost-sel2-tsa-pdrdisc} \label{fig:10ge2p1x520-64B-vhost-sel2-tsa-pdrdisc} \end{figure} *Figure 4b. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized PDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* CSIT source code for the test cases used for above plots can be found in CSIT git repository: .. only:: html .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-(1t1c|2t2c|4t4c)-(eth|ethip4)-.*vhost.*-pdrdisc" 10ge2p1x520*-ndrpdrdisc.robot :shell: .. only:: latex .. code-block:: bash $ cd tests/vpp/perf/vm_vhost $ grep -E "grep -E "64B-(1t1c|2t2c|4t4c)-(eth|ethip4)-.*vhost.*-pdrdisc" 10ge2p1x520*-ndrpdrdisc.robot NIC 10ge2p1x710 ~~~~~~~~~~~~~~~ .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x710-64B-vhost-sel2-tsa-pdrdisc} \label{fig:10ge2p1x710-64B-vhost-sel2-tsa-pdrdisc} \end{figure} *Figure 5. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized PDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* CSIT source code for the test cases used for above plots can be found in CSIT git repository: .. only:: html .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-(1t1c|2t2c|4t4c)-.*vhost.*-pdrdisc" 10ge2p1x710* :shell: .. only:: latex .. code-block:: bash $ cd tests/vpp/perf/vm_vhost $ grep -E "64B-(1t1c|2t2c|4t4c)-.*vhost.*-pdrdisc" 10ge2p1x710* NIC 40ge2p1xl710 ~~~~~~~~~~~~~~~~ .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{40ge2p1xl710-64B-vhost-sel1-tsa-pdrdisc} \label{fig:40ge2p1xl710-64B-vhost-sel1-tsa-pdrdisc} \end{figure} *Figure 6a. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized PDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* .. raw:: html .. raw:: latex \begin{figure}[H] \centering \graphicspath{{../_build/_static/vpp/}} \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{40ge2p1xl710-64B-vhost-sel2-tsa-pdrdisc} \label{fig:40ge2p1xl710-64B-vhost-sel2-tsa-pdrdisc} \end{figure} *Figure 6b. Throughput Speedup Analysis - Multi-Core Speedup Ratio - Normalized PDR Throughput for Phy-to-Phy VM vhost-user selected TCs.* CSIT source code for the test cases used for above plots can be found in CSIT git repository: .. only:: html .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/vm_vhost && grep -E "64B-(1t1c|2t2c|4t4c)-.*vhost.*-pdrdisc" 40ge2p1xl710* :shell: .. only:: latex .. code-block:: bash $ cd tests/vpp/perf/vm_vhost $ grep -E "64B-(1t1c|2t2c|4t4c)-.*vhost.*-pdrdisc" 40ge2p1xl710*