X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=docs%2Freport%2Fvpp_performance_tests%2Fpacket_throughput_graphs%2Fipsec.rst;h=cc8e5c0972138f281357ec0b31a8c17de40cbd81;hb=8243ea78854683f2f80da53d8f197f10316e4801;hp=6f56cae13494b05b37e9fa528d4dfe9ee53dd67d;hpb=55c99e66ca90a80f50e897b5b1c8db6063bb2448;p=csit.git diff --git a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipsec.rst b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipsec.rst index 6f56cae134..cc8e5c0972 100644 --- a/docs/report/vpp_performance_tests/packet_throughput_graphs/ipsec.rst +++ b/docs/report/vpp_performance_tests/packet_throughput_graphs/ipsec.rst @@ -1,139 +1,365 @@ -Crypto in hardware: IP4FWD, IP6FWD -================================== -Following sections provide a summary of VPP Phy-to-Phy IPSEC HW -performance illustrating NDR throughput (zero packet loss) and PDR throughput -(<0.5% 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. +.. raw:: latex -*Title of each graph* is a regex (regular expression) matching all plotted -throughput test cases, *X-axis labels* are indeces of csit-vpp-perf-1704 jobs -that created result output files used as data sources for the graph, -*Y-axis labels* are measured Packets Per Second [pps] values, and the *graph -legend* identifes the plotted test suites. + \clearpage -.. note:: +.. raw:: html + + + +IPSec IPv4 Routing +================== + +Following sections include summary graphs of VPP Phy-to-Phy performance with +IPSec encryption used in combination with IPv4 routed-forwarding, +including NDR throughput (zero packet loss) and PDR throughput (<0.5% +packet loss). VPP IPSec encryption is accelerated using DPDK cryptodev +library driving Intel Quick Assist (QAT) crypto PCIe hardware cards. +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. + +CSIT source code for the test cases used for plots can be found in +`CSIT git repository `_. + +3n-hsw-xl710 +~~~~~~~~~~~~ + +64b-1t1c-base +------------- + +.. raw:: html + +
+ +:index:`Packet Throughput: ipsec-3n-hsw-xl710-64b-1t1c-base-ndr` + +.. raw:: html + + + +



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



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



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



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ipsec-3n-hsw-xl710-64b-2t2c-base-pdr} + \label{fig:ipsec-3n-hsw-xl710-64b-2t2c-base-pdr} + \end{figure} + +64b-1t1c-scale +-------------- - Data sources for reported test results: i) FD.io test executor jobs - `csit-vpp-perf-1704-all - `_ , - ii) archived FD.io jobs test result `output files - <../../_static/archive/>`_. +.. raw:: html + +
+ +:index:`Packet Throughput: ipsec-3n-hsw-xl710-64b-1t1c-scale-ndr` + +.. raw:: html + + + +



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



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ipsec-3n-hsw-xl710-64b-1t1c-scale-pdr} + \label{fig:ipsec-3n-hsw-xl710-64b-1t1c-scale-pdr} + \end{figure} + +.. raw:: latex + + \clearpage + +64b-2t2c-scale +-------------- + +.. raw:: html -NDR Throughput -~~~~~~~~~~~~~~ +
-VPP NDR Throughput - running in configuration of **one worker thread (1t) on -one physical core (1c)** - is presented in the figure below. +:index:`Packet Throughput: ipsec-3n-hsw-xl710-64b-2t2c-scale-ndr` .. raw:: html - + + +



+
+ +.. raw:: latex -*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPSEC HW.* + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ipsec-3n-hsw-xl710-64b-2t2c-scale-ndr} + \label{fig:ipsec-3n-hsw-xl710-64b-2t2c-scale-ndr} + \end{figure} -CSIT test cases used to generate results presented above can be found in CSIT -git repository by filtering with specified regex as follows: +.. raw:: html -.. code-block:: bash +
- $ csit/tests/perf - $ grep -E "64B-1t1c-.*ipsec*" * +.. raw:: latex - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-aes-gcm-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-aes-gcm-ndrpdrdisc.robot:| tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-cbc-sha1-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-cbc-sha1-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-cbc-sha1-ndrpdrdisc.robot:| tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-cbc-sha1-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-aes-gcm-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsecscale1ip4-ip4base-tunnels-aes-gcm-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-aes-gcm-ndrpdrdisc.robot:| tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-tunnels-aes-gcm-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-cbc-sha1-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsecscale1ip4-ip4base-tunnels-cbc-sha1-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-cbc-sha1-ndrpdrdisc.robot:| tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-tunnels-cbc-sha1-ndrdisc - 40ge2p1xl710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrdisc + \clearpage -VPP NDR Throughput - running in configuration of **two worker threads (2t) on -two physical cores (2c)** - is presented in the figure below. +:index:`Packet Throughput: ipsec-3n-hsw-xl710-64b-2t2c-scale-pdr` .. raw:: html - + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ipsec-3n-hsw-xl710-64b-2t2c-scale-pdr} + \label{fig:ipsec-3n-hsw-xl710-64b-2t2c-scale-pdr} + \end{figure} + +64b-1t1c-sw +----------- -*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPSEC HW.* +.. raw:: html -CSIT test cases used to generate results presented above can be found in CSIT -git repository by filtering with specified regex as follows: +
-.. code-block:: bash +:index:`Packet Throughput: ipsec-3n-hsw-xl710-64b-1t1c-sw-ndr` - $ csit/tests/perf - $ grep -E "64B-2t2c-.*ipsec*" * +.. raw:: html - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-aes-gcm-ndrpdrdisc.robot:| tc13-64B-2t2c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-aes-gcm-ndrpdrdisc.robot:| tc15-64B-2t2c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-cbc-sha1-ndrpdrdisc.robot:| tc13-64B-2t2c-ethip4ipsecscale1ip4-ip4base-interfaces-cbc-sha1-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-cbc-sha1-ndrpdrdisc.robot:| tc15-64B-2t2c-ethip4ipsecscale1000ip4-ip4base-interfaces-cbc-sha1-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-aes-gcm-ndrpdrdisc.robot:| tc13-64B-2t2c-ethip4ipsecscale1ip4-ip4base-tunnels-aes-gcm-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-aes-gcm-ndrpdrdisc.robot:| tc15-64B-2t2c-ethip4ipsecscale1000ip4-ip4base-tunnels-aes-gcm-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-cbc-sha1-ndrpdrdisc.robot:| tc13-64B-2t2c-ethip4ipsecscale1ip4-ip4base-tunnels-cbc-sha1-ndrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-cbc-sha1-ndrpdrdisc.robot:| tc15-64B-2t2c-ethip4ipsecscale1000ip4-ip4base-tunnels-cbc-sha1-ndrdisc - 40ge2p1xl710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrdisc + + +



