-CSIT Release Notes\r
-==================\r
-\r
-Changes in CSIT |release|\r
--------------------------\r
-\r
-#. Added VPP performance tests\r
-\r
- - **Container Topologies Orchestrated by K8s with VPP memif tests**\r
-\r
- - Added tests with VPP in L2 Cross-Connect and Bridge-Domain\r
- configurations containers, with service chain topologies orchestrated by\r
- Kubernetes. Added following forwarding topologies: i) "Parallel" with\r
- packets flowing from NIC via VPP to container and back to VPP and NIC;\r
- ii) "Chained" a.k.a. "Snake" with packets flowing via VPP to container,\r
- back to VPP, to next container, back to VPP and so on until the last\r
- container in chain, then back to VPP and NIC; iii) "Horizontal" with\r
- packets flowing via VPP to container, then via "horizontal" memif to\r
- next container, and so on until the last container, then back to VPP and\r
- NIC;.\r
-\r
- - **VPP TCP/IP stack**\r
-\r
- - Added tests for VPP TCP/IP stack using VPP built-in HTTP server.\r
- WRK traffic generator is used as a client-side;\r
-\r
- - **SRv6 tests**\r
-\r
- - Initial SRv6 (Segment Routing IPv6) tests verifying performance of\r
- IPv6 and SRH (Segment Routing Header) encapsulation, decapsulation,\r
- lookups and rewrites based on configured End and End.DX6 SRv6 egress\r
- functions;\r
-\r
- - **IPSecSW tests**\r
-\r
- - SW computed IPSec encryption with AES-GCM, CBC-SHA1 ciphers, in\r
- combination with IPv4 routed-forwarding;\r
-\r
-#. Presentation and Analytics Layer\r
-\r
- - Added throughput speedup analysis for multi-core and multi-thread\r
- VPP tests into Presentation and Analytics Layer (PAL) for automated\r
- CSIT test results analysis;\r
-\r
-#. Other improvements\r
-\r
- - **Framework optimizations**\r
-\r
- - Ability to run CSIT framework on ARM architecture;\r
-\r
- - Overall stability improvements;\r
-\r
-Performance Changes\r
--------------------\r
-\r
-Substantial changes in measured packet throughput have been observed in a\r
-number of CSIT |release| tests listed below. Relative changes for this release\r
-are calculated against the test results listed in CSIT |release-1| report. The\r
-comparison is calculated between the mean values based on collected and\r
-archived test results' samples for involved VPP releases. Standard deviation\r
-has been also listed for CSIT |release|.\r
-\r
-NDR Throughput: Best 20 Changes\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-.. only:: html\r
-\r
- .. csv-table::\r
- :align: center\r
- :file: ../../../_build/_static/vpp/performance-changes-ndr-1t1c-top.csv\r
-\r
-.. only:: latex\r
-\r
- .. raw:: latex\r
-\r
- \makeatletter\r
- \csvset{\r
- perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{7cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
- }\r
- \makeatother\r
-\r
- {\tiny\r
- \csvautobooklongtable[separator=comma,\r
- respect all,\r
- no check column count,\r
- perfimprovements column width=1cm,\r
- late after line={\\\hline},\r
- late after last line={\end{longtable}}\r
- ]{../_build/_static/vpp/performance-changes-ndr-1t1c-top.csv}\r
- }\r
-\r
-NDR Throughput: Worst 20 Changes\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-.. only:: html\r
-\r
- .. csv-table::\r
- :align: center\r
- :file: ../../../_build/_static/vpp/performance-changes-ndr-1t1c-bottom.csv\r
-\r
-.. only:: latex\r
-\r
- .. raw:: latex\r
-\r
- \makeatletter\r
- \csvset{\r
- perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{7cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
- }\r
- \makeatother\r
-\r
- {\tiny\r
- \csvautobooklongtable[separator=comma,\r
- respect all,\r
- no check column count,\r
- perfimprovements column width=1cm,\r
- late after line={\\\hline},\r
- late after last line={\end{longtable}}\r
- ]{../_build/_static/vpp/performance-changes-ndr-1t1c-bottom.csv}\r
- }\r
-\r
-.. only:: html\r
-\r
- NDR Throughput: All Changes\r
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
- Complete results for all NDR tests are available in a CSV and pretty\r
- ASCII formats:\r
-\r
- - `csv format for 1t1c <../_static/vpp/performance-changes-ndr-1t1c-full.csv>`_,\r
- - `csv format for 2t2c <../_static/vpp/performance-changes-ndr-2t2c-full.csv>`_,\r
- - `csv format for 4t4c <../_static/vpp/performance-changes-ndr-4t4c-full.csv>`_,\r
- - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-ndr-1t1c-full.txt>`_,\r
- - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-ndr-2t2c-full.txt>`_,\r
- - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-ndr-4t4c-full.txt>`_.\r
-\r
-PDR Throughput: Best 20 Changes\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-.. only:: html\r
-\r
- .. csv-table::\r
- :align: center\r
- :file: ../../../_build/_static/vpp/performance-changes-pdr-1t1c-top.csv\r
-\r
-.. only:: latex\r
-\r
- .. raw:: latex\r
-\r
- \makeatletter\r
- \csvset{\r
- perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{7cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
- }\r
- \makeatother\r
-\r
- {\tiny\r
- \csvautobooklongtable[separator=comma,\r
- respect all,\r
- no check column count,\r
- perfimprovements column width=1cm,\r
- late after line={\\\hline},\r
- late after last line={\end{longtable}}\r
- ]{../_build/_static/vpp/performance-changes-pdr-1t1c-top.csv}\r
- }\r
-\r
-PDR Throughput: Worst 20 Changes\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-.. only:: html\r
-\r
- .. csv-table::\r
- :align: center\r
- :file: ../../../_build/_static/vpp/performance-changes-pdr-1t1c-bottom.csv\r
-\r
-.. only:: latex\r
-\r
- .. raw:: latex\r
-\r
- \makeatletter\r
- \csvset{\r
- perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{7cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
- }\r
- \makeatother\r
-\r
- {\tiny\r
- \csvautobooklongtable[separator=comma,\r
- respect all,\r
- no check column count,\r
- perfimprovements column width=1cm,\r
- late after line={\\\hline},\r
- late after last line={\end{longtable}}\r
- ]{../_build/_static/vpp/performance-changes-pdr-1t1c-bottom.csv}\r
- }\r
-\r
-.. only:: html\r
-\r
- PDR Throughput: All Changes\r
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
- Complete results for all PDR tests are available in a CSV and pretty\r
- ASCII formats:\r
-\r
- - `csv format for 1t1c <../_static/vpp/performance-changes-pdr-1t1c-full.csv>`_,\r
- - `csv format for 2t2c <../_static/vpp/performance-changes-pdr-2t2c-full.csv>`_,\r
- - `csv format for 4t4c <../_static/vpp/performance-changes-pdr-4t4c-full.csv>`_,\r
- - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-pdr-1t1c-full.txt>`_,\r
- - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-pdr-2t2c-full.txt>`_,\r
- - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-pdr-4t4c-full.txt>`_.\r
-\r
-Measured improvements are in line with VPP code optimizations listed in\r
-`VPP-17.10 release notes\r
-<https://docs.fd.io/vpp/17.10/release_notes_1710.html>`_.\r
-\r
-Known Issues\r
-------------\r
-\r
-Here is the list of known issues in CSIT |release| for VPP performance tests:\r
-\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| # | Issue | Jira ID | Description |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 1 | Vic1385 and Vic1227 low performance. | VPP-664 | Low NDR performance. |\r
-| | | | |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 2 | Sporadic NDR discovery test failures on x520. | CSIT-750 | Suspected issue with HW combination of X710-X520 in LF |\r
-| | | | infrastructure. Issue can't be replicated outside LF. |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 3 | VPP in 2t2c setups - large variation | CSIT-568 | Suspected NIC firmware or DPDK driver issue affecting NDR |\r
-| | of discovered NDR throughput values across | | throughput. Applies to XL710 and X710 NICs, x520 NICs are fine. |\r
-| | multiple test runs with xl710 and x710 NICs. | | |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 4 | Lower than expected NDR throughput with | CSIT-569 | Suspected NIC firmware or DPDK driver issue affecting NDR and |\r
-| | xl710 and x710 NICs, compared to x520 NICs. | | PDR throughput. Applies to XL710 and X710 NICs. |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
+Release Notes
+=============
+
+Changes in |csit-release|
+-------------------------
+
+#. **VPP Performance Tests**
+
+ - **MRR Throughput**: MRR (Maximum Receive Rate) test code has now
+ configurable trial duration and number of consecutive executions.
+ Coverage of MRR tests has been extended across more test
+ scenarios. MRR tests are used for continuous performance trending
+ and for comparison between VPP releases.
+
+ - **MLRsearch Throughput**: MLRsearch algorithm has been introduced
+ for all NDR and PDR throughput tests. All tests that previously
+ used binary search got converted to MLRsearch. Coverage of NDR/PDR
+ tests has been extended across more test scenarios.
+
+ - **L2patch Tests**: Tests measure performance of VPP L2patch, the
+ fastest L2 forwarding path implemented in VPP, that cross-links
+ RX and TX of two physical interfaces.
+
+ - **2-Node Tests**: A new baseline set of 2-node tests covering base
+ ip4, ip6, l2patch, l2bd, l2xc, running on new Xeon Skylake
+ testbeds.
+
+ - **Generated tests**: Simplified and unified test structure, semi-
+ autogenerated by generator script. Test generator is currently
+ able to create test combinations with various frame size and
+ cores combinations. All existing test cases were converted to new
+ format.
+
+ - **Simultaneous Multi-Threading**: SMT-aware detection of server
+ processor operation mode (HyperThreading enabled/disabled) with
+ associated compute resource configuration including thread
+ affinity, number of Rx queues and DPDK I/O mbufs. Tests are
+ automatically tagged during execution to indicate executed thread
+ configuration.
+
+ - **Intel Xeon Skylake Support**: Support for 2-Node and 3-Node
+ physical testbed topologies based on the new SuperMirco servers
+ each with two Intel Xeon Skylake Platinum processors. Full
+ Ansible playbooks refactor for quick server (re)installation and
+ reference pointers of configuration.
+
+#. **Presentation and Analytics Layer**
+
+ - **Performance trending**: Further improved continuous performance
+ trending with anomaly detection and analysis.
+
+#. **Test Framework Optimizations**
+
+ - **General Code Housekeeping**: Ongoing RF keywords optimizations,
+ removal of redundant RF keywords.
+
+Performance Changes
+-------------------
+
+Relative performance changes in measured packet throughput in |csit-release|
+are calculated against the results from |csit-release-1|
+report. Listed mean and standard deviation values are computed based on
+a series of the same tests executed against respective VPP releases to
+verify test results repeatability, with percentage change calculated for
+mean values. Note that the standard deviation is quite high for a small
+number of packet throughput tests, what indicates poor test results
+repeatability and makes the relative change of mean throughput value not
+fully representative for these tests. The root causes behind poor
+results repeatability vary between the test cases.
+
+NDR Changes
+~~~~~~~~~~~
+
+NDR throughput changes between releases are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-ndr.csv>`_,
+ - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-ndr.csv>`_,
+ - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-ndr.txt>`_,
+ - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-ndr.txt>`_.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 3n-hsw`_,
+ with Robot Framework result
+ files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../_static/archive/>`_.
+
+PDR Changes
+~~~~~~~~~~~
+
+PDR throughput changes between releases are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-pdr.csv>`_,
+ - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-pdr.csv>`_,
+ - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-pdr.txt>`_,
+ - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-pdr.txt>`_.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 3n-hsw`_,
+ with Robot Framework result
+ files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../_static/archive/>`_.
+
+MRR Changes
+~~~~~~~~~~~
+
+MRR small packet throughput changes between releases are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-mrr.csv>`_,
+ - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-mrr.csv>`_,
+ - `csv format for 4t4c <../_static/vpp/performance-changes-4t4c-mrr.csv>`_,
+ - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-mrr.txt>`_,
+ - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-mrr.txt>`_,
+ - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-4t4c-mrr.txt>`_.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 3n-hsw`_,
+ with Robot Framework result
+ files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../_static/archive/>`_.
+
+Comparison Across Testbeds
+--------------------------
+
+Relative performance changes in measured packet throughputon 3-Node Skx testbed
+are calculated against the results measured on 3-Node Hsw testbed.
+
+NDR Changes
+~~~~~~~~~~~
+
+NDR changes between testbeds are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for ndr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-ndr.csv>`_,
+ - `pretty ASCII format for ndr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-ndr.txt>`_.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 3n-hsw`_ and
+ `FD.io test executor vpp performance job 3n-skx`_
+ with Robot Framework result
+ files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../_static/archive/>`_.
+
+PDR Changes
+~~~~~~~~~~~
+
+PDR throughput changes between testbeds are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for pdr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-pdr.csv>`_,
+ - `pretty ASCII format for pdr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-pdr.txt>`_.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 3n-hsw`_ and
+ `FD.io test executor vpp performance job 3n-skx`_
+ with Robot Framework result
+ files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../_static/archive/>`_.
+
+MRR Changes
+~~~~~~~~~~~
+
+MRR throughput changes between testbeds are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for mrr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-mrr.csv>`_,
+ - `pretty ASCII format for mrr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-mrr.txt>`_.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 3n-hsw`_ and
+ `FD.io test executor vpp performance job 3n-skx`_
+ with Robot Framework result
+ files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../_static/archive/>`_.
+
+Throughput Trending
+-------------------
+
+In addition to reporting throughput changes between VPP releases, CSIT
+provides continuous performance trending for VPP master branch:
+
+#. `VPP Performance Dashboard <https://docs.fd.io/csit/master/trending/introduction/index.html>`_
+ - per VPP test case throughput trend, trend compliance and summary of
+ detected anomalies.
+
+#. `Trending Methodology <https://docs.fd.io/csit/master/trending/methodology/index.html>`_
+ - throughput test metrics, trend calculations and anomaly
+ classification (progression, regression, outlier).
+
+#. `Trendline Graphs <https://docs.fd.io/csit/master/trending/trending/index.html>`_
+ - per VPP build MRR throughput measurements against the trendline
+ with anomaly highlights, with associated CSIT test jobs.
+
+Known Issues
+------------
+
+List of known issues in |csit-release| for VPP performance tests:
+
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+
+| # | Issue | Jira ID | Description |
++===+=================================================+============+=================================================================+
+| 1 | Sporadic (1 in 200) NDR discovery test failures | CSIT-570 | DPDK reporting rx-errors, indicating L1 issue. Suspected issue |
+| | on x520. | | with HW combination of X710-X520 in LF testbeds. Not observed |
+| | | | outside of LF testbeds. |
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+
+| 2 | High failure rate of api call | VPP-1361 | Failure rate: 30-40% of tests failing due to interfaces not |
+| | sw_interface_set_flags [admin-up|link-up] | | in link-up state after API call sw_interface_set_flags. |
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+
+| 3 | Scale IPSecHW Interface mode throughput | CSIT-1234 | IPSec throughput regression: NDR -28%..-31%, PDR -28%..-31%, |
+| | regression. | | MRR -40%. Affects IPSec HW Scale 1000tnl tests with Int mode. |
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+