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=3ee4ff33fdec4cb89c0d39c3a3020215cf7bd0f8;hp=3daff961b4566429d8062e521d90b15286595856;hb=b6d7373834eb3fa6e8543be9c8379507d6d91273;hpb=1911067935bdf6481fc9b89f40d79ca61f2448d0 diff --git a/docs/report/vpp_performance_tests/csit_release_notes.rst b/docs/report/vpp_performance_tests/csit_release_notes.rst index 3daff961b4..3ee4ff33fd 100644 --- a/docs/report/vpp_performance_tests/csit_release_notes.rst +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -4,147 +4,194 @@ 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 CFS (Completely Fair Scheduler) - settings: [cfs] default settings, [cfsrr1] CFS 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 `_. +#. Added VPP performance tests - - For more detail see the CSIT Framework Design section in this - report; + - **L2BD MAC scale tests** -#. Changes to CSIT driver for TRex Traffic Generator: + - VPP L2 Bridge-Domain with MAC learning and large size L2FIB (10k, + 100k, 1M MACs), tested in NIC-to-NIC and VM vhost topologies. - - Complete refactor of TRex CSIT driver; + - **Linux Container VPP memif tests** - - Introduction of packet traffic profiles to improve usability and - manageability of traffic profiles for a growing number of test - scenarios. + - Tests with VPP in L2 Bridge-Domain configuration connecting over + memif virtual interfaces to VPPs running in LXCs; - - Support for packet traffic profiles to test IPv4/IPv6 stateful and - stateless DUT data plane features; + - **Docker Container VPP memif tests** -#. Added VPP performance tests + - Tests with VPP in L2 Cross-Connect configuration connecting over + memif virtual interfaces VPPs running in Docker containers; - - **Linux Container VPP memif virtual interface tests** + - **Container Topologies Orchestrated by K8s with VPP memif 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. + - Tests with VPP in L2 Cross-Connect and Bridge-Domain configurations + connecting over memif virtual interfaces VPPs running in Docker + containers, with service chain topologies orchestrated by Kubernetes; - **Stateful Security Groups** - - New tests of VPP stateful security-groups a.k.a. acl-plugin - functionally compatible with networking-vpp OpenStack; + - m-thread m-core VPP stateful and stateless security-groups tests; - - 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. + - **MAC-IP binding** - - Testing packet flows transmitted by TG: 100, 10k, 100k, always - hitting the last permit entry in acl. + - MACIP input access-lists, single-thread single-core and m-thread + m-core tests; - - **VPP vhost and VM tests** +#. Presentation and Analytics Layer - - 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; + - New Presentation and Analytics Layer (PAL) for automated CSIT test + results analysis and presentation, including statistical analysis + of results repeatibility and test report auto-generation; 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. +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|. Performance numbers since release +VPP-16.09 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 +.. only:: html + + .. csv-table:: + :align: center + :file: performance_improvements/performance_improvements_ndr_top.csv + +.. only:: latex + + .. raw:: latex + + \makeatletter + \csvset{ + perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{ m{1.5cm} m{4cm} 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_top.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 +.. only:: html + + .. csv-table:: + :align: center + :file: performance_improvements/performance_improvements_pdr_top.csv + +.. only:: latex + + .. raw:: latex + + \makeatletter + \csvset{ + perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{ m{1.5cm} m{4cm} 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} + } + Measured improvements are in line with VPP code optimizations listed in -`VPP-17.07 release notes -`_. +`VPP-17.10 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. +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 +.. 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{4cm} 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%: -.. 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 +.. 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{4cm} 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} + } Known Issues @@ -155,27 +202,17 @@ 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-xxx | 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-xxx | VPP with 4 worker threads running on 2 physical cores crashes | -| | | VPP-xxx | during memif tests. Initial debugging points to DPDK code | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| X | 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. | | | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| X | Vic1385 and Vic1227 low performance. | VPP-664 | Low NDR performance. | +| 1 | Vic1385 and Vic1227 low performance. | VPP-664 | Low NDR performance. | | | | | | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| X | Sporadic NDR discovery test failures on x520. | CSIT-750 | Suspected issue with HW settings (BIOS, FW) in LF | +| 2 | 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. | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| X | VPP in 2t2c setups - large variation | CSIT-568 | Suspected NIC firmware or DPDK driver issue affecting NDR | +| 3 | 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. | | | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -| X | Lower than expected NDR and PDR throughput with | CSIT-569 | Suspected NIC firmware or DPDK driver issue affecting NDR and | +| 4 | Lower than expected NDR 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. | +---+-------------------------------------------------+------------+-----------------------------------------------------------------+