Remove THIS tag and use unix endlines
[csit.git] / docs / report / vpp_performance_tests / csit_release_notes.rst
index c9e62e8..0309885 100644 (file)
-CSIT Release Notes\r
-==================\r
-\r
-Changes in CSIT |release|\r
--------------------------\r
-\r
-#. Test environment changes in VPP data plane performance tests:\r
-\r
-   - Further characterization and optimizations of VPP vhost-user and VM test\r
-     methodology and test environment;\r
-\r
-     - Tests with varying Qemu virtio queue (a.k.a. vring) sizes:\r
-       [vr256] default 256 descriptors, [vr1024] 1024 descriptors to\r
-       optimize for packet throughput;\r
-\r
-     - Tests with varying Linux :abbr:`CFS (Completely Fair Scheduler)`\r
-       settings: [cfs] default settings, [cfsrr1] :abbr:`CFS (Completely Fair\r
-       Scheduler)` RoundRobin(1) policy applied to all data plane threads\r
-       handling test packet path including all VPP worker threads and all Qemu\r
-       testpmd poll-mode threads;\r
-\r
-     - Resulting test cases are all combinations with [vr256,vr1024] and\r
-       [cfs,cfsrr1] settings;\r
-\r
-     - For more detail see performance results observations section in\r
-       this report;\r
-\r
-#. Code updates and optimizations in CSIT performance framework:\r
-\r
-   - Complete CSIT framework code revision and optimizations as descried\r
-     on CSIT wiki page `Design_Optimizations\r
-     <https://wiki.fd.io/view/CSIT/Design_Optimizations>`_.\r
-\r
-   - For more detail see the :ref:`CSIT Framework Design <csit-design>` section\r
-     in this report;\r
-\r
-#. Changes to CSIT driver for TRex Traffic Generator:\r
-\r
-   - Complete refactor of TRex CSIT driver;\r
-\r
-   - Introduction of packet traffic profiles to improve usability and\r
-     manageability of traffic profiles for a growing number of test\r
-     scenarios.\r
-\r
-   - Support for packet traffic profiles to test IPv4/IPv6 stateful and\r
-     stateless DUT data plane features;\r
-\r
-#. Added VPP performance tests\r
-\r
-   - **Linux Container VPP memif virtual interface tests**\r
-\r
-     - VPP Memif virtual interface (shared memory interface) tests\r
-       interconnecting VPP instances over memif. VPP vswitch\r
-       instance runs in bare-metal user-mode handling Intel x520 NIC\r
-       10GbE interfaces and connecting over memif (Master side) virtual\r
-       interfaces to another instance of VPP running in bare-metal Linux\r
-       Container (LXC) with memif virtual interfaces (Slave side). LXC\r
-       runs in a priviliged mode with VPP data plane worker threads\r
-       pinned to dedicated physical CPU cores per usual CSIT practice.\r
-       Both VPP run the same version of software. This test topology is\r
-       equivalent to existing tests with vhost-user and VMs.\r
-\r
-   - **Stateful Security Groups**\r
-\r
-     - New tests of VPP stateful security-groups a.k.a. acl-plugin\r
-       functionally compatible with networking-vpp OpenStack;\r
-\r
-     - New tested security-groups access-control-lists (acl)\r
-       configuration variants include: [iaclNsl] input acl stateless,\r
-       [oaclNsl] output acl stateless, [iaclNsf] input acl stateful\r
-       a.k.a. reflect, [oaclNsf] output acl stateful a.k.a. reflect,\r
-       where N is number of access-control-entries (ace) in the acl.\r
-\r
-     - Testing packet flows transmitted by TG: 100, 10k, 100k, always\r
-       hitting the last permit entry in acl.\r
-\r
-   - **VPP vhost and VM tests**\r
-\r
-     - New VPP vhost-user and VM test cases to benchmark performance of\r
-       VPP and VM topologies with Qemu and CFS policy combinations of\r
-       [vr256,vr1024] x [cfs,cfsrr1];\r
-\r
-     - Statistical analysis of repeatibility of results;\r
-\r
-Performance Improvements\r
-------------------------\r
-\r
-Substantial improvements in measured packet throughput have been observed in a\r
-number of CSIT |release| tests listed below, with relative increase of\r
-double-digit percentage points. Relative improvements for this release are\r
-calculated against the test results listed in CSIT |release-1| report. The\r
-comparison is calculated between the mean values based on collected and\r
-archived test results' samples for involved VPP releases. Standard deviation\r
-has been also listed for CSIT |release|. VPP-16.09 and VPP-17.01 numbers are\r
-provided for reference.\r
-\r
-NDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Non-Drop Rate Throughput discovery tests:\r
-\r
-.. csv-table::\r
-    :align: center\r
-    :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\r
-    :file: ../../../docs/report/vpp_performance_tests/performance_improvements/ndr_throughput.csv\r
-\r
-PDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
-\r
-.. csv-table::\r
-    :align: center\r
-    :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\r
-    :file: ../../../docs/report/vpp_performance_tests/performance_improvements/pdr_throughput.csv\r
-\r
-Measured improvements are in line with VPP code optimizations listed in\r
-`VPP-17.07 release notes\r
-<https://docs.fd.io/vpp/17.07/release_notes_1707.html>`_.\r
-\r
-Other Performance Changes\r
--------------------------\r
-\r
-Other changes in measured packet throughput, with either minor relative increase\r
-or decrease, have been observed in a number of CSIT |release| tests listed\r
-below. Relative changes are calculated against the test results listed in CSIT\r
-|release-1| report.\r
-\r
-NDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Non-Drop Rate Throughput discovery tests:\r
-\r
-.. csv-table::\r
-    :align: center\r
-    :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\r
-    :file: ../../../docs/report/vpp_performance_tests/performance_improvements/ndr_throughput_others.csv\r
-\r
-PDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
-\r
-.. csv-table::\r
-    :align: center\r
-    :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\r
-    :file: ../../../docs/report/vpp_performance_tests/performance_improvements/pdr_throughput_others.csv\r
-\r
-\r
-Known Issues\r
-------------\r
-\r
-Here is the list of known issues in CSIT |release| for VPP performance tests:\r
-\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| # | Issue                                           | Jira ID    | Description                                                     |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 1 | Security-groups acl-plugin scale tests failure  | CSIT-731   | VPP with 2 worker threads crashes during security-groups        |\r
-|   | with stateful acls if VPP with 2 worker threads | VPP-912    | iaclNsf and oaclNsf tests with 100k flows.                      |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 2 | VPP fails memif tests in 4 worker 2 core setup  | CSIT-732   | VPP with 4 worker threads running on 2 physical cores crashes   |\r
-|   |                                                 | VPP-920    | during memif tests. Initial debugging points to DPDK code       |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 3 | NDR discovery test failures 1518B frame size    | VPP-663    | VPP reporting errors: dpdk-input Rx ip checksum errors.         |\r
-|   | for ip4scale200k, ip4scale2m scale IPv4 routed- |            | Observed frequency: all test runs.                              |\r
-|   | forwarding tests. ip4scale20k tests are fine.   |            |                                                                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 4 | Vic1385 and Vic1227 low performance.            | VPP-664    | Low NDR performance.                                            |\r
-|   |                                                 |            |                                                                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 5 | Sporadic NDR discovery test failures on x520.   | CSIT-750   | Suspected issue with HW settings (BIOS, FW) in LF               |\r
-|   |                                                 |            | infrastructure. Issue can't be replicated outside LF.           |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 6 | VPP in 2t2c setups - large variation            | CSIT-568   | Suspected NIC firmware or DPDK driver issue affecting NDR       |\r
-|   | of discovered NDR throughput values across      |            | throughput. Applies to XL710 and X710 NICs, x520 NICs are fine. |\r
-|   | multiple test runs with xl710 and x710 NICs.    |            |                                                                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 7 | Lower than expected NDR and PDR throughput with | CSIT-569   | Suspected NIC firmware or DPDK driver issue affecting NDR and   |\r
-|   | xl710 and x710 NICs, compared to x520 NICs.     |            | PDR throughput. Applies to XL710 and X710 NICs.                 |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-\r
+CSIT Release Notes
+==================
+
+Changes in CSIT |release|
+-------------------------
+
+#. **VPP performance tests**
+
+   - *MRR tests* - New 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.
+
+   - *Service Chaining with SRv6* - New SRv6 (Segment Routing IPv6) proxy
+     tests measure performance of SRv6 Endpoint fronting SR-unaware
+     appliance via masquerading (End.AM), dynamic proxy (End.AD) or
+     static proxy (End.AS) SR functions.
+
+#. **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**
+
+   - *Performance tests efficiency* - Qemu build/install optimizations,
+     warmup phase handling, vpp restart handling. Resulted in improved
+     stability and reduced total execution time by 30% for single pkt
+     size e.g. 64B/78B.
+
+   - *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 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 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>`_.
+
+.. note::
+
+    Test results have been generated by
+    `FD.io test executor vpp performance jobs`_ with Robot Framework result
+    files csit-vpp-perf-|srelease|-\*.zip `archived here <../_static/archive/>`_.
+
+PDR 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>`_.
+
+.. note::
+
+    Test results have been generated by
+    `FD.io test executor vpp performance jobs`_ 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-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>`_.
+
+.. note::
+
+    Test results have been generated by
+    `FD.io test executor vpp mrr jobs <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-mrr-daily-master/>`_
+    with Robot Framework result files csit-vpp-perf-mrr-daily-master__*__output.xml.gz
+    `archived here <https://docs.fd.io/csit/master/trending/_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 <https://docs.fd.io/csit/master/trending/introduction/index.html>`_
+   - per VPP test case throughput trend, trend compliance and summary of
+   detected anomalies.
+
+#. `Trending Methodology <https://docs.fd.io/csit/master/trending/methodology/index.html>`_
+   - throughput test metrics, trend calculations and anomaly
+   classification (progression, regression, outlier).
+
+#. `Trendline Graphs <https://docs.fd.io/csit/master/trending/trending/index.html>`_
+   - 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 | Lower than expected NDR throughput of DPDK      | CSIT-571   | Suspected NIC firmware or DPDK driver issue affecting NDR and   |
+|   | testpmd and VPP L2 path NDR throughput with     |            | PDR throughput on XL710 and X710 NICs.                          |
+|   | xl710 and x710 NICs, compared to x520 NICs.     |            |                                                                 |
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+
+| 3 | Tagged Ethernet dot1q and dot1ad L2 path        | CSIT-1066  | Tagged Ethernet dot1q and dot1ad L2 path throughput regression: |
+|   | throughput regression.                          |            | NDR -2%..-5%, PDR -2%..-6%, MRR. Affects l2xc and l2bd          |
+|   |                                                 |            | performance tests.                                              |
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+
+| 4 | IPSec (software, no QAT HW) throughput          | CSIT-1064  | IPSec throughput regression: NDR -3%..-8%, PDR -2%..-8%, MRR    |
+|   | regression.                                     |            | -3%..-7%. Affects IPSec SW tests, QAT HW tests not affected.    |
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+
+| 5 | High failure rate of creating working container | CSIT-1065  | About 20% of orchestrated container topology tests failing data |
+|   | topologies with K8s/Ligato orchestration.       |            | plane verification indicating configuration issue. Suspected    |
+|   |                                                 |            | issue with Ligato vpp-agent.                                    |
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+