CSIT-891: Add data sources for 1801 report
[csit.git] / docs / report / vpp_performance_tests / csit_release_notes.rst
index 8499bca..d1045bf 100644 (file)
@@ -4,106 +4,70 @@ CSIT Release Notes
 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
+#. Added VPP performance tests\r
 \r
-#. Changes to CSIT driver for TRex Traffic Generator:\r
+   - **Container Topologies Orchestrated by K8s with VPP memif tests**\r
 \r
-   - Complete refactor of TRex CSIT driver;\r
+   - Added tests with VPP in L2 Cross-Connect and Bridge-Domain\r
+     configurations containers, with service chain topologies orchestrated by\r
+     Kubernetes. Added following forwarding topologies: i) "Parallel" with\r
+     packets flowing from NIC via VPP to container and back to VPP and NIC;\r
+     ii) "Chained" a.k.a. "Snake" with packets flowing via VPP to container,\r
+     back to VPP, to next container, back to VPP and so on until the last\r
+     container in chain, then back to VPP and NIC; iii) "Horizontal" with\r
+     packets flowing via VPP to container, then via "horizontal" memif to\r
+     next container, and so on until the last container, then back to VPP and\r
+     NIC;.\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
+   - **VPP TCP/IP stack**\r
 \r
-   - Support for packet traffic profiles to test IPv4/IPv6 stateful and\r
-     stateless DUT data plane features;\r
+     - Added tests for VPP TCP/IP stack using VPP built-in HTTP server.\r
+       WRK traffic generator is used as a client-side;\r
 \r
-#. Added VPP performance tests\r
+   - **SRv6 tests**\r
 \r
-   - **Linux Container VPP memif virtual interface tests**\r
+     - Initial SRv6 (Segment Routing IPv6) tests verifying performance of\r
+       IPv6 and SRH (Segment Routing Header) encapsulation, decapsulation,\r
+       lookups and rewrites based on configured End and End.DX6 SRv6 egress\r
+       functions;\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
+   - **IPSecSW tests**\r
 \r
-   - **Stateful Security Groups**\r
+     - SW computed IPSec encryption with AES-GCM, CBC-SHA1 ciphers, in\r
+       combination with IPv4 routed-forwarding;\r
 \r
-     - New tests of VPP stateful security-groups a.k.a. acl-plugin\r
-       functionally compatible with networking-vpp OpenStack;\r
+#. Presentation and Analytics Layer\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
+     - Added throughput speedup analysis for multi-core and multi-thread\r
+       VPP tests into Presentation and Analytics Layer (PAL) for automated\r
+       CSIT test results analysis;\r
 \r
-     - Testing packet flows transmitted by TG: 100, 10k, 100k, always\r
-       hitting the last permit entry in acl.\r
+#. Other improvements\r
 \r
-   - **VPP vhost and VM tests**\r
+     - **Framework optimizations**\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
+       - Ability to run CSIT framework on ARM architecture;\r
 \r
-     - Statistical analysis of repeatibility of results;\r
+       - Overall stability improvements;\r
 \r
-Performance Improvements\r
-------------------------\r
+Performance Changes\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
+Substantial changes in measured packet throughput have been observed in a\r
+number of CSIT |release| tests listed below. Relative changes for this release\r
+are 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
+has been also listed for CSIT |release|.\r
 \r
-NDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Non-Drop Rate Throughput discovery tests:\r
+NDR Throughput: Best 20 Changes\r
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
 \r
 .. only:: html\r
 \r
    .. csv-table::\r
       :align: center\r
-      :file: performance_improvements/performance_improvements_ndr_top.csv\r
+      :file: ../../../_build/_static/vpp/performance-changes-ndr-1t1c-top.csv\r
 \r
 .. only:: latex\r
 \r
@@ -111,7 +75,7 @@ Non-Drop Rate Throughput discovery tests:
 \r
       \makeatletter\r
       \csvset{\r
-        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}}\csv@tablehead},\r
+        perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
       }\r
       \makeatother\r
 \r
@@ -122,20 +86,17 @@ Non-Drop Rate Throughput discovery tests:
         perfimprovements column width=1cm,\r
         late after line={\\\hline},\r
         late after last line={\end{longtable}}\r
-        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_ndr_top.csv}\r
+        ]{../_build/_static/vpp/performance-changes-ndr-1t1c-top.csv}\r
       }\r
 \r
-\r
-PDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
+NDR Throughput: Worst 20 Changes\r
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
 \r
 .. only:: html\r
 \r
    .. csv-table::\r
       :align: center\r
-      :file: performance_improvements/performance_improvements_pdr_top.csv\r
+      :file: ../../../_build/_static/vpp/performance-changes-ndr-1t1c-bottom.csv\r
 \r
 .. only:: latex\r
 \r
