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=754abc0d132b4e3a9c9ef273bd7e1fb54424115e;hp=c9e62e841584b970585db48d8d2c677af3d254fc;hb=68f32506b32feddae4f9674a7a32cd3d0ea61fb7;hpb=bbcaa22c4425c32c3e3d2bcde434cdefc6b9a992 diff --git a/docs/report/vpp_performance_tests/csit_release_notes.rst b/docs/report/vpp_performance_tests/csit_release_notes.rst index c9e62e8415..72fd0a1b61 100644 --- a/docs/report/vpp_performance_tests/csit_release_notes.rst +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -1,181 +1,128 @@ -CSIT Release Notes -================== - -Changes in CSIT |release| -------------------------- - -#. Test environment changes in VPP data plane performance tests: - - - Further characterization and optimizations of VPP vhost-user and VM test - methodology and test environment; - - - Tests with varying Qemu virtio queue (a.k.a. vring) sizes: - [vr256] default 256 descriptors, [vr1024] 1024 descriptors to - optimize for packet throughput; - - - Tests with varying Linux :abbr:`CFS (Completely Fair Scheduler)` - settings: [cfs] default settings, [cfsrr1] :abbr:`CFS (Completely Fair - Scheduler)` RoundRobin(1) policy applied to all data plane threads - handling test packet path including all VPP worker threads and all Qemu - testpmd poll-mode threads; - - - Resulting test cases are all combinations with [vr256,vr1024] and - [cfs,cfsrr1] settings; - - - For more detail see performance results observations section in - this report; - -#. Code updates and optimizations in CSIT performance framework: - - - Complete CSIT framework code revision and optimizations as descried - on CSIT wiki page `Design_Optimizations - `_. - - - For more detail see the :ref:`CSIT Framework Design ` section - in this report; - -#. Changes to CSIT driver for TRex Traffic Generator: - - - Complete refactor of TRex CSIT driver; - - - Introduction of packet traffic profiles to improve usability and - manageability of traffic profiles for a growing number of test - scenarios. - - - Support for packet traffic profiles to test IPv4/IPv6 stateful and - stateless DUT data plane features; - -#. Added VPP performance tests - - - **Linux Container VPP memif virtual interface tests** - - - VPP Memif virtual interface (shared memory interface) tests - interconnecting VPP instances over memif. VPP vswitch - instance runs in bare-metal user-mode handling Intel x520 NIC - 10GbE interfaces and connecting over memif (Master side) virtual - interfaces to another instance of VPP running in bare-metal Linux - Container (LXC) with memif virtual interfaces (Slave side). LXC - runs in a priviliged mode with VPP data plane worker threads - pinned to dedicated physical CPU cores per usual CSIT practice. - Both VPP run the same version of software. This test topology is - equivalent to existing tests with vhost-user and VMs. - - - **Stateful Security Groups** - - - New tests of VPP stateful security-groups a.k.a. acl-plugin - functionally compatible with networking-vpp OpenStack; - - - New tested security-groups access-control-lists (acl) - configuration variants include: [iaclNsl] input acl stateless, - [oaclNsl] output acl stateless, [iaclNsf] input acl stateful - a.k.a. reflect, [oaclNsf] output acl stateful a.k.a. reflect, - where N is number of access-control-entries (ace) in the acl. - - - Testing packet flows transmitted by TG: 100, 10k, 100k, always - hitting the last permit entry in acl. - - - **VPP vhost and VM tests** - - - New VPP vhost-user and VM test cases to benchmark performance of - VPP and VM topologies with Qemu and CFS policy combinations of - [vr256,vr1024] x [cfs,cfsrr1]; - - - Statistical analysis of repeatibility of results; - -Performance Improvements ------------------------- - -Substantial improvements in measured packet throughput have been observed in a -number of CSIT |release| tests listed below, with relative increase of -double-digit percentage points. Relative improvements for this release are -calculated against the test results listed in CSIT |release-1| report. The -comparison is calculated between the mean values based on collected and -archived test results' samples for involved VPP releases. Standard deviation -has been also listed for CSIT |release|. VPP-16.09 and VPP-17.01 numbers are -provided for reference. - -NDR Throughput -~~~~~~~~~~~~~~ - -Non-Drop Rate Throughput discovery tests: - -.. csv-table:: - :align: center - :header: VPP Functionality,Test Name,VPP-16.09 [Mpps],VPP-17.01 [Mpps],VPP-17.04 mean [Mpps],VPP-17.07 mean [Mpps],VPP-17.07 stdev [Mpps],17.04 to 17.07 change - :file: ../../../docs/report/vpp_performance_tests/performance_improvements/ndr_throughput.csv - -PDR Throughput -~~~~~~~~~~~~~~ - -Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%: - -.. csv-table:: - :align: center - :header: VPP Functionality,Test Name,VPP-16.09 [Mpps],VPP-17.01 [Mpps],VPP-17.04 mean [Mpps],VPP-17.07 mean [Mpps],VPP-17.07 stdev [Mpps],17.04 to 17.07 change - :file: ../../../docs/report/vpp_performance_tests/performance_improvements/pdr_throughput.csv - -Measured improvements are in line with VPP code optimizations listed in -`VPP-17.07 release notes -`_. - -Other Performance Changes -------------------------- - -Other changes in measured packet throughput, with either minor relative increase -or decrease, have been observed in a number of CSIT |release| tests listed -below. Relative changes are calculated against the test results listed in CSIT -|release-1| report. - -NDR Throughput -~~~~~~~~~~~~~~ - -Non-Drop Rate Throughput discovery tests: - -.. csv-table:: - :align: center - :header: VPP Functionality,Test Name,VPP-16.09 [Mpps],VPP-17.01 [Mpps],VPP-17.04 mean [Mpps],VPP-17.07 mean [Mpps],VPP-17.07 stdev [Mpps],17.04 to 17.07 change - :file: ../../../docs/report/vpp_performance_tests/performance_improvements/ndr_throughput_others.csv - -PDR Throughput -~~~~~~~~~~~~~~ - -Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%: - -.. csv-table:: - :align: center - :header: VPP Functionality,Test Name,VPP-16.09 [Mpps],VPP-17.01 [Mpps],VPP-17.04 mean [Mpps],VPP-17.07 mean [Mpps],VPP-17.07 stdev [Mpps],17.04 to 17.07 change - :file: ../../../docs/report/vpp_performance_tests/performance_improvements/pdr_throughput_others.csv - - -Known Issues ------------- - -Here is the list of known issues in CSIT |release| for VPP performance tests: - -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| # | Issue | Jira ID | Description | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 1 | Security-groups acl-plugin scale tests failure | CSIT-731 | VPP with 2 worker threads crashes during security-groups | -| | with stateful acls if VPP with 2 worker threads | VPP-912 | iaclNsf and oaclNsf tests with 100k flows. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 2 | VPP fails memif tests in 4 worker 2 core setup | CSIT-732 | VPP with 4 worker threads running on 2 physical cores crashes | -| | | VPP-920 | during memif tests. Initial debugging points to DPDK code | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 3 | NDR discovery test failures 1518B frame size | VPP-663 | VPP reporting errors: dpdk-input Rx ip checksum errors. | -| | for ip4scale200k, ip4scale2m scale IPv4 routed- | | Observed frequency: all test runs. | -| | forwarding tests. ip4scale20k tests are fine. | | | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 4 | Vic1385 and Vic1227 low performance. | VPP-664 | Low NDR performance. | -| | | | | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 5 | Sporadic NDR discovery test failures on x520. | CSIT-750 | Suspected issue with HW settings (BIOS, FW) in LF | -| | | | infrastructure. Issue can't be replicated outside LF. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 6 | VPP in 2t2c setups - large variation | CSIT-568 | Suspected NIC firmware or DPDK driver issue affecting NDR | -| | of discovered NDR throughput values across | | throughput. Applies to XL710 and X710 NICs, x520 NICs are fine. | -| | multiple test runs with xl710 and x710 NICs. | | | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 7 | Lower than expected NDR and PDR throughput with | CSIT-569 | Suspected NIC firmware or DPDK driver issue affecting NDR and | -| | xl710 and x710 NICs, compared to x520 NICs. | | PDR throughput. Applies to XL710 and X710 NICs. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ - +.. _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. | +| | `_ | | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+ +| 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. | +| | `_ | | ++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+