X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=docs%2Freport%2Fvpp_performance_tests%2Fcsit_release_notes.rst;h=6ac7fcdfc7b967bd688439978af14a77699f985e;hb=e253cf226e1595acecf42db1262e1cb179aae5e7;hp=7c21a3e7f9cbec1fd78f74023c800ba96507131f;hpb=5ad08ca51034048ab1965f993b2dde966ef934c8;p=csit.git diff --git a/docs/report/vpp_performance_tests/csit_release_notes.rst b/docs/report/vpp_performance_tests/csit_release_notes.rst index 7c21a3e7f9..6ac7fcdfc7 100644 --- a/docs/report/vpp_performance_tests/csit_release_notes.rst +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -1,141 +1,220 @@ -CSIT Release Notes -================== - -Changes in CSIT |release| -------------------------- - -#. Added VPP performance tests - - - **Container Service Chain Topologies Orchestrated by K8s with VPP Memif** - - - Added tests with VPP vswitch in container connecting a number of VPP- - in-container service chain topologies with L2 Cross-Connect and L2 - Bridge-Domain configurations, orchestrated by Kubernetes. Added - following forwarding topologies: i) "Parallel" with packets flowing from - NIC via VPP to container and back to VPP and NIC; ii) "Chained" (a.k.a. - "Snake") with packets flowing via VPP to container, back to VPP, to next - container, back to VPP and so on until the last container in a chain, - then back to VPP and NIC; iii) "Horizontal" with packets flowing via VPP - to container, then via "horizontal" memif to next container, and so on - until the last container, then back to VPP and NIC; - - - **VPP TCP/IP stack** - - - Added tests for VPP TCP/IP stack using VPP built-in HTTP server. - WRK traffic generator is used as a client-side; - - - **SRv6** - - - Initial SRv6 (Segment Routing IPv6) tests verifying performance of - IPv6 and SRH (Segment Routing Header) encapsulation, decapsulation, - lookups and rewrites based on configured End and End.DX6 SRv6 egress - functions; - - - **IPSecSW** - - - SW computed IPSec encryption with AES-GCM, CBC-SHA1 ciphers, in - combination with IPv4 routed-forwarding; - -#. Presentation and Analytics Layer - - - Added throughput speedup analysis for multi-core and multi-thread - VPP tests into Presentation and Analytics Layer (PAL) for automated - CSIT test results analysis; - -#. Other changes - - - **Framework optimizations** - - - Ability to run CSIT framework on ARM architecture; - - - Overall stability improvements; - - - **NDR and PDR throughput binary search change** - - - Increased binary search resolution by reducing final step from - 100kpps to 50kpps; - - - **VPP plugin loaded as needed by tests** - - - From this release only plugins required by tests are loaded at - VPP initialization time. Previously all plugins were loaded for - all tests; - -Performance Changes -------------------- - -Relative performance changes in measured packet throughput in CSIT -|release| are calculated against the results from CSIT |release-1| -report. 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 repeatibility, 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 repeatibility vary between the test cases. - -NDR Throughput Changes -~~~~~~~~~~~~~~~~~~~~~~ - -NDR small packet throughput changes between releases are available in a CSV and -pretty ASCII formats: - - - `csv format for 1t1c <../_static/vpp/performance-changes-ndr-1t1c-full.csv>`_, - - `csv format for 2t2c <../_static/vpp/performance-changes-ndr-2t2c-full.csv>`_, - - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-ndr-1t1c-full.txt>`_, - - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-ndr-2t2c-full.txt>`_. - -PDR Throughput Changes -~~~~~~~~~~~~~~~~~~~~~~ - -NDR small packet throughput changes between releases are available in a CSV and -pretty ASCII formats: - - - `csv format for 1t1c <../_static/vpp/performance-changes-pdr-1t1c-full.csv>`_, - - `csv format for 2t2c <../_static/vpp/performance-changes-pdr-2t2c-full.csv>`_, - - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-pdr-1t1c-full.txt>`_, - - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-pdr-2t2c-full.txt>`_. - -Measured improvements are in line with VPP code optimizations listed in -`VPP-18.01 release notes -`_. - -Known Issues ------------- - -Here is the list of known issues in CSIT |release| for VPP performance tests: - -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| # | Issue | Jira ID | Description | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 1 | Vic1385 and Vic1227 low performance. | VPP-664 | Low NDR performance. | -| | | | | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 2 | 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. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 3 | Lower than expected NDR throughput with | CSIT-571 | 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. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 4 | QAT IPSec scale with 1000 tunnels (interfaces) | VPP-1121 | VPP crashes during configuration of 1000 IPsec tunnels. | -| | in 2t2c config, all tests are failing. | | 1t1c tests are not affected | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 5 | rls1801 plugin related performance regression | CSIT-925 | With all plugins loaded NDR, PDR and MaxRates vary | -| | | | intermittently from 3% to 5% across multiple test executions. | -| | | | Requires plugin code bisecting. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 6 | rls1801 generic small performance regression | CSIT-926 | Generic performance regression of discovered NDR, PDR and | -| | ip4base, l2xcbase, l2bdbase | | MaxRates of -3%..-1% vs. rls1710, affects ip4base, l2xcbase, | -| | | | l2bdbase test suites. Not detected by CSIT performance trending | -| | | | scheme as it was masked out by another issue CSIT-925. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 7 | rls1801 substantial NDR performance regression | CSIT-927 | Much lower NDR for vhostvr1024 tests, with mean values | -| | for vhost-user vring size of 1024 | | regression of -17%..-42% vs. rls1710, but also very high | -| | | | standard deviation of up to 1.46 Mpps => poor repeatibility. | -| | | | Making mean values not fully representative. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 8 | rls1801 substantial NDR/PDR regression for | CSIT-928 | NDR regression of -7%..-15%, PDR regression of -3%..-15% | -| | IPSec tunnel scale with HW QAT crypto-dev | | compared to rls1710. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ +Release Notes +============= + +Changes in |csit-release| +------------------------- + +#. **VPP performance tests** + + - *MRR tests* - Maximum Receive Rate tests measure the packet forwarding rate + under the maximum load offered by traffic generator over a set trial + duration, regardless of packet loss. MRR tests are used for continuous + performance trending and for comparison between releases. + + - *MLR tests* - NDR and PDR tests measure the packet forwarding rate using + MLRsearch library by traffic generator. All tests that previously used + binary search were converted to MLRsearch. + + - *L2patch tests* - Tests measure performance of L2patch, cross linking + RX and TX of two physical interfaces. + + - *2-node tests* - Baseline set of 2-node tests covering base ip4, ip6, + l2patch, l2bd, l2xc. + + - *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 multithreading* - SMT-aware automatic detection and + resource configuration including thread affinity, number of rx queues and + DPDK I/O mbufs. Tests are automatically tagged during execution indicating + configuration. + + - *Intel Skylake* - Topologies consisting of 2-node and 3-node using + SuperMirco servers each equipped 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* - Added continuous performance trending and + analysis. New Performance Trending and Performance Analysis jobs + executed regular throughput tests, with results being subsequently + analysed and trend and anomalies summarized and presented in VPP + Performance Dashboard and trendline graphs. + +#. **Test Framework Optimizations** + + - *General code housekeeping* - ongoing RF keywords optimizations, + removal of redundant RF keywords. + +Performance Changes +------------------- + +Relative performance changes in measured packet throughput in |csit-release| +are calculated against the results from |csit-release-1| +report. 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 a +CSV and pretty ASCII formats: + + - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-ndr.csv>`_, + - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-ndr.csv>`_, + - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-ndr.txt>`_, + - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-ndr.txt>`_. + +.. note:: + + Test results have been generated by + `FD.io test executor vpp performance job 3n-hsw`_, + with Robot Framework result + files csit-vpp-perf-|srelease|-\*.zip + `archived here <../_static/archive/>`_. + +PDR Changes +~~~~~~~~~~~ + +PDR throughput changes between releases are available in a +CSV and pretty ASCII formats: + + - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-pdr.csv>`_, + - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-pdr.csv>`_, + - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-pdr.txt>`_, + - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-pdr.txt>`_. + +.. note:: + + Test results have been generated by + `FD.io test executor vpp performance job 3n-hsw`_, + with Robot Framework result + files csit-vpp-perf-|srelease|-\*.zip + `archived here <../_static/archive/>`_. + +MRR Changes +~~~~~~~~~~~ + +MRR small packet throughput changes between releases are available in a +CSV and pretty ASCII formats: + + - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-mrr.csv>`_, + - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-mrr.csv>`_, + - `csv format for 4t4c <../_static/vpp/performance-changes-4t4c-mrr.csv>`_, + - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-mrr.txt>`_, + - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-mrr.txt>`_, + - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-4t4c-mrr.txt>`_. + +.. note:: + + Test results have been generated by + `FD.io test executor vpp performance job 3n-hsw`_, + with Robot Framework result + files csit-vpp-perf-|srelease|-\*.zip + `archived here <../_static/archive/>`_. + +Comparison Across Testbeds +-------------------------- + +Relative performance changes in measured packet throughputon 3-Node Skx testbed +are calculated against the results measured on 3-Node Hsw testbed. + +NDR Changes +~~~~~~~~~~~ + +NDR changes between testbeds are available in a +CSV and pretty ASCII formats: + + - `csv format for ndr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-ndr.csv>`_, + - `pretty ASCII format for ndr <../_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 Robot Framework result + files csit-vpp-perf-|srelease|-\*.zip + `archived here <../_static/archive/>`_. + +PDR Changes +~~~~~~~~~~~ + +PDR throughput changes between testbeds are available in a +CSV and pretty ASCII formats: + + - `csv format for pdr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-pdr.csv>`_, + - `pretty ASCII format for pdr <../_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 Robot Framework result + files csit-vpp-perf-|srelease|-\*.zip + `archived here <../_static/archive/>`_. + +MRR Changes +~~~~~~~~~~~ + +MRR throughput changes between testbeds are available in a +CSV and pretty ASCII formats: + + - `csv format for mrr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-mrr.csv>`_, + - `pretty ASCII format for mrr <../_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 Robot Framework 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. + +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: NDR -28%..-31%, PDR -28%..-31%, | +| | regression. | | MRR -40%. Affects IPSec HW Scale 1000tnl tests with Int mode. | ++---+-------------------------------------------------+------------+-----------------------------------------------------------------+