@@ -143,7 +104,7 @@ Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:
 \r
       \makeatletter\r
       \csvset{\r
-        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}}\csv@tablehead},\r
+        perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
       }\r
       \makeatother\r
 \r
@@ -154,32 +115,32 @@ Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:
         perfimprovements column width=1cm,\r
         late after line={\\\hline},\r
         late after last line={\end{longtable}}\r
-        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_pdr_top.csv}\r
+        ]{../../_build/_static/vpp/performance-changes-ndr-1t1c-bottom.csv}\r
       }\r
 \r
+.. only:: html\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
+      NDR Throughput: All 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
+      Complete results for all NDR tests are available in a CSV and pretty\r
+      ASCII formats:\r
 \r
-NDR Throughput\r
-~~~~~~~~~~~~~~\r
+        - `csv format for 1t1c <../_static/vpp/performance-changes-ndr-1t1c-full.csv>`_,\r
+        - `csv format for 2t2c <../_static/vpp/performance-changes-ndr-2t2c-full.csv>`_,\r
+        - `csv format for 4t4c <../_static/vpp/performance-changes-ndr-4t4c-full.csv>`_,\r
+        - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-ndr-1t1c-full.txt>`_,\r
+        - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-ndr-2t2c-full.txt>`_,\r
+        - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-ndr-4t4c-full.txt>`_.\r
 \r
-Non-Drop Rate Throughput discovery tests:\r
+PDR Throughput: Best 20 Changes\r
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
 \r
 .. only:: html\r
 \r
    .. csv-table::\r
       :align: center\r
-      :file: performance_improvements/performance_improvements_ndr_low.csv\r
+      :file: ../../../_build/_static/vpp/performance-changes-pdr-1t1c-top.csv\r
 \r
 .. only:: latex\r
 \r
@@ -187,7 +148,7 @@ Non-Drop Rate Throughput discovery tests:
 \r
       \makeatletter\r
       \csvset{\r
-        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}}\csv@tablehead},\r
+        perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
       }\r
       \makeatother\r
 \r
@@ -198,20 +159,17 @@ Non-Drop Rate Throughput discovery tests:
         perfimprovements column width=1cm,\r
         late after line={\\\hline},\r
         late after last line={\end{longtable}}\r
-        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_ndr_low.csv}\r
+        ]{../../../_build/_static/vpp/performance-changes-pdr-1t1c-top.csv}\r
       }\r
 \r
-\r
-PDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
+PDR Throughput: Worst 20 Changes\r
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
 \r
 .. only:: html\r
 \r
    .. csv-table::\r
       :align: center\r
-      :file: performance_improvements/performance_improvements_pdr_low.csv\r
+      :file: ../../../_build/_static/vpp/performance-changes-pdr-1t1c-bottom.csv\r
 \r
 .. only:: latex\r
 \r
@@ -219,7 +177,7 @@ Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:
 \r
       \makeatletter\r
       \csvset{\r
-        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}}\csv@tablehead},\r
+        perfimprovements column width/.style={after head=\csv@pretable\begin{longtable}{m{4cm} m{#1} m{#1} m{#1} m{#1} m{#1}}\csv@tablehead},\r
       }\r
       \makeatother\r
 \r
@@ -230,9 +188,27 @@ Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:
         perfimprovements column width=1cm,\r
         late after line={\\\hline},\r
         late after last line={\end{longtable}}\r
-        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_pdr_low.csv}\r
+        ]{../../../../_build/_static/vpp/performance-changes-pdr-1t1c-bottom.csv}\r
       }\r
 \r
+.. only:: html\r
+\r
+      PDR Throughput: All Changes\r
+      ~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
+\r
+            Complete results for all PDR tests are available in a CSV and pretty\r
+            ASCII formats:\r
+\r
+              - `csv format for 1t1c <../_static/vpp/performance-changes-pdr-1t1c-full.csv>`_,\r
+              - `csv format for 2t2c <../_static/vpp/performance-changes-pdr-2t2c-full.csv>`_,\r
+              - `csv format for 4t4c <../_static/vpp/performance-changes-pdr-4t4c-full.csv>`_,\r
+              - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-pdr-1t1c-full.txt>`_,\r
+              - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-pdr-2t2c-full.txt>`_,\r
+              - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-pdr-4t4c-full.txt>`_.\r
+\r
+Measured improvements are in line with VPP code optimizations listed in\r
+`VPP-17.10 release notes\r
+<https://docs.fd.io/vpp/17.10/release_notes_1710.html>`_.\r
 \r
 Known Issues\r
 ------------\r
@@ -242,27 +218,16 @@ Here is the list of known issues in CSIT |release| for VPP performance tests:
 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\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
+| 1 | 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
+| 2 | Sporadic NDR discovery test failures on x520.   | CSIT-750   | Suspected issue with HW combination of X710-X520 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
+| 3 | 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
+| 4 | Lower than expected NDR 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