+.. _vpp_performance_tests_release_notes:
+
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:
+#. VPP PERFORMANCE TESTS
- - `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>`_.
+ - **Intel Xeon Ice Lake**: Added initial test data for these
+ platforms. Current CSIT-2106 report data for Intel Xeon Ice Lake
+ comes from an external source (Intel labs running CSIT code on
+ "8360Y D Stepping" and "6338N" processors). For details about the
+ physical setup see :ref:`tested_physical_topologies`. Tested
+ VPP and CSIT versions are pre-release, VPP
+ 21.06-rc0~779-gd640ae52f.
-.. note::
+ - **MLRsearch improvements**: Added support for multiple packet
+ throughput rates in a single search, each rate is associated
+ with a distinct Packet Loss Ratio (PLR) criterion. Previously
+ only Non Drop Rate (NDR) (PLR=0) and single Partial Drop Rate
+ (PDR) (PLR<0.5%) were supported. Implemented number of
+ optimizations improving rate discovery efficiency.
- 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/>`_.
+ - **Reduction of tests**: Removed obsolete VPP use cases and
+ superfluous test combinations from continuous and report test
+ executions, including:
-PDR Changes
-~~~~~~~~~~~
+ - All vts tests, obsolete use cases.
+ - dot1q tests apart from dot1q-l2bd, superfluous combinations.
+ - -100flows, -100kflows in all acl tests.
+ - nat44 tests
-PDR throughput changes between testbeds are available in a
-CSV and pretty ASCII formats:
+ - -pps tests, replaced by -tput tests.
+ - h1-p1-s1 single session tests, unessential combination.
+ - h4096-p63-s258048 tests, unessential scale combination.
- - `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>`_.
+ - ipsec tests
-.. note::
+ - ethip4ipsectptlispgpe.
+ - policy-aes128gcm.
+ - policy-aes128cbc-hmac256sha.
+ - policy-aes128cbc-hmac512sha.
+ - int-aes128cbc-hmac256sha.
+ - scale of
- 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/>`_.
+ - 400tnlsw.
+ - 5000tnlsw.
+ - 20000tnlsw.
+ - 60000tnlsw.
-MRR Changes
-~~~~~~~~~~~
+#. TEST FRAMEWORK
-MRR throughput changes between testbeds are available in a
-CSV and pretty ASCII formats:
+ - **CSIT test environment** version has been updated to ver. 8, see
+ :ref:`test_environment_versioning`.
- - `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>`_.
+ - **CSIT in AWS environment**: Added CSIT support for AWS c5n
+ instances environment.
-.. note::
+ - **CSIT PAPI support**: Due to issues with PAPI performance, VAT is
+ still used in CSIT for all VPP scale tests. See known issues
+ below.
- 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/>`_.
+ - **General Code Housekeeping**: Ongoing code optimizations and bug
+ fixes.
-Throughput Trending
--------------------
+#. PRESENTATION AND ANALYTICS LAYER
-In addition to reporting throughput changes between VPP releases, CSIT
-provides continuous performance trending for VPP master branch:
+ - **Graphs improvements**: Updated Packet Latency graphs,
+ see :ref:`latency_methodology`.
-#. `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.
+.. raw:: latex
-#. `Trending Methodology <https://docs.fd.io/csit/master/trending/methodology/index.html>`_
- - throughput test metrics, trend calculations and anomaly
- classification (progression, regression, outlier).
+ \clearpage
-#. `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.
+.. _vpp_known_issues:
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. |
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `CSIT-1782 | Multicore AVF tests are failing when trying to create interface. |
+| | <https://jira.fd.io/browse/CSIT-1782>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 2 | `CSIT-1763 | Adapt ramp-up phase of nat44 tests for different frame sizes. |
+| | <https://jira.fd.io/browse/CSIT-1763>`_ | Currently ramp-up phase rate and duration values are correctly set for tests with 64B frame size. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 3 | `CSIT-1671 | All CSIT scale tests can not use PAPI due to much slower performance compared to VAT/CLI (it takes much |
+| | <https://jira.fd.io/browse/CSIT-1671>`_ | longer to program VPP). This needs to be addressed on the PAPI side. |
+| +-----------------------------------------+ The usual PAPI library spends too much time parsing arguments, so even with async processing (hundreds of |
+| | `VPP-1763 | commands in flight over socket), the VPP configuration for large scale tests (millions of messages) takes |
+| | <https://jira.fd.io/browse/VPP-1763>`_ | too long. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 4 | `CSIT-1789 | AVF driver does not perform RSS in a deterministic way. |
+| | <https://jira.fd.io/browse/CSIT-1789>`_ | This increases standard deviation of tests with small number of flows (mainly ipsec). |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 5 | `CSIT-1790 | Broken TRex latency measurements with TRex v2.88, DPDK 21.02 and FVL FW 6.01. |
+| | <https://jira.fd.io/browse/CSIT-1790>`_ | High latency O(5msec) for all VPP and testpmd/l3fwd test cases for FVL NICs with FW 6.01. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 6 | `CSIT-1780 | IPSEC SW async scheduler MRR tests failing with no traffic forwarded. |
+| | <https://jira.fd.io/browse/CSIT-1780>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 7 | `CSIT-1786 | IP4 and IP6 scale tests failing with no traffic forwarded. |
+| | <https://jira.fd.io/browse/CSIT-1786>`_ | Issue reported to VPP devs. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 8 | `CSIT-1785 | NAT44ED tests failing to establish all TCP sessions. |
+| | <https://jira.fd.io/browse/CSIT-1785>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 9 | `CSIT-1791 | Performance regression in RDMA tests, due to CSIT environment changes. |
+| | <https://jira.fd.io/browse/CSIT-1791>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+Root Cause Analysis for Performance Changes
+-------------------------------------------
+
+List of RCAs in |csit-release| for VPP performance changes:
+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `VPP-1972 | One VPP change has decreased performance of NAT44ed processing, mostly slow path. |
+| | <https://jira.fd.io/browse/VPP-1972>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+