diff options
10 files changed, 323 insertions, 9 deletions
diff --git a/docs/report/detailed_test_results/dpdk_performance_results/index.rst b/docs/report/detailed_test_results/dpdk_performance_results/index.rst index c9c3fcd33a..597006a990 100644 --- a/docs/report/detailed_test_results/dpdk_performance_results/index.rst +++ b/docs/report/detailed_test_results/dpdk_performance_results/index.rst @@ -6,6 +6,7 @@ DPDK Throughput ../dpdk_performance_results_3n_hsw/index ../dpdk_performance_results_2n_dnv/index ../dpdk_performance_results_3n_dnv/index + ../dpdk_performance_results_3n_tsh/index .. ../dpdk_performance_results_2n_skx/index diff --git a/docs/report/detailed_test_results/dpdk_performance_results_3n_tsh/index.rst b/docs/report/detailed_test_results/dpdk_performance_results_3n_tsh/index.rst new file mode 100644 index 0000000000..50f4423f00 --- /dev/null +++ b/docs/report/detailed_test_results/dpdk_performance_results_3n_tsh/index.rst @@ -0,0 +1,12 @@ +3n-tsh +------ + +.. note:: + + Data sources for reported test results: i) `FD.io test executor dpdk + performance job 3n-tsh`_, ii) archived FD.io jobs test result `output files + <../../_static/archive/>`_. + +.. toctree:: + + dpdk_performance_results_3n_tsh diff --git a/docs/report/dpdk_performance_tests/hdrh_packet_latency_by_percentile_graphs/3n_tsh.rst b/docs/report/dpdk_performance_tests/hdrh_packet_latency_by_percentile_graphs/3n_tsh.rst new file mode 100644 index 0000000000..7fe42625f7 --- /dev/null +++ b/docs/report/dpdk_performance_tests/hdrh_packet_latency_by_percentile_graphs/3n_tsh.rst @@ -0,0 +1,3 @@ +3n-tsh +====== + diff --git a/docs/report/dpdk_performance_tests/packet_latency/3n-tsh-x520.rst b/docs/report/dpdk_performance_tests/packet_latency/3n-tsh-x520.rst new file mode 100644 index 0000000000..5446bc3acd --- /dev/null +++ b/docs/report/dpdk_performance_tests/packet_latency/3n-tsh-x520.rst @@ -0,0 +1,78 @@ + +.. 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> + +3n-tsh-x520 +~~~~~~~~~~~ + +CSIT source code for the test cases used for plots can be found in +`CSIT git repository <https://git.fd.io/csit/tree/tests/dpdk/perf?h=rls2001>`_. + +.. raw:: latex + + \clearpage + +64b-1t1c-base +------------- + +.. raw:: html + + <center> + <iframe id="hdrh-lat-percentile-3n-tsh-10ge2p1x520-64b-1t1c-eth-l2xcbase-testpmd.html" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/hdrh-lat-percentile-3n-tsh-10ge2p1x520-64b-1t1c-eth-l2xcbase-testpmd.html"></iframe> + <p><br></p> + </center> + +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/dpdk/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{hdrh-lat-percentile-3n-tsh-10ge2p1x520-64b-1t1c-eth-l2xcbase-testpmd} + \label{fig:hdrh-lat-percentile-3n-tsh-10ge2p1x520-64b-1t1c-eth-l2xcbase-testpmd} + \end{figure} + +.. raw:: latex + + \clearpage + +.. raw:: html + + <center> + <iframe id="hdrh-lat-percentile-3n-tsh-10ge2p1x520-64b-1t1c-ethip4-ip4base-l3fwd.html" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/hdrh-lat-percentile-3n-tsh-10ge2p1x520-64b-1t1c-ethip4-ip4base-l3fwd.html"></iframe> + <p><br></p> + </center> + +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/dpdk/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{hdrh-lat-percentile-3n-tsh-10ge2p1x520-64b-1t1c-ethip4-ip4base-l3fwd} + \label{fig:hdrh-lat-percentile-3n-tsh-10ge2p1x520-64b-1t1c-ethip4-ip4base-l3fwd} + \end{figure} diff --git a/docs/report/dpdk_performance_tests/packet_latency/index.rst b/docs/report/dpdk_performance_tests/packet_latency/index.rst index 4432fc2099..000ac128c3 100644 --- a/docs/report/dpdk_performance_tests/packet_latency/index.rst +++ b/docs/report/dpdk_performance_tests/packet_latency/index.rst @@ -33,7 +33,8 @@ Additional information about graph data: .. note:: Test results have been generated by - `FD.io test executor dpdk performance job 3n-hsw`_ with RF + `FD.io test executor dpdk performance job 3n-hsw`_ and + `FD.io test executor dpdk performance job 3n-tsh`_ with RF result files csit-dpdk-perf-|srelease|-\*.zip `archived here <../../_static/archive/>`_. @@ -41,6 +42,7 @@ Additional information about graph data: :maxdepth: 3 3n-hsw-xl710 + 3n-tsh-x520 .. 2n-skx-xxv710 diff --git a/docs/report/dpdk_performance_tests/packet_throughput_graphs/3n-tsh-x520.rst b/docs/report/dpdk_performance_tests/packet_throughput_graphs/3n-tsh-x520.rst new file mode 100644 index 0000000000..782af74534 --- /dev/null +++ b/docs/report/dpdk_performance_tests/packet_throughput_graphs/3n-tsh-x520.rst @@ -0,0 +1,125 @@ + +.. 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> + +3n-tsh-x520 +~~~~~~~~~~~ + +Following sections include summary graphs of Phy-to-Phy performance with +packet routed forwarding, including NDR throughput (zero packet loss) +and PDR throughput (<0.5% packet loss). + +CSIT source code for the test cases used for plots can be found in +`CSIT git repository <https://git.fd.io/csit/tree/tests/dpdk/perf?h=rls2001>`_. + +.. raw:: latex + + \clearpage + +64b-1t1c-base +------------- + +.. raw:: html + + <center> + <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/3n-tsh-x520-64b-1t1c-base-ndr.html"></iframe> + <p><br></p> + </center> + +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/dpdk/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-base-ndr} + \label{fig:3n-tsh-x520-64b-1t1c-base-ndr} + \end{figure} + +.. raw:: latex + + \clearpage + +.. raw:: html + + <center> + <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/3n-tsh-x520-64b-1t1c-base-pdr.html"></iframe> + <p><br></p> + </center> + +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/dpdk/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-1t1c-base-pdr} + \label{fig:3n-tsh-x520-64b-1t1c-base-pdr} + \end{figure} + +.. raw:: latex + + \clearpage + +64b-2t2c-base +------------- + +.. raw:: html + + <center> + <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/3n-tsh-x520-64b-2t2c-base-ndr.html"></iframe> + <p><br></p> + </center> + +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/dpdk/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-base-ndr} + \label{fig:3n-tsh-x520-64b-2t2c-base-ndr} + \end{figure} + +.. raw:: latex + + \clearpage + +.. raw:: html + + <center> + <iframe id="04" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/3n-tsh-x520-64b-2t2c-base-pdr.html"></iframe> + <p><br></p> + </center> + +.. raw:: latex + + \begin{figure}[H] + \centering + \graphicspath{{../_build/_static/dpdk/}} + \includegraphics[clip, trim=0cm 0cm 5cm 0cm, width=0.70\textwidth]{3n-tsh-x520-64b-2t2c-base-pdr} + \label{fig:3n-tsh-x520-64b-2t2c-base-pdr} + \end{figure} diff --git a/docs/report/dpdk_performance_tests/packet_throughput_graphs/index.rst b/docs/report/dpdk_performance_tests/packet_throughput_graphs/index.rst index 48eca2fb61..a0eb836992 100644 --- a/docs/report/dpdk_performance_tests/packet_throughput_graphs/index.rst +++ b/docs/report/dpdk_performance_tests/packet_throughput_graphs/index.rst @@ -48,6 +48,7 @@ Additional information about graph data: `FD.io test executor dpdk performance job 3n-skx`_, `FD.io test executor dpdk performance job 2n-clx`_, `FD.io test executor dpdk performance job 3n-hsw`_, + `FD.io test executor dpdk performance job 3n-tsh`_, `FD.io test executor dpdk performance job 2n-dnv`_ and `FD.io test executor dpdk performance job 3n-dnv`_ with RF result files csit-dpdk-perf-|srelease|-\*.zip @@ -63,6 +64,7 @@ Additional information about graph data: 3n-hsw-x710 2n-dnv-x553 3n-dnv-x553 + 3n-tsh-x520 .. 2n-skx-xxv710 diff --git a/resources/tools/presentation/generator_tables.py b/resources/tools/presentation/generator_tables.py index 239e20e300..b9a920ab32 100644 --- a/resources/tools/presentation/generator_tables.py +++ b/resources/tools/presentation/generator_tables.py @@ -317,6 +317,8 @@ def table_details(table, input_data): try: col_data = str(data[job][build][test][column[ u"data"].split(" ")[1]]).replace(u'"', u'""') + if column[u"data"].split(u" ")[1] in (u"name", ): + col_data = f" |prein| {col_data} |preout| " if column[u"data"].split(u" ")[1] in \ (u"conf-history", u"show-run"): col_data = col_data.replace(u" |br| ", u"", 1) @@ -391,6 +393,8 @@ def table_merged_details(table, input_data): col_data = col_data.replace( u"No Data", u"Not Captured " ) + if column[u"data"].split(u" ")[1] in (u"name", ): + col_data = f" |prein| {col_data} |preout| " if column[u"data"].split(u" ")[1] in \ (u"conf-history", u"show-run"): col_data = col_data.replace(u" |br| ", u"", 1) diff --git a/resources/tools/presentation/input_data_parser.py b/resources/tools/presentation/input_data_parser.py index 73b9ea114a..fae78d5188 100644 --- a/resources/tools/presentation/input_data_parser.py +++ b/resources/tools/presentation/input_data_parser.py @@ -423,14 +423,19 @@ class ExecutionChecker(ResultVisitor): return u"" if hdr_lat_1 and hdr_lat_2: - return ( - f"{hdr_lat_1.get_value_at_percentile(50.0)} " - f"{hdr_lat_1.get_value_at_percentile(90.0)} " - f"{hdr_lat_1.get_value_at_percentile(99.0)} , " - f"{hdr_lat_2.get_value_at_percentile(50.0)} " - f"{hdr_lat_2.get_value_at_percentile(90.0)} " - f"{hdr_lat_2.get_value_at_percentile(99.0)}" - ) + hdr_lat_1_50 = hdr_lat_1.get_value_at_percentile(50.0) + hdr_lat_1_90 = hdr_lat_1.get_value_at_percentile(90.0) + hdr_lat_1_99 = hdr_lat_1.get_value_at_percentile(99.0) + hdr_lat_2_50 = hdr_lat_2.get_value_at_percentile(50.0) + hdr_lat_2_90 = hdr_lat_2.get_value_at_percentile(90.0) + hdr_lat_2_99 = hdr_lat_2.get_value_at_percentile(99.0) + + if (hdr_lat_1_50 + hdr_lat_1_90 + hdr_lat_1_99 + + hdr_lat_2_50 + hdr_lat_2_90 + hdr_lat_2_99): + return ( + f"{hdr_lat_1_50} {hdr_lat_1_90} {hdr_lat_1_99} , " + f"{hdr_lat_2_50} {hdr_lat_2_90} {hdr_lat_2_99}" + ) return u"" @@ -1030,6 +1035,8 @@ class ExecutionChecker(ResultVisitor): } except (AttributeError, IndexError, ValueError, TypeError): test_result[u"status"] = u"FAIL" + elif u"DEVICETEST" in tags: + test_result[u"type"] = u"DEVICETEST" else: test_result[u"status"] = u"FAIL" self._data[u"tests"][self._test_id] = test_result diff --git a/resources/tools/presentation/specification.yaml b/resources/tools/presentation/specification.yaml index 80e070164c..462684a323 100644 --- a/resources/tools/presentation/specification.yaml +++ b/resources/tools/presentation/specification.yaml @@ -427,6 +427,14 @@ csit-vpp-perf-verify-2001-3n-tsh: - 4 # NDRPDR sel + plot-dpdk-throughput-latency-3n-tsh: + csit-dpdk-perf-verify-2001-3n-tsh: + - 3 # NDRPDR sel + - 4 # NDRPDR sel + - 5 # NDRPDR sel + - 9 # NDRPDR sel + - 10 # NDRPDR sel + # 3n-dnv plot-vpp-throughput-lat-tsa-3n-dnv: @@ -629,6 +637,10 @@ csit-dpdk-perf-verify-2001-3n-dnv: - 12 # NDRPDR sel + dpdk-perf-results-3n-tsh: + csit-dpdk-perf-verify-2001-3n-tsh: + - 3 # NDRPDR sel + ########################################################################### # Tables (more than one data set) @@ -2305,6 +2317,13 @@ - 20 # NDRPDR sel - 22 # NDRPDR sel + csit-dpdk-perf-verify-2001-3n-tsh: + - 3 # NDRPDR sel + - 4 # NDRPDR sel + - 5 # NDRPDR sel + - 9 # NDRPDR sel + - 10 # NDRPDR sel + csit-vpp-device-2001-ubuntu1804-1n-skx: - 57 @@ -15045,6 +15064,56 @@ title: "3n-dnv-x553-64b-2t2c-base-pdr" layout: "plot-throughput" +# 3n-tsh-x520 + +- type: "plot" + title: "DPDK Throughput: 3n-tsh-x520-64b-1t1c-base-ndr" + algorithm: "plot_perf_box_name" + output-file: "{DIR[STATIC,DPDK]}/3n-tsh-x520-64b-1t1c-base-ndr" + data: "plot-dpdk-throughput-latency-3n-tsh" + include: + - "tests.dpdk.perf.10ge2p1x520-eth-l2xcbase-testpmd-ndrpdr.64b-1t1c-eth-l2xcbase-testpmd-ndrpdr" + - "tests.dpdk.perf.10ge2p1x520-ethip4-ip4base-l3fwd-ndrpdr.64b-1t1c-ethip4-ip4base-l3fwd-ndrpdr" + layout: + title: "3n-tsh-x520-64b-1t1c-base-ndr" + layout: "plot-throughput" + +- type: "plot" + title: "DPDK Throughput: 3n-tsh-x520-64b-2t2c-base-ndr" + algorithm: "plot_perf_box_name" + output-file: "{DIR[STATIC,DPDK]}/3n-tsh-x520-64b-2t2c-base-ndr" + data: "plot-dpdk-throughput-latency-3n-tsh" + include: + - "tests.dpdk.perf.10ge2p1x520-eth-l2xcbase-testpmd-ndrpdr.64b-2t2c-eth-l2xcbase-testpmd-ndrpdr" + - "tests.dpdk.perf.10ge2p1x520-ethip4-ip4base-l3fwd-ndrpdr.64b-2t2c-ethip4-ip4base-l3fwd-ndrpdr" + layout: + title: "3n-tsh-x520-64b-2t2c-base-ndr" + layout: "plot-throughput" + +- type: "plot" + title: "DPDK Throughput: 3n-tsh-x520-64b-1t1c-base-pdr" + algorithm: "plot_perf_box_name" + output-file: "{DIR[STATIC,DPDK]}/3n-tsh-x520-64b-1t1c-base-pdr" + data: "plot-dpdk-throughput-latency-3n-tsh" + include: + - "tests.dpdk.perf.10ge2p1x520-eth-l2xcbase-testpmd-ndrpdr.64b-1t1c-eth-l2xcbase-testpmd-ndrpdr" + - "tests.dpdk.perf.10ge2p1x520-ethip4-ip4base-l3fwd-ndrpdr.64b-1t1c-ethip4-ip4base-l3fwd-ndrpdr" + layout: + title: "3n-tsh-x520-64b-1t1c-base-pdr" + layout: "plot-throughput" + +- type: "plot" + title: "DPDK Throughput: 3n-tsh-x520-64b-2t2c-base-pdr" + algorithm: "plot_perf_box_name" + output-file: "{DIR[STATIC,DPDK]}/3n-tsh-x520-64b-2t2c-base-pdr" + data: "plot-dpdk-throughput-latency-3n-tsh" + include: + - "tests.dpdk.perf.10ge2p1x520-eth-l2xcbase-testpmd-ndrpdr.64b-2t2c-eth-l2xcbase-testpmd-ndrpdr" + - "tests.dpdk.perf.10ge2p1x520-ethip4-ip4base-l3fwd-ndrpdr.64b-2t2c-ethip4-ip4base-l3fwd-ndrpdr" + layout: + title: "3n-tsh-x520-64b-2t2c-base-pdr" + layout: "plot-throughput" + ################################################################################ ### 2n-clx ### ################################################################################ @@ -16506,3 +16575,14 @@ filter: "'1T1C' and 'NIC_Intel-XL710'" layout: layout: "plot-hdrh-latency-by-percentile" + +- type: "plot" + title: "Latency by percentile: DPDK 3n-tsh" + algorithm: "plot_hdrh_lat_by_percentile" + output-file: "{DIR[STATIC,DPDK]}/hdrh-lat-percentile-3n-tsh" + output-file-links: "{DIR[LAT,DPDK]}/3n_tsh.rst" + target-links: "../../_static/dpdk" + data: "plot-dpdk-hdrh-lat-3n-tsh" + filter: "'1T1C' and 'NIC_Intel-X520-DA2'" + layout: + layout: "plot-hdrh-latency-by-percentile" |