X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=docs%2Freport%2Fvpp_performance_tests%2Fcsit_release_notes.rst;h=16a7db38e64683eee48cbd42478507d643c7bb86;hp=c9df5478bc6def17c73ac00c5836293c97dc9478;hb=67d3b2a44d49dd2c4a1b2f722849f57432787137;hpb=908bc54fd36b636382a6c76c351cb85483f80d8e diff --git a/docs/report/vpp_performance_tests/csit_release_notes.rst b/docs/report/vpp_performance_tests/csit_release_notes.rst index c9df5478bc..16a7db38e6 100644 --- a/docs/report/vpp_performance_tests/csit_release_notes.rst +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -4,239 +4,127 @@ Release Notes Changes in |csit-release| ------------------------- -#. **VPP Performance Tests** +#. VPP PERFORMANCE TESTS - - **MRR Throughput**: MRR (Maximum Receive Rate) test code has now - configurable trial duration and number of consecutive executions. - Coverage of MRR tests has been extended across more test - scenarios. MRR tests are used for continuous performance trending - and for comparison between VPP releases. + - CSIT test environment is versioned, see + :ref:`test_environment_versioning`. - - **MLRsearch Throughput**: MLRsearch algorithm has been introduced - for all NDR and PDR throughput tests. All tests that previously - used binary search got converted to MLRsearch. Coverage of NDR/PDR - tests has been extended across more test scenarios. + - To identify performance changes due to VPP code changes from + v20.05.0 to v20.09.0, both have been tested in CSIT environment + ver. 5 and compared against each other. All substantial + progressions has been marked up with RCA analysis. See + :ref:`vpp_compare_current_vs_previous_release` and + :ref:`vpp_known_issues`. - - **L2patch Tests**: Tests measure performance of VPP L2patch, the - fastest L2 forwarding path implemented in VPP, that cross-links - RX and TX of two physical interfaces. + - **GENEVE tests**: Added VPP performance tests for GENEVE tunnels. - - **2-Node Tests**: A new baseline set of 2-node tests covering base - ip4, ip6, l2patch, l2bd, l2xc, running on new Xeon Skylake - testbeds. + - See :ref:`geneve_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. + - **NAT44 tests**: Adapted existing and added new tests. - - **Simultaneous Multi-Threading**: SMT-aware detection of server - processor operation mode (HyperThreading enabled/disabled) with - associated compute resource configuration including thread - affinity, number of Rx queues and DPDK I/O mbufs. Tests are - automatically tagged during execution to indicate executed thread - configuration. + - Refactored NAT44 deterministic mode (nat44det) tests to use separate + det44 vpp plugin and to use the same scheme of inside and outside + addresses and ports, as used in new NAT44 endpoint-dependent mode tests. - - **Intel Xeon Skylake Support**: Support for 2-Node and 3-Node - physical testbed topologies based on the new SuperMirco servers - each with two Intel Xeon Skylake Platinum processors. Full - Ansible playbooks refactor for quick server (re)installation and - reference pointers of configuration. + - Added new NAT44 endpoint-depended mode uni-directional (nat44ed-udir) + tests that measure packet throughput in one direction with usage of TRex + in stateless mode. -#. **Presentation and Analytics Layer** + - Added new NAT44 endpoint-dependent mode CPS tests that measure + connections per second with usage of TRex in stateful mode. + UPD packet size is 64 bytes. Size of TCP control packets + is not configurable, please ignore the -64b- part of test names. - - **Performance trending**: Further improved continuous performance - trending with anomaly detection and analysis. + - Added new NAT44 endpoint-dependent mode PPS tests that measure + packets per second (control and data together) with usage of TRex + in stateful mode. UPD packet size is 64 bytes. Size of TCP + data packets is governed by the default MSS value, so most data packets + are 1460 bytes long, please ignore the -64b- part of test names. -#. **Test Framework Optimizations** + - See :ref:`nat44_methodology` for more details. - - **General Code Housekeeping**: Ongoing RF keywords optimizations, - removal of redundant RF keywords. - -Performance Changes -------------------- - -Relative performance changes in measured NDR, PDR and MRR packet -throughput in |csit-release| are calculated against the test results -from |csit-release-1| report, for tests running on 3-Node Intel Xeon -Haswell testbeds (3n-hsw) in 1-core, 2-core and 4-core (MRR only) -configurations. - -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. - -NDR Changes -~~~~~~~~~~~ - -NDR throughput changes between releases are available in CSV and pretty -ASCII formats: - - - `CSV 1t1c NDR changes <../_static/vpp/performance-changes-1t1c-ndr.csv>`_, - - `CSV 2t2c NDR changes <../_static/vpp/performance-changes-2t2c-ndr.csv>`_, - - `ASCII 1t1c NDR changes <../_static/vpp/performance-changes-1t1c-ndr.txt>`_, - - `ASCII 2t2c NDR changes <../_static/vpp/performance-changes-2t2c-ndr.txt>`_. - -.. note:: - - Test results have been generated by - `FD.io test executor vpp performance job 3n-hsw`_, - with RF result - files csit-vpp-perf-|srelease|-\*.zip - `archived here <../_static/archive/>`_. - -PDR Changes -~~~~~~~~~~~ - -PDR throughput changes between releases are available in CSV and pretty -ASCII formats: - - - `CSV 1t1c PDR changes <../_static/vpp/performance-changes-1t1c-pdr.csv>`_, - - `CSV 2t2c PDR changes <../_static/vpp/performance-changes-2t2c-pdr.csv>`_, - - `ASCII 1t1c PDR changes <../_static/vpp/performance-changes-1t1c-pdr.txt>`_, - - `ASCII 2t2c PDR changes <../_static/vpp/performance-changes-2t2c-pdr.txt>`_. - -.. note:: - - Test results have been generated by - `FD.io test executor vpp performance job 3n-hsw`_, - with RF result - files csit-vpp-perf-|srelease|-\*.zip - `archived here <../_static/archive/>`_. - -MRR Changes -~~~~~~~~~~~ + - **IPSec async mode tests**: Added VPP performance tests for async crypto + engine. -MRR throughput changes between releases are available in CSV and pretty -ASCII formats: + - **AMD 2n-zn2 testbed**: New physical testbed type installed in + FD.io CSIT, with VPP and DPDK performance data added to CSIT + trending and this report. - - `CSV 1t1c MRR changes <../_static/vpp/performance-changes-1t1c-mrr.csv>`_, - - `CSV 2t2c MRR changes <../_static/vpp/performance-changes-2t2c-mrr.csv>`_, - - `CSV 4t4c MRR changes <../_static/vpp/performance-changes-4t4c-mrr.csv>`_, - - `ASCII 1t1c MRR changes <../_static/vpp/performance-changes-1t1c-mrr.txt>`_, - - `ASCII 2t2c MRR changes <../_static/vpp/performance-changes-2t2c-mrr.txt>`_, - - `ASCII 4t4c MRR changes <../_static/vpp/performance-changes-4t4c-mrr.txt>`_. + - **AMD 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. -.. note:: +#. TEST FRAMEWORK - Test results have been generated by - `FD.io test executor vpp performance job 3n-hsw`_, - with RF result - files csit-vpp-perf-|srelease|-\*.zip - `archived here <../_static/archive/>`_. + - **TRex ASTF**: Added capability to run TRex in advanced stateful mode. -Skx vs. Hsw Comparison ----------------------- + - **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 comparison in measured NDR, PDR and MRR packet -throughput is calculated for tests executed on 3-Node Skylake (3n-skx) -and 3-Node Haswell (3n-hsw) physical testbed types in 1-core -configurations. - -NDR Comparison -~~~~~~~~~~~~~~ - -NDR comparison between testbed types is available in CSV and pretty -ASCII formats: - - - `CSV 1c NDR comparison <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-ndr.csv>`_, - - `ASCII 1c NDR comparison <../_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 RF result - files csit-vpp-perf-|srelease|-\*.zip - `archived here <../_static/archive/>`_. - -PDR Comparison -~~~~~~~~~~~~~~ - -PDR comparison between testbed types is available in CSV and pretty -ASCII formats: - - - `CSV 1c PDR comparison <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-pdr.csv>`_, - - `ASCII 1c PDR comparison <../_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 RF result - files csit-vpp-perf-|srelease|-\*.zip - `archived here <../_static/archive/>`_. - -MRR Comparison -~~~~~~~~~~~~~~ - -MRR comparison between testbed types is available in CSV and pretty -ASCII formats: - - - `CSV 1c MRR comparison <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-mrr.csv>`_, - - `ASCII 1c MRR comparison <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-mrr.txt>`_. - -.. note:: + - **General Code Housekeeping**: Ongoing RF keywords optimizations, + removal of redundant RF keywords and aligning of suite/test + setup/teardowns. - 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 RF result - files csit-vpp-perf-|srelease|-\*.zip - `archived here <../_static/archive/>`_. + - **Intel E810CQ 100G NIC**: Added configuration for Intel E810CQ 100G NIC. + No tests run for this NIC as it is not present in FD.io CSIT lab yet. -Throughput Trending -------------------- +#. PRESENTATION AND ANALYTICS LAYER -In addition to reporting throughput changes between VPP releases, CSIT -provides continuous performance trending for VPP master branch: + - **Graphs improvements**: Added possibility to use Gbps on Y-axis in + Packet Throughput and Speedup Multi-Core graphs, added unidirectional + mode to the Latency graphs. -#. `VPP Performance Dashboard `_ - - per VPP test case throughput trend, trend compliance and summary of - detected anomalies. +.. raw:: latex -#. `Trending Methodology `_ - - throughput test metrics, trend calculations and anomaly - classification (progression, regression, outlier). + \clearpage -#. `Trendline Graphs `_ - - 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: -+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| # | JiraID | Issue Description | -+===+=========================================+=================================================================================================================================+ -| 1 | `CSIT-570 | Sporadic (1 in 200) NDR discovery test failures on x520. DPDK reporting rx-errors, indicating L1 issue. | -| | `_ | Suspected issue with HW combination of X710-X520 in LF testbeds. Not observed outside of LF testbeds. | -+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| 2 | `VPP-1361 | High failure rate of api call sw_interface_set_flags [admin-up|link-up]. | -| | `_ | Failure rate: 30-40% of tests failing due to interfaces not in link-up state after API call sw_interface_set_flags. | -+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| 3 | `CSIT-1234 | VPP IPSecHW scale interface mode 1core, low NDR and PDR 64B throughput in 3n-hsw testbeds, in CSIT-18.07 vs. CSIT-18.04. | -| | `_ | ip4ipsecscale1000tnl-ip4base-int 1core CSIT-18.07/18.04 relative change: NDR -31%, PDR -32%, MRR -38%. | -+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| 4 | `CSIT-1242 | VPP xl710 ip4base test 1core, low NDR and PDR 64B throughput in 3n-hsw testbeds, in CSIT-18.07 vs. CSIT-18.04. | -| | `_ | xl710 ip4base 1core CSIT-18.07/18.04 relative change: NDR -29%, high stdev. | -+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| 5 | `CSIT-1243 | VPP nat44 base test 2core, low NDR and PDR 64B throughput in 3n-skx testbeds, compared to 3n-hsw testbeds. | -| | `_ | ip4base-nat44 2core 3n-skx/3n-hsw relative change: NDR -19%, PDR -22%. | -+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| 6 | `CSIT-1244 | VPP lispip4 base test 2core, low NDR and PDR 64B throughput in 3n-skx testbeds, compared to 3n-hsw testbeds. | -| | `_ | ip4lispip4-ip4base 2core 3n-skx/3n-hsw relative change: NDR -11%, PDR -18%. | -+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| 7 | `CSIT-1245 | VPP srv6proxy-stat and srv6proxy-masq, much higher NDR and PDR 78B throughput in 3n-hsw testbeds, in CSIT-18.07 vs. CSIT-18.04. | -| | `_ | Due to wrong test suite configuration in dynamic-proxy mode. Artefact of suite code refactoring. | -+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| # | JiraID | Issue Description | ++====+=========================================+===========================================================================================================+ +| 1 | `CSIT-570 | Sporadic (1 in 200) NDR discovery test failures on x520. DPDK reporting rx-errors, indicating L1 issue. | +| | `_ | 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. | +| | `_ | | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| 3 | `CSIT-1763 | Adapt ramp-up phase of nat44 tests for different frame sizes. | +| | `_ | 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 | +| | `_ | 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 | +| | `_ | too long. | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| 5 | `CSIT-1771 | IPv4 IPSEC 9000B packet tests had been failing when chained buffers were not supported. | +| | `_ | This has been fixed on VPP side, but CSIT still needs to re-enable jumbo tests. | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| 6 | `VPP-1934 | [i40e] Interfaces are not brought up from carrier-down. | +| | `_ | In case of i40e -based interface (e.g Intel x700 series NIC) is bound to kernel driver (i40e) and is in | +| | | state "no-carrier" () 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 `_ until fixed. | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| 7 | `CSIT-1760 | All Mellanox / rdma driver tests are failing on LF testbed28 while successfully run on other LF testbeds. | +| | `_ | | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ + +Root Cause Analysis for Performance Changes +------------------------------------------- + +List of RCAs in |csit-release| for VPP performance changes: + ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| # | JiraID | Issue Description | ++====+=========================================+===========================================================================================================+ +| 1 | | | +| | | | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+