aboutsummaryrefslogtreecommitdiffstats
path: root/docs/report/dpdk_performance_tests
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2022-02-01 13:34:40 +0100
committerTibor Frank <tifrank@cisco.com>2022-02-02 15:14:10 +0000
commitf4c31f23462c376e442b35242b2502541baccb83 (patch)
tree430a0ce0a998dd14c2aa696f71a73f209a5a5674 /docs/report/dpdk_performance_tests
parentbfd31ed5f42e106121e142c1da20bd9ab0745dd1 (diff)
Report: Add ICX
- Stats - DPDK - comparisom tables - detailed results - graphs - tput - speedup - VPP - detailed results - graphs - tput - speedup Change-Id: Ic0b10247ee376262ee61487bdd4b4b461dcf5308 Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'docs/report/dpdk_performance_tests')
-rw-r--r--docs/report/dpdk_performance_tests/comparisons/2n-clx_vs_2n-icx_testbeds.rst31
-rw-r--r--docs/report/dpdk_performance_tests/comparisons/3n-skx_vs_3n-icx_testbeds.rst31
-rw-r--r--docs/report/dpdk_performance_tests/comparisons/index.rst2
-rw-r--r--docs/report/dpdk_performance_tests/packet_throughput_graphs/2n-icx-xxv710.rst125
-rw-r--r--docs/report/dpdk_performance_tests/packet_throughput_graphs/3n-icx-xxv710.rst125
-rw-r--r--docs/report/dpdk_performance_tests/packet_throughput_graphs/index.rst4
-rw-r--r--docs/report/dpdk_performance_tests/throughput_speedup_multi_core/2n-icx-xxv710.rst78
-rw-r--r--docs/report/dpdk_performance_tests/throughput_speedup_multi_core/3n-icx-xxv710.rst78
-rw-r--r--docs/report/dpdk_performance_tests/throughput_speedup_multi_core/index.rst4
9 files changed, 478 insertions, 0 deletions
diff --git a/docs/report/dpdk_performance_tests/comparisons/2n-clx_vs_2n-icx_testbeds.rst b/docs/report/dpdk_performance_tests/comparisons/2n-clx_vs_2n-icx_testbeds.rst
new file mode 100644
index 0000000000..84deaa2787
--- /dev/null
+++ b/docs/report/dpdk_performance_tests/comparisons/2n-clx_vs_2n-icx_testbeds.rst
@@ -0,0 +1,31 @@
+2n-Clx vs 2n-Icx Testbeds
+-------------------------
+
+Relative comparison of |dpdk-release| Testpmd and L3fwd packet
+throughput (NDR, PDR and MRR) is calculated for the same tests executed
+on 2-Node Cascadelake (2n-clx) and 2-Node Ice Lake (2n-icx) physical testbed
+types, in 1-core, 2-core and 4-core configurations.
+
+.. note::
+
+ Test results are stored in
+ `build logs from FD.io dpdk performance job 2n-clx`_ and
+ `build logs from FD.io dpdk performance job 2n-icx`_
+ with RF result files csit-dpdk-perf-|srelease|-\*.zip
+ `archived here <../../_static/archive/>`_.
+
+NDR Comparison
+~~~~~~~~~~~~~~
+
+Comparison tables in ASCII and CSV formats:
+
+ - `ASCII NDR comparison <../../_static/dpdk/performance-compare-testbeds-2n-clx-2n-icx-ndr.txt>`_
+ - `CSV NDR comparison <../../_static/dpdk/performance-compare-testbeds-2n-clx-2n-icx-ndr.csv>`_
+
+PDR Comparison
+~~~~~~~~~~~~~~
+
+Comparison tables in ASCII and CSV formats:
+
+ - `ASCII PDR comparison <../../_static/dpdk/performance-compare-testbeds-2n-clx-2n-icx-pdr.txt>`_
+ - `CSV PDR comparison <../../_static/dpdk/performance-compare-testbeds-2n-clx-2n-icx-pdr.csv>`_
diff --git a/docs/report/dpdk_performance_tests/comparisons/3n-skx_vs_3n-icx_testbeds.rst b/docs/report/dpdk_performance_tests/comparisons/3n-skx_vs_3n-icx_testbeds.rst
new file mode 100644
index 0000000000..bb01b2f3ff
--- /dev/null
+++ b/docs/report/dpdk_performance_tests/comparisons/3n-skx_vs_3n-icx_testbeds.rst
@@ -0,0 +1,31 @@
+3n-Skx vs 3n-Icx Testbeds
+-------------------------
+
+Relative comparison of |dpdk-release| Testpmd and L3fwd packet
+throughput (NDR, PDR and MRR) is calculated for the same tests executed
+on 3-Node Skylake (3n-skx) and 3-Node Ice Lake (3n-icx) physical testbed
+types, in 1-core, 2-core and 4-core configurations.
+
+.. note::
+
+ Test results are stored in
+ `build logs from FD.io dpdk performance job 3n-skx`_ and
+ `build logs from FD.io dpdk performance job 3n-icx`_
+ with RF result files csit-dpdk-perf-|srelease|-\*.zip
+ `archived here <../../_static/archive/>`_.
+
+NDR Comparison
+~~~~~~~~~~~~~~
+
+Comparison tables in ASCII and CSV formats:
+
+ - `ASCII NDR comparison <../../_static/dpdk/performance-compare-testbeds-3n-skx-3n-icx-ndr.txt>`_
+ - `CSV NDR comparison <../../_static/dpdk/performance-compare-testbeds-3n-skx-3n-icx-ndr.csv>`_
+
+PDR Comparison
+~~~~~~~~~~~~~~
+
+Comparison tables in ASCII and CSV formats:
+
+ - `ASCII PDR comparison <../../_static/dpdk/performance-compare-testbeds-3n-skx-3n-icx-pdr.txt>`_
+ - `CSV PDR comparison <../../_static/dpdk/performance-compare-testbeds-3n-skx-3n-icx-pdr.csv>`_
diff --git a/docs/report/dpdk_performance_tests/comparisons/index.rst b/docs/report/dpdk_performance_tests/comparisons/index.rst
index 89a98e86b3..5f19dcadbe 100644
--- a/docs/report/dpdk_performance_tests/comparisons/index.rst
+++ b/docs/report/dpdk_performance_tests/comparisons/index.rst
@@ -9,5 +9,7 @@ Comparisons
.. toctree::
current_vs_previous_release
+ 2n-clx_vs_2n-icx_testbeds
+ 3n-skx_vs_3n-icx_testbeds
2n-skx_vs_2n-clx_testbeds
3n-skx_vs_2n-skx_testbeds
diff --git a/docs/report/dpdk_performance_tests/packet_throughput_graphs/2n-icx-xxv710.rst b/docs/report/dpdk_performance_tests/packet_throughput_graphs/2n-icx-xxv710.rst
new file mode 100644
index 0000000000..79aaca2fcd
--- /dev/null
+++ b/docs/report/dpdk_performance_tests/packet_throughput_graphs/2n-icx-xxv710.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>
+
+2n-icx-xxv710
+~~~~~~~~~~~~~
+
+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=rls2110>`_.
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-base
+-------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/2n-icx-xxv710-64b-2t1c-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]{2n-icx-xxv710-64b-2t1c-base-ndr}
+ \label{fig:2n-icx-xxv710-64b-2t1c-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/2n-icx-xxv710-64b-2t1c-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]{2n-icx-xxv710-64b-2t1c-base-pdr}
+ \label{fig:2n-icx-xxv710-64b-2t1c-base-pdr}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-base
+-------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/2n-icx-xxv710-64b-4t2c-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]{2n-icx-xxv710-64b-4t2c-base-ndr}
+ \label{fig:2n-icx-xxv710-64b-4t2c-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/2n-icx-xxv710-64b-4t2c-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]{2n-icx-xxv710-64b-4t2c-base-pdr}
+ \label{fig:2n-icx-xxv710-64b-4t2c-base-pdr}
+ \end{figure}
diff --git a/docs/report/dpdk_performance_tests/packet_throughput_graphs/3n-icx-xxv710.rst b/docs/report/dpdk_performance_tests/packet_throughput_graphs/3n-icx-xxv710.rst
new file mode 100644
index 0000000000..7db60d6007
--- /dev/null
+++ b/docs/report/dpdk_performance_tests/packet_throughput_graphs/3n-icx-xxv710.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-icx-xxv710
+~~~~~~~~~~~~~
+
+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=rls2110>`_.
+
+.. raw:: latex
+
+ \clearpage
+
+64b-2t1c-base
+-------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/3n-icx-xxv710-64b-2t1c-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-icx-xxv710-64b-2t1c-base-ndr}
+ \label{fig:3n-icx-xxv710-64b-2t1c-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-icx-xxv710-64b-2t1c-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-icx-xxv710-64b-2t1c-base-pdr}
+ \label{fig:3n-icx-xxv710-64b-2t1c-base-pdr}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+64b-4t2c-base
+-------------
+
+.. raw:: html
+
+ <center>
+ <iframe id="03" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/3n-icx-xxv710-64b-4t2c-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-icx-xxv710-64b-4t2c-base-ndr}
+ \label{fig:3n-icx-xxv710-64b-4t2c-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-icx-xxv710-64b-4t2c-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-icx-xxv710-64b-4t2c-base-pdr}
+ \label{fig:3n-icx-xxv710-64b-4t2c-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 5f07b50a64..e6e2d2c73d 100644
--- a/docs/report/dpdk_performance_tests/packet_throughput_graphs/index.rst
+++ b/docs/report/dpdk_performance_tests/packet_throughput_graphs/index.rst
@@ -45,6 +45,8 @@ Additional information about graph data:
.. note::
Test results are stored in
+ `build logs from FD.io dpdk performance job 2n-icx`_,
+ `build logs from FD.io dpdk performance job 3n-icx`_,
`build logs from FD.io dpdk performance job 2n-skx`_,
`build logs from FD.io dpdk performance job 3n-skx`_,
`build logs from FD.io dpdk performance job 2n-clx`_,
@@ -60,6 +62,8 @@ Additional information about graph data:
.. toctree::
:maxdepth: 3
+ 2n-icx-xxv710
+ 3n-icx-xxv710
2n-skx-xxv710
2n-skx-x710
3n-skx-xxv710
diff --git a/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/2n-icx-xxv710.rst b/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/2n-icx-xxv710.rst
new file mode 100644
index 0000000000..6574ed103b
--- /dev/null
+++ b/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/2n-icx-xxv710.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>
+
+2n-icx-xxv710
+~~~~~~~~~~~~~
+
+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=rls2110>`_.
+
+.. raw:: latex
+
+ \clearpage
+
+64b-base
+--------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/2n-icx-xxv710-64b-base-ndr-tsa.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]{2n-icx-xxv710-64b-base-ndr-tsa}
+ \label{fig:2n-icx-xxv710-64b-base-ndr-tsa}
+ \end{figure}
+
+.. raw:: latex
+
+ \clearpage
+
+.. raw:: html
+
+ <center>
+ <iframe id="02" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/2n-icx-xxv710-64b-base-pdr-tsa.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]{2n-icx-xxv710-64b-base-pdr-tsa}
+ \label{fig:2n-icx-xxv710-64b-base-pdr-tsa}
+ \end{figure}
diff --git a/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/3n-icx-xxv710.rst b/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/3n-icx-xxv710.rst
new file mode 100644
index 0000000000..eae5585883
--- /dev/null
+++ b/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/3n-icx-xxv710.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-icx-xxv710
+~~~~~~~~~~~~~
+
+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=rls2110>`_.
+
+.. raw:: latex
+
+ \clearpage
+
+64b-base
+--------
+
+.. raw:: html
+
+ <center>
+ <iframe id="01" onload="setIframeHeight(this.id)" width="700" frameborder="0" scrolling="no" src="../../_static/dpdk/3n-icx-xxv710-64b-base-ndr-tsa.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-icx-xxv710-64b-base-ndr-tsa}
+ \label{fig:3n-icx-xxv710-64b-base-ndr-tsa}
+ \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-icx-xxv710-64b-base-pdr-tsa.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-icx-xxv710-64b-base-pdr-tsa}
+ \label{fig:3n-icx-xxv710-64b-base-pdr-tsa}
+ \end{figure}
diff --git a/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/index.rst b/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/index.rst
index 626d6759ac..c53f43d5f0 100644
--- a/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/index.rst
+++ b/docs/report/dpdk_performance_tests/throughput_speedup_multi_core/index.rst
@@ -37,6 +37,8 @@ Additional information about graph data:
.. note::
Test results are stored in
+ `build logs from FD.io dpdk performance job 2n-icx`_,
+ `build logs from FD.io dpdk performance job 3n-icx`_,
`build logs from FD.io dpdk performance job 2n-skx`_,
`build logs from FD.io dpdk performance job 3n-skx`_,
`build logs from FD.io dpdk performance job 2n-clx`_,
@@ -51,6 +53,8 @@ Additional information about graph data:
.. toctree::
:maxdepth: 3
+ 2n-icx-xxv710
+ 3n-icx-xxv710
2n-skx-xxv710
2n-skx-x710
3n-skx-xxv710