+.. _vpp_performance_tests_release_notes:
+
Release Notes
=============
#. VPP PERFORMANCE TESTS
- - **Intel Xeon 2n-skx, 3n-skx testbeds**: VPP performance test data
- is now included in this report version. Due to substantial impact
- of test environment changes (applied during the CSIT-2001
- development cycle) on the performance of VPP software, a new
- approach to performance comparison and progression/regression
- root cause analysis (RCA) has been applied.
-
- - CSIT test environment is now versioned, with ver. 1 associated
- with CSIT rls1908 git branch as of 2019-08-21, and ver. 2
- associated with CSIT rls2001 git branch as of 2020-03-27.
-
- - To identify performance changes due to CSIT test environment
- changes from ver. 1 to ver. 2, VPP v19.08.1 has been re-tested in
- ver. 2 and compared against the past results obtained with
- testing in ver. 1. Separate RCA1 analysis has been applied to
- this part. See :ref:`vpp_compare_current_vs_previous_release` and
- :ref:`vpp_known_issues`.
-
- - To identify performance changes due to VPP code changes from
- v19.08.1 to v20.01.0, both have been tested in CSIT environment
- ver. 2 and compared against each other. Separate RCA2 analysis
- has been applied to this part. See
- :ref:`vpp_compare_current_vs_previous_release` and
- :ref:`vpp_known_issues`.
-
- - **Intel Xeon 2n-clx testbeds**: VPP performance test data is now
- included in this report. See :ref:`vpp_known_issues`.
-
- - **Service density 2n-skx tests**: Added new NF density tests with
- IPsec encryption between DUTs.
-
- - **AVF tests**: Full test coveraged based on code changes in CSIT
- core layer (driver/interface awareness) and generated by suite
- generator (Intel Fortville NICs only).
-
- - **Hoststack tests**: Major refactor of VPP Hoststack TCP/IP
- performance tests using WRK generator talking to the VPP HTTP
- static server plugin measuring connections per second and
- requests per second. Added new iperf3 with LDPreload tests,
- iperf3/LDPreload tests with packet loss induced via the VPP NSIM
- (Network Simulator) plugin, and QUIC/UDP/IP transport tests.
- All of the new tests measure goodput through the VPP Hoststack
- from client to server.
-
- - **Latency HDRHistogram**: Added High Dynamic Range Histogram
- latency measurements based on the new capability in TRex traffic
- generator. HDRH latency data presented in latency packet
- percentile graphs and in detailed results tables.
-
- - **Mellanox CX556A-EDAT tests**: Added tests with Mellanox
- ConnectX5-2p100GE NICs in 2n-clx testbeds using VPP native rdma
- driver.
-
- - **IPsec reconfiguration tests**: Added tests measuring the impact
- of IPsec tunnels creations and removals.
-
- - **Load Balancer tests**: Added VPP performance tests for Maglev,
- L3DSR (Direct Server Return), Layer 4 Load Balancing NAT Mode.
+ - **Reduction of tests**: Removed certain test variations executed
+ iteratively for the report (as well as in daily and weekly
+ trending) due to physical testbeds overload.
#. TEST FRAMEWORK
- - **CSIT Python3 support**: Full migration of CSIT from Python2.7 to
- Python3.6. This change includes library migration, PIP dependency
- upgrade, CSIT container images, infrastructure packages
- ugrade/installation.
-
- - **CSIT PAPI support**: Finished conversion of CSIT VAT L1 keywords
- to PAPI L1 KWs in CSIT using VPP Python bindings (VPP PAPI).
- Redesign of key components of PAPI Socket Executor and PAPI
- history. Due to issues with PAPI performance, VAT is still used
- in CSIT for all VPP scale tests. See known issues below.
+ - **Removed ASTF PPS tests**: They provide no real benefit
+ compared to TPUT tests. The ip4base variants renamed to TPUT.
- - **Test Suite Generator**: Added capability to generate suites for
- different drivers per NIC model including DPDK, AVF, RDMA.
- Extended coverage for all tests.
+ - **Changed TCP TPUT profiles**: The previous ones were found to be faulty.
+ The new ones do not use bursts of packets to avoid CSIT-1830 and CSIT-1846.
- - **General Code Housekeeping**: Ongoing RF keywords optimizations,
- removal of redundant RF keywords and aligning of suite/test
- setup/teardowns.
+ - **CSIT test environment** version has been updated to ver. 10, see
+ :ref:`test_environment_versioning`.
-#. TEST ENVIRONMENT
+ - **CSIT PAPI support**: Due to issues with PAPI performance, and
+ deprecation of VAT, VPP CLI is used in CSIT for many VPP scale
+ tests. See :ref:`vpp_known_issues`.
- - **TRex Fortville NIC Performance**: Received FVL fix from Intel
- resolving TRex low throughput issue. TRex per FVL NIC throughput
- increased from ~27 Mpps to the nominal ~37 Mpps. For detail see
- `CSIT-1503 <https://jira.fd.io/browse/CSIT-1503>`_ and `TRex-519
- <https://trex-tgn.cisco.com/youtrack/issue/trex-519>`_].
-
- - **New Intel Xeon Cascadelake Testbeds**: Added performance tests
- for 2-Node-Cascadelake (2n-clx) testbeds with x710, xxv710 and
- cx556a-edat NIC cards.
+ - **General Code Housekeeping**: Ongoing code optimizations and bug
+ fixes.
#. PRESENTATION AND ANALYTICS LAYER
- - **Graphs layout improvements**: Improved performance graphs layout
- for better readibility and maintenance: test grouping, axis
- labels, descriptions, other informative decoration.
-
- - **Latency graphs**: Min/Avg/Max group bar latency graphs are
- replaced with packet latency percentile distributon at different
- background packet loads based on TRex latency hdrhistogram
- measurements.
+ - **Graphs improvements**: Updated Packet Latency graphs,
+ see :ref:`latency_methodology`.
.. raw:: latex
Known Issues
------------
-List of known issues in |csit-release| for VPP performance tests:
+New
+___
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| # | JiraID | Issue Description |
+| # | 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. |
+| 1 | `CSIT-1827 | 3n-icx, 3n-skx: all AVF crypto tests sporadically fail. 1518B with no traffic, IMIX with excessive |
+| | <https://jira.fd.io/browse/CSIT-1827>`_ | packet loss. |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 2 | `VPP-662 | 9000B packets not supported by NICs VIC1227 and VIC1387. |
-| | <https://jira.fd.io/browse/VPP-662>`_ | |
+| 2 | `CSIT-1830 | All testbeds: All TCP tput (and pps) tests are failing for small packets. |
+| | <https://jira.fd.io/browse/CSIT-1830>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 3 | `CSIT-1498 | Memif tests are sporadically failing on initialization of memif connection. |
-| | <https://jira.fd.io/browse/CSIT-1498>`_ | |
+| 3 | `CSIT-1832 | 3n-alt: NDR 1 packet lost on random tests. |
+| | <https://jira.fd.io/browse/CSIT-1832>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 4 | `VPP-1677 | 9000B ip4 nat44: VPP crash + coredump. |
-| | <https://jira.fd.io/browse/VPP-1677>`_ | VPP crashes very often in case that NAT44 is configured and it has to process IP4 jumbo frames (9000B). |
+| 4 | `CSIT-1834 | 2n-icx, 2n-skx: sporadic AVF soak tests failing to find critical load with PLRsearch. |
+| | <https://jira.fd.io/browse/CSIT-1834>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 5 | `CSIT-1591 | 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-1499>`_ | longer to program VPP). This needs to be addressed on the PAPI side. |
-| +-----------------------------------------+ |
-| | `VPP-1763 | |
-| | <https://jira.fd.io/browse/VPP-1763>`_ | |
+| 5 | `CSIT-1846 | 2n-skx, 2n-clx, 2n-icx: ALL 1518B TCP tput tests failing with big packet loss. |
+| | <https://jira.fd.io/browse/CSIT-1846>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 6 | `VPP-1675 | IPv4 IPSEC 9000B packet tests are failing as no packet is forwarded. |
-| | <https://jira.fd.io/browse/VPP-1675>`_ | Reason: chained buffers are not supported. |
+| 6 | `CSIT-1847 | 2n-skx: all 10vm-1t test failed with half of packets dropped. |
+| | <https://jira.fd.io/browse/CSIT-1847>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 7 | `CSIT-1593 | IPv4 AVF 9000B packet tests are failing on 3n-skx while passing on 2n-skx. |
-| | <https://jira.fd.io/browse/CSIT-1593>`_ | |
+| 7 | `CSIT-1849 | 2n-skx: UDP 16m tput tests fail to create all sessions. |
+| | <https://jira.fd.io/browse/CSIT-1849>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 8 | `CSIT-1675 | Intel Xeon 2n-skx, 3n-skx and 2n-clx testbeds behaviour and performance became inconsistent following |
-| | <https://jira.fd.io/browse/CSIT-1675>`_ | the upgrade to the latest Ubuntu 18.04 LTS kernel version (4.15.0-72-generic) and associated microcode |
-| | | packages (skx ucode 0x2000064, clx ucode 0x500002c). VPP as well as DPDK L3fwd tests are affected. |
+
+Previous
+________
+
+Issues reported in previous releases which still affect the current results.
+
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 9 | `CSIT-1679 | All 2n-clx VPP ip4 tests with xxv710 and avf driver are failing. |
-| | <https://jira.fd.io/browse/CSIT-1679>`_ | |
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `CSIT-1799 | All NAT44-ED 16M scale tests fail while setting NAT44 address range. |
+| | <https://jira.fd.io/browse/CSIT-1799>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 10 | `CSIT-1680 | Some 2n-clx cx556a rdma tests are failing. |
-| | <https://jira.fd.io/browse/CSIT-1680>`_ | |
+| 2 | `CSIT-1800 | All Geneve L3 mode scale tests (1024 tunnels) are failing. |
+| | <https://jira.fd.io/browse/CSIT-1800>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 11 | `CSIT-1699 | Root Cause Analysis for CSIT-2001. Investigate high stdev of tests with VPP inside VM. |
-| | <https://jira.fd.io/browse/CSIT-1699>`_ | |
-| +-----------------------------------------+ |
-| | `CSIT-1704 | |
-| | <https://jira.fd.io/browse/CSIT-1704>`_ | |
+| 3 | `CSIT-1802 | AF-XDP - NDR tests failing from time to time. |
+| | <https://jira.fd.io/browse/CSIT-1802>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 12 | `CSIT-1699 | Root Cause Analysis for CSIT-2001. Identify cause of dot1q-l2xcbase progression. |
-| | <https://jira.fd.io/browse/CSIT-1699>`_ | |
-| +-----------------------------------------+ |
-| | `CSIT-1705 | |
-| | <https://jira.fd.io/browse/CSIT-1705>`_ | |
+| 4 | `CSIT-1803 | 3n-icx testbeds (Icelake): all IMIX aes128cbc-hmac512sha tests are failing due to excessive packet loss. |
+| | <https://jira.fd.io/browse/CSIT-1803>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 13 | `CSIT-1699 | Root Cause Analysis for CSIT-2001. Identify cause of avf-ip4scale regression. |
-| | <https://jira.fd.io/browse/CSIT-1699>`_ | |
-| +-----------------------------------------+ |
-| | `CSIT-1706 | |
-| | <https://jira.fd.io/browse/CSIT-1706>`_ | |
+| 5 | `CSIT-1804 | 3n-tsh, 3n-alt testbed (Taishan, Altra): NDR tests failing from time to time. |
+| | <https://jira.fd.io/browse/CSIT-1804>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 14 | `CSIT-1699 | Root Cause Analysis for CSIT-2001. Identify cause of progression in vhost-user tests with testpmd in VM. |
-| | <https://jira.fd.io/browse/CSIT-1699>`_ | |
-| +-----------------------------------------+ |
-| | `CSIT-1707 | |
-| | <https://jira.fd.io/browse/CSIT-1707>`_ | |
+| 6 | `CSIT-1812 | All IMIX NAT44DET 4m 16m scale tests fail due to not creating required session count. |
+| | <https://jira.fd.io/browse/CSIT-1812>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 15 | `CSIT-1699 | Root Cause Analysis for CSIT-2001. Identify cause for avf-ip4base regression. |
-| | <https://jira.fd.io/browse/CSIT-1699>`_ | |
-| +-----------------------------------------+ |
-| | `CSIT-1708 | |
-| | <https://jira.fd.io/browse/CSIT-1708>`_ | |
+| 7 | `CSIT-1782 | Multicore AVF tests are failing when trying to create interface. |
+| | <https://jira.fd.io/browse/CSIT-1782>`_ | Frequency is reduced by CSIT workaround, but occasional failures do still happen. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 8 | `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. |
+| +-----------------------------------------+ Currently, the time critical code uses VAT running large files with exec statements and CLI commands. |
+| | `VPP-1763 | Still, we needed to reduce the number of scale tests run to keep overall duration reasonable. |
+| | <https://jira.fd.io/browse/VPP-1763>`_ | More improvements needed to achieve sufficient configuration speed. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 9 | `CSIT-1785 | NAT44ED tests failing to establish all TCP sessions. |
+| | <https://jira.fd.io/browse/CSIT-1785>`_ | At least for max scale, in allotted time (limited by session 500s timeout) due to worse |
+| +-----------------------------------------+ slow path performance than previously measured and calibrated for. |
+| | `VPP-1972 | CSIT removed the max scale NAT tests to avoid this issue. |
+| | <https://jira.fd.io/browse/VPP-1972>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 10 | `CSIT-1801 | 9000B payload frames not forwarded over tunnels due to violating supported Max Frame Size (VxLAN, LISP, |
+| | <https://jira.fd.io/browse/CSIT-1801>`_ | SRv6). |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 11 | `CSIT-1808 | All tests with 9000B payload frames not forwarded over memif interfaces. |
+| | <https://jira.fd.io/browse/CSIT-1808>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 12 | `CSIT-1809 | All tests with 9000B payload frames not forwarded over vhostuser interfaces. |
+| | <https://jira.fd.io/browse/CSIT-1809>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+Fixed
+_____
+
+Issues reported in previous releases which were fixed in this release:
+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `CSIT-1810 | DPDK - performance regression with DPDK driver when Max Frame Size is set to less than 2023. |
+| | <https://jira.fd.io/browse/CSIT-1810>`_ | |
+| +-----------------------------------------+ |
+| | `VPP-1876 | Worse performance with DPDK driver when MTU is set to 2022 or less. |
+| | <https://jira.fd.io/browse/VPP-1876>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 2 | `CSIT-1811 | All 9000B NAT44DET 64k 1m scale tests fail due to bps rate set to high on TRex. |
+| | <https://jira.fd.io/browse/CSIT-1811>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 3 | `CSIT-1791 | Performance regression in RDMA tests, due to CSIT environment changes. |
+| | <https://jira.fd.io/browse/CSIT-1791>`_ | Two symptoms: 1. 10-20% regression across most tests. 2. DUT performance cap just below 38 Mpps. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+.. _vpp_rca:
+
+Root Cause Analysis for Performance Changes
+-------------------------------------------
+
+List of RCAs in |csit-release| for VPP performance changes:
+
++----+-----------------------------------------+-------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+=====================================================================================+
+| 1 | `CSIT-1851 | trending regression: various icelake tests around 2202-04-15 |
+| | <https://jira.fd.io/browse/CSIT-1851>`_ | Somewhat expected consequence of a VPP usability fix, |
+| | | the previous VPP compiler version was too new for the OS used. |
++----+-----------------------------------------+-------------------------------------------------------------------------------------+
+| 2 | `VPP-2030 | regression: ip6base on ICX around 2022-03-23 |
+| | <https://jira.fd.io/browse/VPP-2030>`_ | "Loads blocked due to overlapping with a preceding store that cannot be forwarded." |
+| | | started happening in ip6-lookup graph node. |
++----+-----------------------------------------+-------------------------------------------------------------------------------------+
+| 3 | `CSIT-1852 | 2n-zn2 mellanox performance cap |
+| | <https://jira.fd.io/browse/CSIT-1852>`_ | Old issue, only now distinguished from CSIT-1751. |
+| | | This testbed+nic combination is capped below 28 Mpps, cause not identified yet. |
++----+-----------------------------------------+-------------------------------------------------------------------------------------+
+| 4 | `CSIT-1853 | trending regression: nat44ed cps around 2202-04-01 |
+| | <https://jira.fd.io/browse/CSIT-1853>`_ | VPP change added more computation to slow path (in order to support multiple VRFs). |
+| | | Not clear if the VPP implementation is optimized enough. |
++----+-----------------------------------------+-------------------------------------------------------------------------------------+