-Container Orchestrated Topologies
-=================================
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <script type="text/javascript">
+
+ function getDocHeight(doc) {
+ doc = doc || document;
+ var body = doc.body, html = doc.documentElement;
+ var height = Math.max( body.scrollHeight, body.offsetHeight,
+ html.clientHeight, html.scrollHeight, html.offsetHeight );
+ return height;
+ }
+
+ function setIframeHeight(id) {
+ var ifrm = document.getElementById(id);
+ var doc = ifrm.contentDocument? ifrm.contentDocument:
+ ifrm.contentWindow.document;
+ ifrm.style.visibility = 'hidden';
+ ifrm.style.height = "10px"; // reset to minimal height ...
+ // IE opt. for bing/msn needs a bit added or scrollbar appears
+ ifrm.style.height = getDocHeight( doc ) + 4 + "px";
+ ifrm.style.visibility = 'visible';
+ }
+
+ </script>
+
+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=rls1810>`_.
-VPP NDR 64B packet throughput speedup ratio is presented in the graphs
-below for 10ge2p1x520 and 10ge2p1x710 network interface cards.
+.. raw:: latex
+
+ \clearpage
+
+3n-hsw-x520
+~~~~~~~~~~~
-NIC 10ge2p1x520
-~~~~~~~~~~~~~~~
+64b-base_and_scale-l2xc
+-----------------------
.. 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 Multi-core: k8s-memif-3n-hsw-x520-64b-base_and_scale-l2xc-ndr`
+
+.. raw:: html
+
+ </b>
+ <iframe id="ifrm01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x520-64b-base_and_scale-l2xc-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]{10ge2p1x520-64B-container-orchestrated-tsa-ndrdisc}
- \label{fig:10ge2p1x520-64B-container-orchestrated-tsa-ndrdisc}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x520-64b-base_and_scale-l2xc-ndr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x520-64b-base_and_scale-l2xc-ndr-tsa}
\end{figure}
-*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching (base).*
+.. raw:: html
-CSIT source code for the test cases used for above plots can be found in CSIT
-git repository:
+ <center><b>
-.. only:: html
+.. raw:: latex
- .. 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:
+ \clearpage
-.. only:: latex
+:index:`Speedup Multi-core: k8s-memif-3n-hsw-x520-64b-base_and_scale-l2xc-pdr`
- .. code-block:: bash
+.. raw:: html
+
+ </b>
+ <iframe id="ifrm02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x520-64b-base_and_scale-l2xc-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x520-64b-base_and_scale-l2xc-pdr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x520-64b-base_and_scale-l2xc-pdr-tsa}
+ \end{figure}
- $ cd tests/kubernetes/perf/container_memif
- $ grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*ndrdisc" 10ge2p1x520*
+.. raw:: latex
+
+ \clearpage
-NIC 10ge2p1x710
-~~~~~~~~~~~~~~~
+64b-base_and_scale-l2bd
+-----------------------
.. 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 Multi-core: k8s-memif-3n-hsw-x520-64b-base_and_scale-l2bd-ndr`
+
+.. raw:: html
+
+ </b>
+ <iframe id="ifrm03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x520-64b-base_and_scale-l2bd-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]{10ge2p1x710-64B-container-orchestrated-tsa-ndrdisc}
- \label{fig:10ge2p1x710-64B-container-orchestrated-tsa-ndrdisc}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x520-64b-base_and_scale-l2bd-ndr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x520-64b-base_and_scale-l2bd-ndr-tsa}
\end{figure}
-*Figure 2. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching (base).*
+.. raw:: html
+
+ <center><b>
+
+.. raw:: latex
-CSIT source code for the test cases used for above plots can be found in CSIT
-git repository:
+ \clearpage
-.. only:: html
+:index:`Speedup Multi-core: k8s-memif-3n-hsw-x520-64b-base_and_scale-l2bd-pdr`
- .. 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:
+.. raw:: html
-.. only:: latex
+ </b>
+ <iframe id="ifrm04" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x520-64b-base_and_scale-l2bd-pdr-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 0cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x520-64b-base_and_scale-l2bd-pdr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x520-64b-base_and_scale-l2bd-pdr-tsa}
+ \end{figure}
- $ cd tests/kubernetes/perf/container_memif
- $ grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*ndrdisc" 10ge2p1x710*
+.. raw:: latex
-PDR Throughput
---------------
+ \clearpage
-VPP PDR 64B packet throughput speedup ratio is presented in the graphs
-below for 10ge2p1x520 and 10ge2p1x710 network interface cards.
+3n-hsw-x710
+~~~~~~~~~~~
-NIC 10ge2p1x520
-~~~~~~~~~~~~~~~
+64b-base_and_scale-l2xc
+-----------------------
.. raw:: html
- <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/10ge2p1x520-64B-container-orchestrated-tsa-pdrdisc.html"></iframe>
+ <center><b>
+
+:index:`Speedup Multi-core: k8s-memif-3n-hsw-x710-64b-base_and_scale-l2xc-ndr`
+
+.. raw:: html
+
+ </b>
+ <iframe id="ifrm05" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x710-64b-base_and_scale-l2xc-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]{10ge2p1x520-64B-container-orchestrated-tsa-pdrdisc}
- \label{fig:10ge2p1x520-64B-container-orchestrated-tsa-pdrdisc}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x710-64b-base_and_scale-l2xc-ndr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x710-64b-base_and_scale-l2xc-ndr-tsa}
\end{figure}
-*Figure 3. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching (base).*
+.. raw:: html
-CSIT source code for the test cases used for above plots can be found in CSIT
-git repository:
+ <center><b>
-.. only:: html
+.. raw:: latex
- .. 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:
+ \clearpage
-.. only:: latex
+:index:`Speedup Multi-core: k8s-memif-3n-hsw-x710-64b-base_and_scale-l2xc-pdr`
- .. 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*
+ </b>
+ <iframe id="ifrm06" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x710-64b-base_and_scale-l2xc-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
-NIC 10ge2p1x710
-~~~~~~~~~~~~~~~
+.. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x710-64b-base_and_scale-l2xc-pdr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x710-64b-base_and_scale-l2xc-pdr-tsa}
+ \end{figure}
+
+64b-base_and_scale-l2bd
+-----------------------
.. raw:: html
- <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/10ge2p1x710-64B-container-orchestrated-tsa-pdrdisc.html"></iframe>
+ <center><b>
+
+:index:`Speedup Multi-core: k8s-memif-3n-hsw-x710-64b-base_and_scale-l2bd-ndr`
+
+.. raw:: html
+
+ </b>
+ <iframe id="ifrm07" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x710-64b-base_and_scale-l2bd-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]{10ge2p1x710-64B-container-orchestrated-tsa-pdrdisc}
- \label{fig:10ge2p1x710-64B-container-orchestrated-tsa-pdrdisc}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x710-64b-base_and_scale-l2bd-ndr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x710-64b-base_and_scale-l2bd-ndr-tsa}
\end{figure}
-*Figure 4. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
-Switching (base).*
+.. raw:: html
+
+ <center><b>
-CSIT source code for the test cases used for above plots can be found in CSIT
-git repository:
+.. raw:: latex
-.. only:: html
+ \clearpage
- .. 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 Multi-core: k8s-memif-3n-hsw-x710-64b-base_and_scale-l2bd-pdr`
-.. only:: latex
+.. raw:: html
- .. code-block:: bash
+ </b>
+ <iframe id="ifrm08" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/vpp/k8s-memif-3n-hsw-x710-64b-base_and_scale-l2bd-pdr-tsa.html"></iframe>
+ <p><br><br></p>
+ </center>
+
+.. raw:: latex
- $ cd tests/kubernetes/perf/container_memif
- $ grep -E "64B-(1t1c|2t2c|4t4c)-(eth|dot1q|dot1ad)-[1-9]drc(l2xcbase|l2bdbasemaclrn)-.*pdrdisc" 10ge2p1x710*
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_build/_static/vpp/}}
+ \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{k8s-memif-3n-hsw-x710-64b-base_and_scale-l2bd-pdr-tsa}
+ \label{fig:k8s-memif-3n-hsw-x710-64b-base_and_scale-l2bd-pdr-tsa}
+ \end{figure}