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=72fd0a1b61efe88232b7055223124ec24e5cd190;hp=9c6514326688ec56046686442884ebe8160b56f9;hb=68f32506b32feddae4f9674a7a32cd3d0ea61fb7;hpb=966a5b95c5c24bf0bbbeca7e837743cb92d1144e diff --git a/docs/report/vpp_performance_tests/csit_release_notes.rst b/docs/report/vpp_performance_tests/csit_release_notes.rst index 9c65143266..72fd0a1b61 100644 --- a/docs/report/vpp_performance_tests/csit_release_notes.rst +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -1,236 +1,128 @@ +.. _vpp_performance_tests_release_notes: + Release Notes ============= Changes in |csit-release| ------------------------- -#. **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. - - - **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. - - - **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. - - - **2-Node Tests**: A new baseline set of 2-node tests covering base - ip4, ip6, l2patch, l2bd, l2xc, running on new Xeon Skylake - testbeds. - - - **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. - - - **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. - - - **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. - -#. **Presentation and Analytics Layer** - - - **Performance trending**: Further improved continuous performance - trending with anomaly detection and analysis. - -#. **Test Framework Optimizations** - - - **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>`_. +#. VPP PERFORMANCE TESTS -.. note:: + - **AF_XDP**: Added af_xdp driver support for all test cases. Test + results will be added in sub-sequent CSIT-2106 report. - 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/>`_. + - **GTPU tunnel**: Added GTPU HW Offload IPv4 routing tests. -PDR Changes -~~~~~~~~~~~ + - **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. -PDR throughput changes between releases are available in CSV and pretty -ASCII formats: + - **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. - - `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>`_. + - **Reduction of tests**: Removed obsolete VPP use cases and + superfluous test combinations from continuous and report test + executions, including: -.. note:: + - All vts tests, obsolete use cases. + - dot1q tests apart from dot1q-l2bd, superfluous combinations. + - -100flows, -100kflows in all acl tests. + - nat44 tests - 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/>`_. + - -pps tests, replaced by -tput tests. + - h1-p1-s1 single session tests, unessential combination. + - h4096-p63-s258048 tests, unessential scale combination. -MRR Changes -~~~~~~~~~~~ + - ipsec tests -MRR throughput changes between releases are available in CSV and pretty -ASCII formats: + - ethip4ipsectptlispgpe. + - policy-aes128gcm. + - policy-aes128cbc-hmac256sha. + - policy-aes128cbc-hmac512sha. + - int-aes128cbc-hmac256sha. + - scale of - - `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>`_. + - 400tnlsw. + - 5000tnlsw. + - 20000tnlsw. + - 60000tnlsw. -.. 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/>`_. + - **Telemetry retouch**: Refactored telemetry retrieval from DUTs and + SUTs. Included VPP perfmon plugin telemetry with all perfmon + bundles available in VPP release. -Skx vs. Hsw Comparison ----------------------- + - **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. -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. + - **CSIT test environment** version has been updated to ver. 7, see + :ref:`test_environment_versioning`. -NDR Comparison -~~~~~~~~~~~~~~ + - **CSIT in AWS environment**: Added CSIT support for AWS c5n + instances environment. Test results will be added in sub-sequent + CSIT-2106 report. -NDR comparison between testbed types is available in CSV and pretty -ASCII formats: + - **CSIT PAPI support**: Due to issues with PAPI performance, VAT is + still used in CSIT for all VPP scale tests. See known issues + below. - - `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>`_. + - **General Code Housekeeping**: Ongoing code optimizations and bug + fixes. -.. note:: +#. PRESENTATION AND ANALYTICS LAYER - 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/>`_. + - **Graphs improvements**: Updated Packet Latency graphs, + see :ref:`latency_methodology`. -PDR Comparison -~~~~~~~~~~~~~~ +.. raw:: latex -PDR comparison between testbed types is available in CSV and pretty -ASCII formats: + \clearpage - - `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:: - - 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/>`_. - -Throughput Trending -------------------- - -In addition to reporting throughput changes between VPP releases, CSIT -provides continuous performance trending for VPP master branch: - -#. `VPP Performance Dashboard `_ - - per VPP test case throughput trend, trend compliance and summary of - detected anomalies. - -#. `Trending Methodology `_ - - throughput test metrics, trend calculations and anomaly - classification (progression, regression, outlier). - -#. `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: -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| # | Issue | Jira ID | Description | -+===+=================================================+============+=================================================================+ -| 1 | Sporadic (1 in 200) NDR discovery test failures | CSIT-570 | DPDK reporting rx-errors, indicating L1 issue. Suspected issue | -| | on x520. | | with HW combination of X710-X520 in LF testbeds. Not observed | -| | | | outside of LF testbeds. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 2 | High failure rate of api call | VPP-1361 | Failure rate: 30-40% of tests failing due to interfaces not | -| | sw_interface_set_flags [admin-up|link-up] | | in link-up state after API call sw_interface_set_flags. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 3 | Scale IPSecHW Interface mode throughput | CSIT-1234 | IPSec throughput regression - 1core deltas: NDR -32%, PDR -33%, | -| | regression. | | MRR -38%. Affects IPSec HW Scale 1000tnl tests with Int mode. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 4 | Lower than expected 64B NDR and PDR | CSIT-1242 | NDR and PDR regressions: ip4base -29%. | -| | throughput in VPP ip4base tests | | | -| | with xl710 NIC in 3n-hsw testbeds. | | | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ - ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| # | JiraID | Issue Description | ++====+=========================================+===========================================================================================================+ +| 1 | `CSIT-1782 | Multicore AVF tests are failing when trying to create interface. | +| | `_ | | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| 2 | `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. | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| 3 | `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. | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| 4 | `CSIT-1789 | AVF driver does not perform RSS in a deterministic way. | +| | `_ | 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. | +| | `_ | | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+