CSIT-891: Add data sources for 1801 report
[csit.git] / docs / report / vpp_performance_tests / csit_release_notes.rst
index d6b3d0c..7419a85 100644 (file)
@@ -4,106 +4,70 @@ CSIT Release Notes
 Changes in CSIT |release|\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
+#. Added VPP performance tests\r
 \r
 \r
-#. Changes to CSIT driver for TRex Traffic Generator:\r
+   - **Container Topologies Orchestrated by K8s with VPP memif tests**\r
 \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
 \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
 \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
 \r
-#. Added VPP performance tests\r
+   - **SRv6 tests**\r
 \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
 \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
 \r
-   - **Stateful Security Groups**\r
+     - SW computed IPSec encryption with AES-GCM, CBC-SHA1 ciphers, in\r
+       combination with IPv4 routed-forwarding;\r
 \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
 \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
 \r
-     - Testing packet flows transmitted by TG: 100, 10k, 100k, always\r
-       hitting the last permit entry in acl.\r
+#. Other improvements\r
 \r
 \r
-   - **VPP vhost and VM tests**\r
+     - **Framework optimizations**\r
 \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
 \r
-     - Statistical analysis of repeatibility of results;\r
+       - Overall stability improvements;\r
 \r
 \r
-Performance Improvements\r
-------------------------\r
+Performance Changes\r
+-------------------\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
 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
 \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
 \r
 .. only:: html\r
 \r
    .. csv-table::\r
       :align: center\r
-      :file: performance_improvements/performance_improvements_ndr_top.csv\r
+      :file: performance_improvements/performance-changes-ndr-1t1c-top.csv\r
 \r
 .. only:: latex\r
 \r
 \r
 .. only:: latex\r
 \r
@@ -111,7 +75,7 @@ Non-Drop Rate Throughput discovery tests:
 \r
       \makeatletter\r
       \csvset{\r
 \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} 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
       }\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
         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
+        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance-changes-ndr-1t1c-top.csv}\r
       }\r
 \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
 \r
 .. only:: html\r
 \r
    .. csv-table::\r
       :align: center\r
-      :file: performance_improvements/performance_improvements_pdr_top.csv\r
+      :file: performance_improvements/performance-changes-ndr-1t1c-bottom.csv\r
 \r
 .. only:: latex\r
 \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
 \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} 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
       }\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
         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
+        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance-changes-ndr-1t1c-bottom.csv}\r
       }\r
 \r
       }\r
 \r
+.. only:: html\r
 \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
 \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
 \r
-NDR Throughput\r
-~~~~~~~~~~~~~~\r
+        - `csv format for 1t1c <performance_improvements/performance-changes-ndr-1t1c-full.csv>`_,\r
+        - `csv format for 2t2c <performance_improvements/performance-changes-ndr-2t2c-full.csv>`_,\r
+        - `csv format for 4t4c <performance_improvements/performance-changes-ndr-4t4c-full.csv>`_,\r
+        - `pretty ASCII format for 1t1c <performance_improvements/performance-changes-ndr-1t1c-full.txt>`_,\r
+        - `pretty ASCII format for 2t2c <performance_improvements/performance-changes-ndr-2t2c-full.txt>`_,\r
+        - `pretty ASCII format for 4t4c <performance_improvements/performance-changes-ndr-4t4c-full.txt>`_.\r
 \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
 \r
 .. only:: html\r
 \r
    .. csv-table::\r
       :align: center\r
-      :file: performance_improvements/performance_improvements_ndr_low.csv\r
+      :file: performance_improvements/performance-changes-pdr-1t1c-top.csv\r
 \r
 .. only:: latex\r
 \r
 \r
 .. only:: latex\r
 \r
@@ -187,7 +148,7 @@ Non-Drop Rate Throughput discovery tests:
 \r
       \makeatletter\r
       \csvset{\r
 \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} 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
       }\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
         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
+        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance-changes-pdr-1t1c-top.csv}\r
       }\r
 \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
 \r
 .. only:: html\r
 \r
    .. csv-table::\r
       :align: center\r
-      :file: performance_improvements/performance_improvements_pdr_low.csv\r
+      :file: performance_improvements/performance-changes-pdr-1t1c-bottom.csv\r
 \r
 .. only:: latex\r
 \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
 \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} 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
       }\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
         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
+        ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance-changes-pdr-1t1c-bottom.csv}\r
       }\r
 \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 <performance_improvements/performance-changes-pdr-1t1c-full.csv>`_,\r
+              - `csv format for 2t2c <performance_improvements/performance-changes-pdr-2t2c-full.csv>`_,\r
+              - `csv format for 4t4c <performance_improvements/performance-changes-pdr-4t4c-full.csv>`_,\r
+              - `pretty ASCII format for 1t1c <performance_improvements/performance-changes-pdr-1t1c-full.txt>`_,\r
+              - `pretty ASCII format for 2t2c <performance_improvements/performance-changes-pdr-2t2c-full.txt>`_,\r
+              - `pretty ASCII format for 4t4c <performance_improvements/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
 \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
 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\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
 |   |                                                 |            |                                                                 |\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
 |   |                                                 |            | 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
 |   | 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
 |   | xl710 and x710 NICs, compared to x520 NICs.     |            | PDR throughput. Applies to XL710 and X710 NICs.                 |\r
 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-\r