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=e7c61e665c24a1553d6f14a6bca835d13eb96968;hp=d6b3d0c332de5894733ab3c99114d37b7ca7ee4b;hb=e3554783146e2c4f2b6b5084c8afc707787d6922;hpb=bfd8d30a8a6928a431594837823686bd982f147c diff --git a/docs/report/vpp_performance_tests/csit_release_notes.rst b/docs/report/vpp_performance_tests/csit_release_notes.rst index d6b3d0c332..e7c61e665c 100644 --- a/docs/report/vpp_performance_tests/csit_release_notes.rst +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -4,235 +4,115 @@ 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** + - **Container Service Chain Topologies Orchestrated by K8s with VPP Memif** - - New tests of VPP stateful security-groups a.k.a. acl-plugin - functionally compatible with networking-vpp OpenStack; + - 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; - - 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. + - **VPP TCP/IP stack** - - Testing packet flows transmitted by TG: 100, 10k, 100k, always - hitting the last permit entry in acl. + - Added tests for VPP TCP/IP stack using VPP built-in HTTP server. + WRK traffic generator is used as a client-side; - - **VPP vhost and VM tests** + - **SRv6** - - 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]; + - 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; - - Statistical analysis of repeatibility of results; + - **IPSecSW** -Performance Improvements ------------------------- + - SW computed IPSec encryption with AES-GCM, CBC-SHA1 ciphers, in + combination with IPv4 routed-forwarding; -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. +#. Presentation and Analytics Layer -NDR Throughput -~~~~~~~~~~~~~~ + - Added throughput speedup analysis for multi-core and multi-thread + VPP tests into Presentation and Analytics Layer (PAL) for automated + CSIT test results analysis; -Non-Drop Rate Throughput discovery tests: +#. Other changes -.. only:: html + - **Framework optimizations** - .. csv-table:: - :align: center - :file: performance_improvements/performance_improvements_ndr_top.csv + - Ability to run CSIT framework on ARM architecture; -.. only:: latex + - Overall stability improvements; - .. raw:: latex + - **NDR and PDR throughput binary search change** - \makeatletter - \csvset{ - perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{ m{1.5cm} m{5cm} m{#1} m{#1} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead}, - } - \makeatother + - Increased binary search resolution by reducing final step from + 100kpps to 50kpps; - {\tiny - \csvautobooklongtable[separator=comma, - respect all, - no check column count, - perfimprovements column width=1cm, - late after line={\\\hline}, - late after last line={\end{longtable}} - ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_ndr_top.csv} - } + - **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; -PDR Throughput -~~~~~~~~~~~~~~ +Performance Changes +------------------- -Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%: +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. -.. only:: html +NDR Throughput Changes +~~~~~~~~~~~~~~~~~~~~~~ - .. csv-table:: - :align: center - :file: performance_improvements/performance_improvements_pdr_top.csv +NDR small packet throughput changes between releases are available in a CSV and +pretty ASCII formats: -.. only:: latex + - `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>`_. - .. raw:: latex +PDR Throughput Changes +~~~~~~~~~~~~~~~~~~~~~~ - \makeatletter - \csvset{ - perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{ m{1.5cm} m{5cm} m{#1} m{#1} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead}, - } - \makeatother - - {\tiny - \csvautobooklongtable[separator=comma, - respect all, - no check column count, - perfimprovements column width=1cm, - late after line={\\\hline}, - late after last line={\end{longtable}} - ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_pdr_top.csv} - } +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-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 -~~~~~~~~~~~~~~ +`VPP-18.01 release notes +`_. -Non-Drop Rate Throughput discovery tests: +MRR Throughput Changes +~~~~~~~~~~~~~~~~~~~~~~ -.. only:: html - - .. csv-table:: - :align: center - :file: performance_improvements/performance_improvements_ndr_low.csv - -.. only:: latex - - .. raw:: latex - - \makeatletter - \csvset{ - perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{ m{1.5cm} m{5cm} m{#1} m{#1} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead}, - } - \makeatother - - {\tiny - \csvautobooklongtable[separator=comma, - respect all, - no check column count, - perfimprovements column width=1cm, - late after line={\\\hline}, - late after last line={\end{longtable}} - ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_ndr_low.csv} - } - - -PDR Throughput -~~~~~~~~~~~~~~ - -Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%: - -.. only:: html - - .. csv-table:: - :align: center - :file: performance_improvements/performance_improvements_pdr_low.csv - -.. only:: latex - - .. raw:: latex - - \makeatletter - \csvset{ - perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{ m{1.5cm} m{5cm} m{#1} m{#1} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead}, - } - \makeatother - - {\tiny - \csvautobooklongtable[separator=comma, - respect all, - no check column count, - perfimprovements column width=1cm, - late after line={\\\hline}, - late after last line={\end{longtable}} - ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_pdr_low.csv} - } +MRR changes between releases are available in a CSV and +pretty ASCII formats: + - `csv format for 1t1c <../_static/vpp/performance-changes-mrr-1t1c-full.csv>`_, + - `csv format for 2t2c <../_static/vpp/performance-changes-mrr-2t2c-full.csv>`_, + - `csv format for 4t4c <../_static/vpp/performance-changes-mrr-4t4c-full.csv>`_, + - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-mrr-1t1c-full.txt>`_, + - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-mrr-2t2c-full.txt>`_, + - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-mrr-4t4c-full.txt>`_. Known Issues ------------ @@ -242,27 +122,33 @@ 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. | +| 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. | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 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 | 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. | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 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 | 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 | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 4 | Vic1385 and Vic1227 low performance. | VPP-664 | Low NDR performance. | -| | | | | +| 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. | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 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 | 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. | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 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 | 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. | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| 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. | +| 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. | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -