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=f6887e138f44f497262cbd1dfbc5308e12d7bed3;hp=d6b3d0c332de5894733ab3c99114d37b7ca7ee4b;hb=b8502d5ccf9030270fafe06fe860143b5f9b78d0;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..f6887e138f 100644 --- a/docs/report/vpp_performance_tests/csit_release_notes.rst +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -1,268 +1,231 @@ -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: - -.. 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{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_top.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_top.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_top.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: - -.. 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} - } - - -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. | -+---+-------------------------------------------------+------------+-----------------------------------------------------------------+ - +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>`_. + +.. note:: + + 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/>`_. + +PDR Changes +~~~~~~~~~~~ + +PDR throughput changes between releases are available in CSV and pretty +ASCII formats: + + - `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>`_. + +.. note:: + + 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/>`_. + +MRR Changes +~~~~~~~~~~~ + +MRR throughput changes between releases are available in CSV and pretty +ASCII formats: + + - `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>`_. + +.. note:: + + 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/>`_. + +Skx vs. Hsw Comparison +---------------------- + +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. + +NDR Comparison +~~~~~~~~~~~~~~ + +NDR comparison between testbed types is available in CSV and pretty +ASCII formats: + + - `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>`_. + +.. 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/>`_. + +PDR Comparison +~~~~~~~~~~~~~~ + +PDR comparison between testbed types is available in CSV and pretty +ASCII formats: + + - `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. + +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. | ++---+-------------------------------------------------+------------+-----------------------------------------------------------------+