-Container Orchestrated Topologies
-=================================
+K8s Container Memif
+===================
Following sections include Throughput Speedup Analysis for VPP multi-
core multi-thread configurations with no Hyper-Threading, specifically
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 <https://git.fd.io/csit/tree/tests/kubernetes/perf/container_memif?h=rls1807>`_.
-VPP NDR 64B packet throughput speedup ratio is presented in the graphs
-below for 10ge2p1x520 and 10ge2p1x710 network interface cards.
+3n-hsw-x520
+~~~~~~~~~~~
-NIC 10ge2p1x520
-~~~~~~~~~~~~~~~
+64b-base_and_scale
+------------------
.. raw:: html
- <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/10ge2p1x520-64B-container-orchestrated-tsa-ndrdisc.html"></iframe>
+ <center><b>
+
+:index:`Speedup: k8s-memif-3n-hsw-x520-64b-base_and_scale-ndr`
+
+.. raw:: html
+
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x520-64b-base_and_scale-ndr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x520-64b-base_and_scale-ndr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x520-64b-base_and_scale-ndr-tsa}
+ \end{figure}
+
+.. raw:: html
+
+ <center><b>
+
+:index:`Speedup: k8s-memif-3n-hsw-x520-64b-base_and_scale-pdr`
+
+.. raw:: html
+
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x520-64b-base_and_scale-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
.. raw:: latex
\begin{figure}[H]
\centering
\graphicspath{{../_build/_static/vpp/}}
- \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x520-64B-container-orchestrated-tsa-ndrdisc}
- \label{fig:10ge2p1x520-64B-container-orchestrated-tsa-ndrdisc}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x520-64b-base_and_scale-pdr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x520-64b-base_and_scale-pdr-tsa}
\end{figure}
-*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching (base).*
+3n-hsw-x710
+~~~~~~~~~~~
-CSIT source code for the test cases used for above plots can be found in CSIT
-git repository:
+64b-base_and_scale
+------------------
-.. only:: html
+.. raw:: html
- .. program-output:: cd ../../../../../ && set +x && cd tests/kubernetes/perf/container_memif && grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*ndrdisc" 10ge2p1x520*
- :shell:
+ <center><b>
-.. only:: latex
+:index:`Speedup: k8s-memif-3n-hsw-x710-64b-base_and_scale-ndr`
- .. code-block:: bash
+.. raw:: html
- $ cd tests/kubernetes/perf/container_memif
- $ grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*ndrdisc" 10ge2p1x520*
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x710-64b-base_and_scale-ndr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
-NIC 10ge2p1x710
-~~~~~~~~~~~~~~~
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x710-64b-base_and_scale-ndr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x710-64b-base_and_scale-ndr-tsa}
+ \end{figure}
.. raw:: html
- <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/10ge2p1x710-64B-container-orchestrated-tsa-ndrdisc.html"></iframe>
+ <center><b>
+
+:index:`Speedup: k8s-memif-3n-hsw-x710-64b-base_and_scale-pdr`
+
+.. raw:: html
+
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x710-64b-base_and_scale-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
.. raw:: latex
\begin{figure}[H]
\centering
\graphicspath{{../_build/_static/vpp/}}
- \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x710-64B-container-orchestrated-tsa-ndrdisc}
- \label{fig:10ge2p1x710-64B-container-orchestrated-tsa-ndrdisc}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x710-64b-base_and_scale-pdr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x710-64b-base_and_scale-pdr-tsa}
\end{figure}
-*Figure 2. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching (base).*
+3n-hsw-xl710
+~~~~~~~~~~~~
-CSIT source code for the test cases used for above plots can be found in CSIT
-git repository:
+64b-base_and_scale
+------------------
-.. only:: html
+.. raw:: html
+
+ <center><b>
- .. program-output:: cd ../../../../../ && set +x && cd tests/kubernetes/perf/container_memif && grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*ndrdisc" 10ge2p1x710*
- :shell:
+:index:`Speedup: k8s-memif-3n-hsw-xl710-64b-base_and_scale-ndr`
+
+.. raw:: html
-.. only:: latex
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-xl710-64b-base_and_scale-ndr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
- .. code-block:: bash
+.. raw:: latex
- $ cd tests/kubernetes/perf/container_memif
- $ grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*ndrdisc" 10ge2p1x710*
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-xl710-64b-base_and_scale-ndr-tsa}
+ \label{fig:k8s-memif-3n-hsw-xl710-64b-base_and_scale-ndr-tsa}
+ \end{figure}
-PDR Throughput
---------------
+.. raw:: html
-VPP PDR 64B packet throughput speedup ratio is presented in the graphs
-below for 10ge2p1x520 and 10ge2p1x710 network interface cards.
+ <center><b>
-NIC 10ge2p1x520
-~~~~~~~~~~~~~~~
+:index:`Speedup: k8s-memif-3n-hsw-xl710-64b-base_and_scale-pdr`
.. raw:: html
- <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/10ge2p1x520-64B-container-orchestrated-tsa-pdrdisc.html"></iframe>
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-xl710-64b-base_and_scale-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
.. raw:: latex
\begin{figure}[H]
\centering
\graphicspath{{../_build/_static/vpp/}}
- \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x520-64B-container-orchestrated-tsa-pdrdisc}
- \label{fig:10ge2p1x520-64B-container-orchestrated-tsa-pdrdisc}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-xl710-64b-base_and_scale-pdr-tsa}
+ \label{fig:k8s-memif-3n-hsw-xl710-64b-base_and_scale-pdr-tsa}
\end{figure}
-*Figure 3. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching (base).*
+3n-skx-x710
+~~~~~~~~~~~
+
+64b-base_and_scale
+------------------
-CSIT source code for the test cases used for above plots can be found in CSIT
-git repository:
+.. raw:: html
-.. only:: html
+ <center><b>
- .. program-output:: cd ../../../../../ && set +x && cd tests/kubernetes/perf/container_memif && grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*pdrdisc" 10ge2p1x520*
- :shell:
+:index:`Speedup: k8s-memif-3n-skx-xl710-64b-base_and_scale-ndr`
-.. only:: latex
+.. raw:: html
+
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-skx-xl710-64b-base_and_scale-ndr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-skx-xl710-64b-base_and_scale-ndr-tsa}
+ \label{fig:k8s-memif-3n-skx-xl710-64b-base_and_scale-ndr-tsa}
+ \end{figure}
- .. code-block:: bash
+.. raw:: html
- $ cd tests/kubernetes/perf/container_memif
- $ grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*pdrdisc" 10ge2p1x520*
+ <center><b>
-NIC 10ge2p1x710
-~~~~~~~~~~~~~~~
+:index:`Speedup: k8s-memif-3n-skx-xl710-64b-base_and_scale-pdr`
.. raw:: html
- <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/10ge2p1x710-64B-container-orchestrated-tsa-pdrdisc.html"></iframe>
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-skx-xl710-64b-base_and_scale-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
.. raw:: latex
\begin{figure}[H]
\centering
\graphicspath{{../_build/_static/vpp/}}
- \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{10ge2p1x710-64B-container-orchestrated-tsa-pdrdisc}
- \label{fig:10ge2p1x710-64B-container-orchestrated-tsa-pdrdisc}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-skx-xl710-64b-base_and_scale-pdr-tsa}
+ \label{fig:k8s-memif-3n-skx-xl710-64b-base_and_scale-pdr-tsa}
\end{figure}
-*Figure 4. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching (base).*
+3n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-base_and_scale
+------------------
-CSIT source code for the test cases used for above plots can be found in CSIT
-git repository:
+.. raw:: html
-.. only:: html
+ <center><b>
- .. program-output:: cd ../../../../../ && set +x && cd tests/kubernetes/perf/container_memif && grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*pdrdisc" 10ge2p1x710*
- :shell:
+:index:`Speedup: k8s-memif-3n-skx-xxv710-64b-base_and_scale-ndr`
+
+.. raw:: html
-.. only:: latex
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-skx-xxv710-64b-base_and_scale-ndr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
- .. code-block:: bash
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-skx-xxv710-64b-base_and_scale-ndr-tsa}
+ \label{fig:k8s-memif-3n-skx-xxv710-64b-base_and_scale-ndr-tsa}
+ \end{figure}
+
+.. raw:: html
+
+ <center><b>
+
+:index:`Speedup: k8s-memif-3n-skx-xxv710-64b-base_and_scale-pdr`
+
+.. raw:: html
- $ cd tests/kubernetes/perf/container_memif
- $ grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*pdrdisc" 10ge2p1x710*
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-skx-xxv710-64b-base_and_scale-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-skx-xxv710-64b-base_and_scale-pdr-tsa}
+ \label{fig:k8s-memif-3n-skx-xxv710-64b-base_and_scale-pdr-tsa}
+ \end{figure}
+
+2n-skx-x710
+~~~~~~~~~~~
+
+64b-base_and_scale
+------------------
+
+.. raw:: html
+
+ <center><b>
+
+:index:`Speedup: k8s-memif-2n-skx-x710-64b-base_and_scale-ndr`
+
+.. raw:: html
+
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-2n-skx-x710-64b-base_and_scale-ndr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-2n-skx-x710-64b-base_and_scale-ndr-tsa}
+ \label{fig:k8s-memif-2n-skx-x710-64b-base_and_scale-ndr-tsa}
+ \end{figure}
+
+.. raw:: html
+
+ <center><b>
+
+:index:`Speedup: k8s-memif-2n-skx-x710-64b-base_and_scale-pdr`
+
+.. raw:: html
+
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-2n-skx-x710-64b-base_and_scale-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-2n-skx-x710-64b-base_and_scale-pdr-tsa}
+ \label{fig:k8s-memif-2n-skx-x710-64b-base_and_scale-pdr-tsa}
+ \end{figure}
+
+2n-skx-xxv710
+~~~~~~~~~~~~~
+
+64b-base_and_scale
+------------------
+
+.. raw:: html
+
+ <center><b>
+
+:index:`Speedup: k8s-memif-2n-skx-xxv710-64b-base_and_scale-ndr`
+
+.. raw:: html
+
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-2n-skx-xxv710-64b-base_and_scale-ndr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-2n-skx-xxv710-64b-base_and_scale-ndr-tsa}
+ \label{fig:k8s-memif-2n-skx-xxv710-64b-base_and_scale-ndr-tsa}
+ \end{figure}
+
+.. raw:: html
+
+ <center><b>
+
+:index:`Speedup: k8s-memif-2n-skx-xxv710-64b-base_and_scale-pdr`
+
+.. raw:: html
+
+ </b>
+ <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-2n-skx-xxv710-64b-base_and_scale-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-2n-skx-xxv710-64b-base_and_scale-pdr-tsa}
+ \label{fig:k8s-memif-2n-skx-xxv710-64b-base_and_scale-pdr-tsa}
+ \end{figure}