Report: GSO release notes
[csit.git] / docs / report / vpp_performance_tests / csit_release_notes.rst
index da25ef6..eff392d 100644 (file)
@@ -4,221 +4,100 @@ Release Notes
 Changes in |csit-release|
 -------------------------
 
-#. **VPP performance tests**
+#. VPP PERFORMANCE TESTS
 
-   - *MRR tests* - Maximum Receive Rate tests measure the packet forwarding rate
-     under the maximum load offered by traffic generator over a set trial
-     duration, regardless of packet loss. MRR tests are used for continuous
-     performance trending and for comparison between releases.
+   - CSIT test environment is versioned, see
+     :ref:`test_environment_versioning`.
 
-   - *MLR tests* - NDR and PDR tests measure the packet forwarding rate using
-     MLRsearch library by traffic generator. All tests that previously used
-     binary search were converted to MLRsearch.
+   - **GENEVE tests**: Added VPP performance tests for GENEVE tunnels.
+     See :ref:`geneve_methodology` for more details.
 
-   - *L2patch tests* - Tests measure performance of L2patch, cross linking
-     RX and TX of two physical interfaces.
 
-   - *2-node tests* - Baseline set of 2-node tests covering base ip4, ip4,
-     l2patch, l2bd, l2xc.
+   - **GSO tests**: Added VPP performance tests for GSOtap and GSOvirtio.
+     All tested topologies are compared with GSO enabled and disabled.
+     In |csit-release| there is only 1t1c tests running.
+     See :ref:`gso_methodology` for more details.
 
-   - *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 multithreading* - SMT-aware automatic detection and
-     resource configuration including thread affinity, number of rx queues and
-     DPDK I/O mbufs. Tests are automatically tagged during execution indicating
-     configuration.
+   - **NAT44 tests**: Added new test type, pure throughput tests.
+     They are similar to PPS tests, but they employ ramp-up trials
+     to ensure all sessions are created (and not timing out)
+     for performance trials.
 
-  - *Intel Skylake* - Topologies consisting of 2-node and 3-node using
-    SuperMirco servers each equipped with two Intel Xeon Skylake Platinum
-    processors.
+   - **Jumbo for ipsec**: Test cases with 9000 byte frames are re-enabled
+     in ipsec suites.
 
-#. **Presentation and Analytics Layer**
+   - **Randomized profiles**: Improved repeatability and cycle length.
+     For details, see :ref:`packet_flow_ordering`.
 
-   - *Performance trending* - Added continuous performance trending and
-     analysis. New Performance Trending and Performance Analysis jobs
-     executed regular throughput tests, with results being subsequently
-     analysed and trend and anomalies summarized and presented in VPP
-     Performance Dashboard and trendline graphs.
+   - **Arm 2n-tx2 testbed**: New physical testbed type installed in
+     FD.io CSIT, with VPP and DPDK performance data added to CSIT
+     trending and this report.
 
-#. **Test Framework Optimizations**
+   - **Framework speedup**: Shortened overall test job duration
+     by using a different test selection mechanism (using --test
+     instead of --include) and by avoiding unnecessary PAPI reconnects.
 
-   - *Performance tests efficiency* - Qemu build/install optimizations,
-     warmup phase handling, vpp restart handling. Resulted in improved
-     stability and reduced total execution time by 30% for single pkt
-     size e.g. 64B/78B.
+#. TEST FRAMEWORK
 
-   - *General code housekeeping* - ongoing RF keywords optimizations,
-     removal of redundant RF keywords.
+   - **TRex ASTF**: Improved capability to run TRex in advanced stateful mode.
 
-Performance Changes
--------------------
+   - **CSIT PAPI support**: Due to issues with PAPI performance, VAT is
+     still used in CSIT for all VPP scale tests. See known issues below.
 
-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.
+   - **General Code Housekeeping**: Ongoing code optimizations,
+     speed ups and bug fixes.
 
-NDR Changes
-~~~~~~~~~~~
+#. PRESENTATION AND ANALYTICS LAYER
 
-NDR throughput changes between releases are available in a
-CSV and pretty ASCII formats:
+   - **Graphs improvements**: Updated Packet Latency graphs,
+     see :ref:`latency_methodology`.
 
-  - `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>`_.
+.. raw:: latex
 
-.. note::
+    \clearpage
 
-    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.
+.. _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-570                               | Sporadic (1 in 200) NDR discovery test failures on x520. DPDK reporting rx-errors, indicating L1 issue.   |
+|    | <https://jira.fd.io/browse/CSIT-570>`_  | Suspected issue with HW combination of X710-X520 in LF testbeds. Not observed outside of LF testbeds.     |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+|  2 | `VPP-662                                | 9000B packets not supported by NICs VIC1227 and VIC1387.                                                  |
+|    | <https://jira.fd.io/browse/VPP-662>`_   |                                                                                                           |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+|  3 | `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.         |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+|  4 | `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.                                                                                                 |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+|  5 | `VPP-1934                               | [i40e] Interfaces are not brought up from carrier-down.                                                   |
+|    | <https://jira.fd.io/browse/VPP-1934>`_  | In case of i40e -based interface (e.g Intel x700 series NIC) is bound to kernel driver (i40e) and is in   |
+|    |                                         | state "no-carrier" (<NO-CARRIER,BROADCAST,MULTICAST,UP>) because previously it was disabled via           |
+|    |                                         | "I40E_AQ_PHY_LINK_ENABLED" call, then VPP during initialization of AVF interface is not re-enabling       |
+|    |                                         | interface link via i40e driver to up.                                                                     |
+|    |                                         | CSIT implemented `workaround for AVF interface <https://gerrit.fd.io/r/c/csit/+/29086>`_ until fixed.     |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+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, both slow path and fast path.             |
+|    | <https://jira.fd.io/browse/VPP-1972>`   |                                                                                                           |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+