+.. _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.
+ - **Regressions with DPDK drivers**: Change from DPDK v21.08 to DPDK
+ v21.11 introduced regression across all tests using dpdk
+ drivers (with dpdk_plugin loaded). Compared to previous VPP
+ release performance drop varies in the range of -15% to -6%,
+ depending on test. It is related to updated MTU checks within
+ DPDK code and associated VPP code changes. See
+ `VPP v2202 release notes <https://s3-docs.fd.io/vpp/22.02/aboutvpp/releasenotes/v22.02.html>`_
+ and :ref:`vpp_known_issues`.
+
+ - **Number of CSIT 9000B frame tests failing**: tests with higher
+ encapsulation overhead are failing due to exceeding default
+ Ethernet Maximum Frame Size value that has been reduced by MTU
+ related VPP code changes. See
+ `VPP v2202 release notes <https://s3-docs.fd.io/vpp/22.02/aboutvpp/releasenotes/v22.02.html>`_
+ and :ref:`vpp_known_issues`.
+
+ - **Intel Xeon Ice Lake**: Performance test data for these platforms
+ is now provided by testbeds newly installed in FD.io CSIT labs.
+ For details about the physical setup see
+ :ref:`physical_testbeds_2n_icx` and
+ :ref:`physical_testbeds_3n_icx`.
+
+ - **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.
+
+ - **RC2 coverage test data is used for 2n-icx test bed**: There is only
+ one 2n-icx test bed and the amount of tests is large (same as 2n-skx with 4
+ test beds), so we decided to use test data already available from RC2
+ testing.
#. 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.
-
- - **Test Suite Generator**: Added capability to generate suites for
- different drivers per NIC model including DPDK, AVF, RDMA.
- Extended coverage for all tests.
-
- - **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. 9, 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.
-
-..
- // Alternative Note for 1st Bullet when bad microcode Skx, Clx results are published
- - **Intel Xeon 2n-skx, 3n-skx and 2n-clx testbeds**: VPP performance
- test data is included in this report version, but it shows lower
- performance and behaviour inconsistency of these systems
- following the upgrade of processor microcode packages (skx ucode
- 0x2000064, clx ucode 0x500002c) as part of updating Ubuntu 18.04
- LTS kernel version. Tested VPP and DPDK applications (L3fwd) are
- affected. Skx and Clx test data will be corrected in subsequent
- maintenance report version(s) once the issue is resolved. See
- :ref:`vpp_known_issues`.
+ - **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. |
-+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 2 | `VPP-662 | 9000B packets not supported by NICs VIC1227 and VIC1387. |
-| | <https://jira.fd.io/browse/VPP-662>`_ | |
+| 1 | `CSIT-1799 | All NAT44-ED 16M scale tests fail while setting NAT44 address range. |
+| | <https://jira.fd.io/browse/CSIT-1799>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 3 | `CSIT-1498 | Memif tests are sporadically failing on initialization of memif connection. |
-| | <https://jira.fd.io/browse/CSIT-1498>`_ | |
+| 2 | `CSIT-1800 | All Geneve L3 mode scale tests (1024 tunnels) are failing. |
+| | <https://jira.fd.io/browse/CSIT-1800>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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). |
+| 3 | `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). |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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>`_ | |
+| 4 | `CSIT-1808 | All tests with 9000B payload frames not forwarded over memif interfaces. |
+| | <https://jira.fd.io/browse/CSIT-1808>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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. |
+| 5 | `CSIT-1809 | All tests with 9000B payload frames not forwarded over vhostuser interfaces. |
+| | <https://jira.fd.io/browse/CSIT-1809>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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>`_ | |
+| 6 | `CSIT-1802 | AF-XDP - NDR tests failing from time to time. |
+| | <https://jira.fd.io/browse/CSIT-1802>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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. |
+| 7 | `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>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 9 | `CSIT-1679 | All 2n-clx VPP ip4 tests with xxv710 and avf driver are failing. |
-| | <https://jira.fd.io/browse/CSIT-1679>`_ | |
+| 8 | `CSIT-1804 | 3n-tsh testbed (Taishan): NDR tests failing from time to time. |
+| | <https://jira.fd.io/browse/CSIT-1804>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 10 | `CSIT-1680 | Some 2n-clx cx556a rdma tests are failing. |
-| | <https://jira.fd.io/browse/CSIT-1680>`_ | |
+| 9 | `CSIT-1805 | 3n-skx testbeds (Skylake): all hoststack quic vppecho scale tests are failing. |
+| | <https://jira.fd.io/browse/CSIT-1805>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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>`_ | |
+| 10 | `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>`_ | |
| +-----------------------------------------+ |
-| | `CSIT-1704 | |
-| | <https://jira.fd.io/browse/CSIT-1704>`_ | |
+| | `VPP-1876 | Worse performance with DPDK driver when MTU is set to 2022 or less. |
+| | <https://jira.fd.io/browse/VPP-1876>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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>`_ | |
+| 11 | `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>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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>`_ | |
+| 12 | `CSIT-1812 | All IMIX NAT44DET 4m 16m scale tests fail due to not creating required session count. |
+| | <https://jira.fd.io/browse/CSIT-1812>`_ | |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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>`_ | |
+
+
+Previous
+________
+
+Issues reported in previous releases which still affect the current results.
+
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| 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>`_ | |
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `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. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 2 | `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. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 3 | `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>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 4 | `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. |
+----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+Fixed
+_____
+
+Issues reported in previous releases which were fixed in this release:
+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `CSIT-1789 | IPSEC SW async scheduler tests show bad behavior. |
+| | <https://jira.fd.io/browse/CSIT-1789>`_ | VPP code is not behaving correctly when crypto workers are the bottleneck. |
+| +-----------------------------------------+ |
+| | `VPP-1998 | |
+| | <https://jira.fd.io/browse/VPP-1998>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+
+Root Cause Analysis for Performance Changes
+-------------------------------------------
+
+List of RCAs in |csit-release| for VPP performance changes:
+
++----+-----------------------------------------+--------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+==============================================================+
+| 1 | `CSIT-1814 | rls2202 regression: NAT44ED CPS larger scales. |
+| | <https://jira.fd.io/browse/CSIT-1814>`_ | |
++----+-----------------------------------------+--------------------------------------------------------------+
+| 2 | `CSIT-1815 | rls2202 regression: l2bdbasemaclrn around 2021-11-11. |
+| | <https://jira.fd.io/browse/CSIT-1815>`_ | |
++----+-----------------------------------------+--------------------------------------------------------------+
+| 3 | `CSIT-1816 | rls2202 regression: l2-input. |
+| | <https://jira.fd.io/browse/CSIT-1816>`_ | |
++----+-----------------------------------------+--------------------------------------------------------------+
+| 4 | `CSIT-1820 | rls2202 regression: tx2 ip6base at dpdk upgrade. |
+| | <https://jira.fd.io/browse/CSIT-1820>`_ | |
++----+-----------------------------------------+--------------------------------------------------------------+
+| 5 | `CSIT-1821 | rls2202 regression: tx2 ip6base before dpdk upgrade. |
+| | <https://jira.fd.io/browse/CSIT-1821>`_ | |
++----+-----------------------------------------+--------------------------------------------------------------+
+| 6 | `CSIT-1822 | rls2202 regression: avf-ip4base around 2022-01-06. |
+| | <https://jira.fd.io/browse/CSIT-1822>`_ | |
++----+-----------------------------------------+--------------------------------------------------------------+
+| 7 | `CSIT-1823 | rls2202 regression: vxlan-l2xcbase on tsh around 2022-01-07. |
+| | <https://jira.fd.io/browse/CSIT-1823>`_ | |
++----+-----------------------------------------+--------------------------------------------------------------+
+| 8 | `CSIT-1824 | rls2202 regression: SRv6. |
+| | <https://jira.fd.io/browse/CSIT-1824>`_ | |
++----+-----------------------------------------+--------------------------------------------------------------+