+
-PDR Throughput -~~~~~~~~~~~~~~ +.. raw:: latex -VPP PDR Throughput - running in configuration of **one worker thread (1t) on one -physical core (1c)** - is presented in the figure below. PDR at below 0.5% -packet loss ratio. + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ipsec-3n-hsw-xl710-64b-1t1c-sw-ndr} + \label{fig:ipsec-3n-hsw-xl710-64b-1t1c-sw-ndr} + \end{figure} .. raw:: html - +
+ +.. raw:: latex -*Figure 3. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPSEC HW.* + \clearpage + +:index:`Packet Throughput: ipsec-3n-hsw-xl710-64b-1t1c-sw-pdr` + +.. raw:: html -CSIT test cases used to generate results presented above can be found in CSIT -git repository by filtering with specified regex as follows: + + +



+
-.. code-block:: bash +.. raw:: latex - $ csit/tests/perf - $ grep -E "64B-1t1c-.*ipsec*" * + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ipsec-3n-hsw-xl710-64b-1t1c-sw-pdr} + \label{fig:ipsec-3n-hsw-xl710-64b-1t1c-sw-pdr} + \end{figure} - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-aes-gcm-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-aes-gcm-ndrpdrdisc.robot:| tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-cbc-sha1-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-cbc-sha1-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-cbc-sha1-ndrpdrdisc.robot:| tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-cbc-sha1-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-aes-gcm-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsecscale1ip4-ip4base-tunnels-aes-gcm-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-aes-gcm-ndrpdrdisc.robot:| tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-tunnels-aes-gcm-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-cbc-sha1-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsecscale1ip4-ip4base-tunnels-cbc-sha1-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-cbc-sha1-ndrpdrdisc.robot:| tc03-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-tunnels-cbc-sha1-pdrdisc - 40ge2p1xl710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-pdrdisc +.. raw:: latex + \clearpage -VPP PDR Throughput - running in configuration of **two worker threads (2t) on -two physical cores (2c)** - is presented in the figure below. +64b-2t2c-sw +----------- .. raw:: html - +
-*Figure 4. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPSEC HW.* +:index:`Packet Throughput: ipsec-3n-hsw-xl710-64b-2t2c-sw-ndr` -CSIT test cases used to generate results presented above can be found in CSIT -git repository by filtering with specified regex as follows: +.. raw:: html + + + +



+
+ +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ipsec-3n-hsw-xl710-64b-2t2c-sw-ndr} + \label{fig:ipsec-3n-hsw-xl710-64b-2t2c-sw-ndr} + \end{figure} + +.. raw:: html -.. code-block:: bash +
+ +.. raw:: latex + + \clearpage + +:index:`Packet Throughput: ipsec-3n-hsw-xl710-64b-2t2c-sw-pdr` + +.. raw:: html - $ csit/tests/perf - $ grep -E "64B-1t1c-.*ipsec*" * + + +



+
- 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-aes-gcm-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-aes-gcm-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-aes-gcm-ndrpdrdisc.robot:| tc04-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-aes-gcm-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-cbc-sha1-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4ipsecscale1ip4-ip4base-interfaces-cbc-sha1-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-interfaces-cbc-sha1-ndrpdrdisc.robot:| tc04-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-interfaces-cbc-sha1-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-aes-gcm-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4ipsecscale1ip4-ip4base-tunnels-aes-gcm-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-aes-gcm-ndrpdrdisc.robot:| tc04-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-tunnels-aes-gcm-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-cbc-sha1-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4ipsecscale1ip4-ip4base-tunnels-cbc-sha1-pdrdisc - 40ge2p1xl710-ethip4ipsecscaleip4-ip4base-tunnels-cbc-sha1-ndrpdrdisc.robot:| tc04-64B-1t1c-ethip4ipsecscale1000ip4-ip4base-tunnels-cbc-sha1-pdrdisc - 40ge2p1xl710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4ipsectptlispgpe-ip4base-cbc-sha1-pdrdisc +.. raw:: latex + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/vpp/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{ipsec-3n-hsw-xl710-64b-2t2c-sw-pdr} + \label{fig:ipsec-3n-hsw-xl710-64b-2t2c-sw-pdr} + \end{figure}