RCA: Add CSIT-1789 as a known issue
[csit.git] / docs / report / vpp_performance_tests / csit_release_notes.rst
index f88097b..72fd0a1 100644 (file)
-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{5cm} 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{6cm} 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{5cm} 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=2cm,\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{6cm} 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=2cm,\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
+.. _vpp_performance_tests_release_notes:
+
+Release Notes
+=============
+
+Changes in |csit-release|
+-------------------------
+
+#. VPP PERFORMANCE TESTS
+
+   - **AF_XDP**: Added af_xdp driver support for all test cases. Test
+     results will be added in sub-sequent CSIT-2106 report.
+
+   - **GTPU tunnel**: Added GTPU HW Offload IPv4 routing tests.
+
+   - **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.
+
+   - **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.
+
+   - **Reduction of tests**: Removed obsolete VPP use cases and
+     superfluous test combinations from continuous and report test
+     executions, including:
+
+     - All vts tests, obsolete use cases.
+     - dot1q tests apart from dot1q-l2bd, superfluous combinations.
+     - -100flows, -100kflows in all acl tests.
+     - nat44 tests
+
+       - -pps tests, replaced by -tput tests.
+       - h1-p1-s1 single session tests, unessential combination.
+       - h4096-p63-s258048 tests, unessential scale combination.
+
+     - ipsec tests
+
+       - ethip4ipsectptlispgpe.
+       - policy-aes128gcm.
+       - policy-aes128cbc-hmac256sha.
+       - policy-aes128cbc-hmac512sha.
+       - int-aes128cbc-hmac256sha.
+       - scale of
+
+         - 400tnlsw.
+         - 5000tnlsw.
+         - 20000tnlsw.
+         - 60000tnlsw.
+
+#. TEST FRAMEWORK
+
+   - **Telemetry retouch**: Refactored telemetry retrieval from DUTs and
+     SUTs. Included VPP perfmon plugin telemetry with all perfmon
+     bundles available in VPP release.
+
+   - **Upgrade to Ubuntu 20.04 LTS**: Re-installed base operating system
+     to Ubuntu 20.04.2 LTS. Upgrade included also baseline Docker
+     containers used for spawning topology.
+
+   - **CSIT test environment** version has been updated to ver. 7, see
+     :ref:`test_environment_versioning`.
+
+   - **CSIT in AWS environment**: Added CSIT support for AWS c5n
+     instances environment. Test results will be added in sub-sequent
+     CSIT-2106 report.
+
+   - **CSIT PAPI support**: Due to issues with PAPI performance, VAT is
+     still used in CSIT for all VPP scale tests. See known issues
+     below.
+
+   - **General Code Housekeeping**: Ongoing code optimizations and bug
+     fixes. 
+
+#. PRESENTATION AND ANALYTICS LAYER
+
+   - **Graphs improvements**: Updated Packet Latency graphs,
+     see :ref:`latency_methodology`.
+
+.. raw:: latex
+
+    \clearpage
+
+.. _vpp_known_issues:
+
+Known Issues
+------------
+
+List of known issues in |csit-release| for VPP performance tests:
+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| #  | 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).                     |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+
+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>`_  |                                                                                                           |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+