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**
+#. VPP PERFORMANCE TESTS
+
+ - **Intel Xeon 2n-skx, 3n-skx and 2n-clx testbeds**: VPP performance
+ test data is not included in this report version. This is due to
+ the lower performance and behaviour inconsistency of these
+ systems following the upgrade of processor microcode packages
+ (skx ucode 0x2000064, clx ucode 0x500002c), done as part of
+ updating Ubuntu 18.04 LTS kernel version. Tested VPP and DPDK
+ applications (L3fwd) are affected. Skx and Clx test data will be
+ added in subsequent maintenance report version(s) once the issue
+ is resolved. See :ref:`vpp_known_issues`.
+
+ - **Service density 2n-skx tests**: Added new NF density tests with
+ IPsec encryption between DUTs.
+
+ - **AVF tests**: Full test coveraged based on code changes in CSIT
+ core layer (driver/interface awareness) and generated by suite
+ generator (Intel Fortville NICs only).
+
+ - **Hoststack tests**: Major refactor of VPP Hoststack TCP/IP
+ performance tests using WRK generator talking to the VPP HTTP
+ static server plugin measuring connections per second and
+ requests per second. Added new iperf3 with LDPreload tests,
+ iperf3/LDPreload tests with packet loss induced via the VPP NSIM
+ (Network Simulator) plugin, and QUIC/UDP/IP transport tests.
+ All of the new tests measure goodput through the VPP Hoststack
+ from client to server.
+
+ - **Latency HDRHistogram**: Added High Dynamic Range Histogram
+ latency measurements based on the new capability in TRex traffic
+ generator. HDRH latency data presented in latency packet
+ percentile graphs and in detailed results tables.
+
+ - **Mellanox CX556A-EDAT tests**: Added tests with Mellanox
+ ConnectX5-2p100GE NICs in 2n-clx testbeds using VPP native rdma
+ driver.
+
+ - **IPsec reconfiguration tests**: Added tests measuring the impact
+ of IPsec tunnels creations and removals.
+
+ - **Load Balancer tests**: Added VPP performance tests for Maglev,
+ L3DSR (Direct Server Return), Layer 4 Load Balancing NAT Mode.
+
+#. TEST FRAMEWORK
+
+ - **CSIT Python3 support**: Full migration of CSIT from Python2.7 to
+ Python3.6. This change includes library migration, PIP dependency
+ upgrade, CSIT container images, infrastructure packages
+ ugrade/installation.
+
+ - **CSIT PAPI support**: Finished conversion of CSIT VAT L1 keywords
+ to PAPI L1 KWs in CSIT using VPP Python bindings (VPP PAPI).
+ Redesign of key components of PAPI Socket Executor and PAPI
+ history. Due to issues with PAPI performance, VAT is still used
+ in CSIT for all VPP scale tests. See known issues below.
+
+ - **Test Suite Generator**: Added capability to generate suites for
+ different drivers per NIC model including DPDK, AVF, RDMA.
+ Extended coverage for all tests.
- **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/>`_.
+ removal of redundant RF keywords and aligning of suite/test
+ setup/teardowns.
-MRR Comparison
-~~~~~~~~~~~~~~
+#. TEST ENVIRONMENT
-MRR comparison between testbed types is available in CSV and pretty
-ASCII formats:
+ - **TRex Fortville NIC Performance**: Received FVL fix from Intel
+ resolving TRex low throughput issue. TRex per FVL NIC throughput
+ increased from ~27 Mpps to the nominal ~37 Mpps. For detail see
+ `CSIT-1503 <https://jira.fd.io/browse/CSIT-1503>`_ and `TRex-519
+ <https://trex-tgn.cisco.com/youtrack/issue/trex-519>`_].
- - `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>`_.
+ - **New Intel Xeon Cascadelake Testbeds**: Added performance tests
+ for 2-Node-Cascadelake (2n-clx) testbeds with x710, xxv710 and
+ cx556a-edat NIC cards.
-.. note::
+#. PRESENTATION AND ANALYTICS LAYER
- 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/>`_.
+ - **Graphs layout improvements**: Improved performance graphs layout
+ for better readibility and maintenance: test grouping, axis
+ labels, descriptions, other informative decoration.
-Throughput Trending
--------------------
+ - **Latency graphs**: Min/Avg/Max group bar latency graphs are
+ replaced with packet latency percentile distributon at different
+ background packet loads based on TRex latency hdrhistogram
+ measurements.
-In addition to reporting throughput changes between VPP releases, CSIT
-provides continuous performance trending for VPP master branch:
+..
+ // Alternative Note for 1st Bullet when bad microcode Skx, Clx results are published
+ - **Intel Xeon 2n-skx, 3n-skx and 2n-clx testbeds**: VPP performance
+ test data is included in this report version, but it shows lower
+ performance and behaviour inconsistency of these systems
+ following the upgrade of processor microcode packages (skx ucode
+ 0x2000064, clx ucode 0x500002c) as part of updating Ubuntu 18.04
+ LTS kernel version. Tested VPP and DPDK applications (L3fwd) are
+ affected. Skx and Clx test data will be corrected in subsequent
+ maintenance report version(s) once the issue is resolved. See
+ :ref:`vpp_known_issues`.
-#. `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.
+.. raw:: latex
-#. `Trending Methodology <https://docs.fd.io/csit/master/trending/methodology/index.html>`_
- - throughput test metrics, trend calculations and anomaly
- classification (progression, regression, outlier).
+ \clearpage
-#. `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.
+.. _vpp_known_issues:
Known Issues
------------
List of known issues in |csit-release| for VPP performance tests:
-+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| # | JiraID | Issue Description |
-+===+=========================================+=================================================================================================================================+
-| 1 | `CSIT-570 | Sporadic (1 in 200) NDR discovery test failures on x520. DPDK reporting rx-errors, indicating L1 issue. |
-| | <https://jira.fd.io/browse/CSIT-570>`_ | Suspected issue with HW combination of X710-X520 in LF testbeds. Not observed outside of LF testbeds. |
-+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| 2 | `VPP-1361 | High failure rate of api call sw_interface_set_flags [admin-up|link-up]. |
-| | <https://jira.fd.io/browse/VPP-1361>`_ | Failure rate: 30-40% of tests failing due to interfaces not in link-up state after API call sw_interface_set_flags. |
-+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| 3 | `CSIT-1234 | VPP IPSecHW scale interface mode 1core, low NDR and PDR 64B throughput in 3n-hsw testbeds, in CSIT-18.07 vs. CSIT-18.04. |
-| | <https://jira.fd.io/browse/CSIT-1234>`_ | ip4ipsecscale1000tnl-ip4base-int 1core CSIT-18.07/18.04 relative change: NDR -31%, PDR -32%, MRR -38%. |
-+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| 4 | `CSIT-1242 | VPP xl710 ip4base test 1core, low NDR and PDR 64B throughput in 3n-hsw testbeds, in CSIT-18.07 vs. CSIT-18.04. |
-| | <https://jira.fd.io/browse/CSIT-1242>`_ | xl710 ip4base 1core CSIT-18.07/18.04 relative change: NDR -29%, high stdev. |
-+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| 5 | `CSIT-1243 | VPP nat44 base test 2core, low NDR and PDR 64B throughput in 3n-skx testbeds, compared to 3n-hsw testbeds. |
-| | <https://jira.fd.io/browse/CSIT-1243>`_ | ip4base-nat44 2core 3n-skx/3n-hsw relative change: NDR -19%, PDR -22%. |
-+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| 6 | `CSIT-1244 | VPP lispip4 base test 2core, low NDR and PDR 64B throughput in 3n-skx testbeds, compared to 3n-hsw testbeds. |
-| | <https://jira.fd.io/browse/CSIT-1244>`_ | ip4lispip4-ip4base 2core 3n-skx/3n-hsw relative change: NDR -11%, PDR -18%. |
-+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| 7 | `CSIT-1245 | VPP srv6proxy-stat and srv6proxy-masq, much higher NDR and PDR 78B throughput in 3n-hsw testbeds, in CSIT-18.07 vs. CSIT-18.04. |
-| | <https://jira.fd.io/browse/CSIT-1245>`_ | Due to wrong test suite configuration in dynamic-proxy mode. Artefact of suite code refactoring. |
-+---+-----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| # | JiraID | Issue Description |
++====+=========================================+===========================================================================================================+
+| 1 | `CSIT-570 | Sporadic (1 in 200) NDR discovery test failures on x520. DPDK reporting rx-errors, indicating L1 issue. |
+| | <https://jira.fd.io/browse/CSIT-570>`_ | Suspected issue with HW combination of X710-X520 in LF testbeds. Not observed outside of LF testbeds. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 2 | `VPP-662 | 9000B packets not supported by NICs VIC1227 and VIC1387. |
+| | <https://jira.fd.io/browse/VPP-662>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 3 | `CSIT-1498 | Memif tests are sporadically failing on initialization of memif connection. |
+| | <https://jira.fd.io/browse/CSIT-1498>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 4 | `VPP-1677 | 9000B ip4 nat44: VPP crash + coredump. |
+| | <https://jira.fd.io/browse/VPP-1677>`_ | VPP crashes very often in case that NAT44 is configured and it has to process IP4 jumbo frames (9000B). |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 5 | `CSIT-1591 | All CSIT scale tests can not use PAPI due to much slower performance compared to VAT/CLI (it takes much |
+| | <https://jira.fd.io/browse/CSIT-1499>`_ | longer to program VPP). This needs to be addressed on the PAPI side. |
+| +-----------------------------------------+ |
+| | `VPP-1763 | |
+| | <https://jira.fd.io/browse/VPP-1763>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 6 | `VPP-1675 | IPv4 IPSEC 9000B packet tests are failing as no packet is forwarded. |
+| | <https://jira.fd.io/browse/VPP-1675>`_ | Reason: chained buffers are not supported. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 7 | `CSIT-1593 | IPv4 AVF 9000B packet tests are failing on 3n-skx while passing on 2n-skx. |
+| | <https://jira.fd.io/browse/CSIT-1593>`_ | |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+
+| 8 | `CSIT-1675 | Intel Xeon 2n-skx, 3n-skx and 2n-clx testbeds behaviour and performance became inconsistent following |
+| | <https://jira.fd.io/browse/CSIT-1675>`_ | the upgrade to the latest Ubuntu 18.04 LTS kernel version (4.15.0-72-generic) and associated microcode |
+| | | packages (skx ucode 0x2000064, clx ucode 0x500002c). VPP as well as DPDK L3fwd tests are affected. |
++----+-----------------------------------------+-----------------------------------------------------------------------------------------------------------+