RCA: Add CSIT-1789 as a known issue
[csit.git] / docs / report / vpp_performance_tests / csit_release_notes.rst
index d6b3d0c..72fd0a1 100644 (file)
-CSIT Release Notes\r
-==================\r
-\r
-Changes in CSIT |release|\r
--------------------------\r
-\r
-#. Test environment changes in VPP data plane performance tests:\r
-\r
-   - Further characterization and optimizations of VPP vhost-user and VM test\r
-     methodology and test environment;\r
-\r
-     - Tests with varying Qemu virtio queue (a.k.a. vring) sizes:\r
-       [vr256] default 256 descriptors, [vr1024] 1024 descriptors to\r
-       optimize for packet throughput;\r
-\r
-     - Tests with varying Linux :abbr:`CFS (Completely Fair Scheduler)`\r
-       settings: [cfs] default settings, [cfsrr1] :abbr:`CFS (Completely Fair\r
-       Scheduler)` RoundRobin(1) policy applied to all data plane threads\r
-       handling test packet path including all VPP worker threads and all Qemu\r
-       testpmd poll-mode threads;\r
-\r
-     - Resulting test cases are all combinations with [vr256,vr1024] and\r
-       [cfs,cfsrr1] settings;\r
-\r
-     - For more detail see performance results observations section in\r
-       this report;\r
-\r
-#. Code updates and optimizations in CSIT performance framework:\r
-\r
-   - Complete CSIT framework code revision and optimizations as descried\r
-     on CSIT wiki page `Design_Optimizations\r
-     <https://wiki.fd.io/view/CSIT/Design_Optimizations>`_.\r
-\r
-   - For more detail see the :ref:`CSIT Framework Design <csit-design>` section\r
-     in this report;\r
-\r
-#. Changes to CSIT driver for TRex Traffic Generator:\r
-\r
-   - Complete refactor of TRex CSIT driver;\r
-\r
-   - Introduction of packet traffic profiles to improve usability and\r
-     manageability of traffic profiles for a growing number of test\r
-     scenarios.\r
-\r
-   - Support for packet traffic profiles to test IPv4/IPv6 stateful and\r
-     stateless DUT data plane features;\r
-\r
-#. Added VPP performance tests\r
-\r
-   - **Linux Container VPP memif virtual interface tests**\r
-\r
-     - VPP Memif virtual interface (shared memory interface) tests\r
-       interconnecting VPP instances over memif. VPP vswitch\r
-       instance runs in bare-metal user-mode handling Intel x520 NIC\r
-       10GbE interfaces and connecting over memif (Master side) virtual\r
-       interfaces to another instance of VPP running in bare-metal Linux\r
-       Container (LXC) with memif virtual interfaces (Slave side). LXC\r
-       runs in a priviliged mode with VPP data plane worker threads\r
-       pinned to dedicated physical CPU cores per usual CSIT practice.\r
-       Both VPP run the same version of software. This test topology is\r
-       equivalent to existing tests with vhost-user and VMs.\r
-\r
-   - **Stateful Security Groups**\r
-\r
-     - New tests of VPP stateful security-groups a.k.a. acl-plugin\r
-       functionally compatible with networking-vpp OpenStack;\r
-\r
-     - New tested security-groups access-control-lists (acl)\r
-       configuration variants include: [iaclNsl] input acl stateless,\r
-       [oaclNsl] output acl stateless, [iaclNsf] input acl stateful\r
-       a.k.a. reflect, [oaclNsf] output acl stateful a.k.a. reflect,\r
-       where N is number of access-control-entries (ace) in the acl.\r
-\r
-     - Testing packet flows transmitted by TG: 100, 10k, 100k, always\r
-       hitting the last permit entry in acl.\r
-\r
-   - **VPP vhost and VM tests**\r
-\r
-     - New VPP vhost-user and VM test cases to benchmark performance of\r
-       VPP and VM topologies with Qemu and CFS policy combinations of\r
-       [vr256,vr1024] x [cfs,cfsrr1];\r
-\r
-     - Statistical analysis of repeatibility of results;\r
-\r
-Performance Improvements\r
-------------------------\r
-\r
-Substantial improvements in measured packet throughput have been observed in a\r
-number of CSIT |release| tests listed below, with relative increase of\r
-double-digit percentage points. Relative improvements for this release are\r
-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|. VPP-16.09 and VPP-17.01 numbers are\r
-provided for reference.\r
-\r
-NDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Non-Drop Rate Throughput discovery tests:\r
-\r
-.. only:: html\r
-\r
-   .. csv-table::\r
-      :align: center\r
-      :file: performance_improvements/performance_improvements_ndr_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{1.5cm} m{5cm} m{#1} m{#1} 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
-        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_ndr_top.csv}\r
-      }\r
-\r
-\r
-PDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
-\r
-.. only:: html\r
-\r
-   .. csv-table::\r
-      :align: center\r
-      :file: performance_improvements/performance_improvements_pdr_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{1.5cm} m{5cm} m{#1} m{#1} 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
-        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_pdr_top.csv}\r
-      }\r
-\r
-\r
-Measured improvements are in line with VPP code optimizations listed in\r
-`VPP-17.07 release notes\r
-<https://docs.fd.io/vpp/17.07/release_notes_1707.html>`_.\r
-\r
-Other Performance Changes\r
--------------------------\r
-\r
-Other changes in measured packet throughput, with either minor relative increase\r
-or decrease, have been observed in a number of CSIT |release| tests listed\r
-below. Relative changes are calculated against the test results listed in CSIT\r
-|release-1| report.\r
-\r
-NDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Non-Drop Rate Throughput discovery tests:\r
-\r
-.. only:: html\r
-\r
-   .. csv-table::\r
-      :align: center\r
-      :file: performance_improvements/performance_improvements_ndr_low.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{1.5cm} m{5cm} m{#1} m{#1} 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
-        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_ndr_low.csv}\r
-      }\r
-\r
-\r
-PDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
-\r
-.. only:: html\r
-\r
-   .. csv-table::\r
-      :align: center\r
-      :file: performance_improvements/performance_improvements_pdr_low.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{1.5cm} m{5cm} m{#1} m{#1} 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
-        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_pdr_low.csv}\r
-      }\r
-\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 | Security-groups acl-plugin scale tests failure  | CSIT-731   | VPP with 2 worker threads crashes during security-groups        |\r
-|   | with stateful acls if VPP with 2 worker threads | VPP-912    | iaclNsf and oaclNsf tests with 100k flows.                      |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 2 | VPP fails memif tests in 4 worker 2 core setup  | CSIT-732   | VPP with 4 worker threads running on 2 physical cores crashes   |\r
-|   |                                                 | VPP-920    | during memif tests. Initial debugging points to DPDK code       |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 3 | NDR discovery test failures 1518B frame size    | VPP-663    | VPP reporting errors: dpdk-input Rx ip checksum errors.         |\r
-|   | for ip4scale200k, ip4scale2m scale IPv4 routed- |            | Observed frequency: all test runs.                              |\r
-|   | forwarding tests. ip4scale20k tests are fine.   |            |                                                                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 4 | Vic1385 and Vic1227 low performance.            | VPP-664    | Low NDR performance.                                            |\r
-|   |                                                 |            |                                                                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 5 | Sporadic NDR discovery test failures on x520.   | CSIT-750   | Suspected issue with HW settings (BIOS, FW) in LF               |\r
-|   |                                                 |            | infrastructure. Issue can't be replicated outside LF.           |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 6 | 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
-| 7 | Lower than expected NDR and PDR 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
-\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>`_  |                                                                                                           |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+