-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
- - New VPP Memif virtual interface (shared memory interface) tests\r
- with L2 Bridge-Domain switched-forwarding;\r
-\r
- - **Stateful Security Groups**\r
-\r
- - New m-thread m-core VPP stateful security-groups tests;\r
-\r
- - **MAC-IP binding**\r
-\r
- - New MACIP iACL single-thread single-core and m-thread m-core tests;\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
-.. only:: html\r
-\r
- .. csv-table::\r
- :align: center\r
- :file: performance_improvements/performance_improvements_ndr_top.csv\r
-\r
-.. only:: latex\r
-\r
- .. raw:: latex\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
- }\r
- \makeatother\r
-\r
- {\tiny\r
- \csvautobooklongtable[separator=comma,\r
- respect all,\r
- no check column count,\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
- }\r
-\r
-\r
-PDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
-\r
-.. only:: html\r
-\r
- .. csv-table::\r
- :align: center\r
- :file: performance_improvements/performance_improvements_pdr_top.csv\r
-\r
-.. only:: latex\r
-\r
- .. raw:: latex\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
- }\r
- \makeatother\r
-\r
- {\tiny\r
- \csvautobooklongtable[separator=comma,\r
- respect all,\r
- no check column count,\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
- }\r
-\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
-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
-.. only:: html\r
-\r
- .. csv-table::\r
- :align: center\r
- :file: performance_improvements/performance_improvements_ndr_low.csv\r
-\r
-.. only:: latex\r
-\r
- .. raw:: latex\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
- }\r
- \makeatother\r
-\r
- {\tiny\r
- \csvautobooklongtable[separator=comma,\r
- respect all,\r
- no check column count,\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
- }\r
-\r
-\r
-PDR Throughput\r
-~~~~~~~~~~~~~~\r
-\r
-Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
-\r
-.. only:: html\r
-\r
- .. csv-table::\r
- :align: center\r
- :file: performance_improvements/performance_improvements_pdr_low.csv\r
-\r
-.. only:: latex\r
-\r
- .. raw:: latex\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
- }\r
- \makeatother\r
-\r
- {\tiny\r
- \csvautobooklongtable[separator=comma,\r
- respect all,\r
- no check column count,\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
- }\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 | Vic1385 and Vic1227 low performance. | VPP-664 | Low NDR performance. |\r
-| | | | |\r
-+---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
-| 2 | 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
-| 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
-| 4 | 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
+Release Notes
+=============
+
+Changes in |csit-release|
+-------------------------
+
+#. **VPP performance tests**
+
+ - *MRR tests* - 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.
+
+ - *MLR tests* - NDR and PDR tests measure the packet forwarding rate using
+ MLRsearch library by traffic generator. All tests that previously used
+ binary search were converted to MLRsearch.
+
+ - *L2patch tests* - Tests measure performance of L2patch, cross linking
+ RX and TX of two physical interfaces.
+
+ - *2-node tests* - Baseline set of 2-node tests covering base ip4, ip4,
+ l2patch, l2bd, l2xc.
+
+ - *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 multithreading* - SMT-aware automatic detection and
+ resource configuration including thread affinity, number of rx queues and
+ DPDK I/O mbufs. Tests are automatically tagged during execution indicating
+ configuration.
+
+ - *Intel Skylake* - Topologies consisting of 2-node and 3-node using
+ SuperMirco servers each equipped with two Intel Xeon Skylake Platinum
+ processors.
+
+#. **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 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 a
+CSV and pretty ASCII formats:
+
+ - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-ndr.csv>`_,
+ - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-ndr.csv>`_,
+ - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-ndr.txt>`_,
+ - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-ndr.txt>`_.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 3n-hsw`_,
+ with Robot Framework result
+ files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../_static/archive/>`_.
+
+PDR Changes
+~~~~~~~~~~~
+
+PDR throughput changes between releases are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for 1t1c <../_static/vpp/performance-changes-1t1c-pdr.csv>`_,
+ - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-pdr.csv>`_,
+ - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-pdr.txt>`_,
+ - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-pdr.txt>`_.
+
+.. note::
+
+ Test results have been generated by
+ `FD.io test executor vpp performance job 3n-hsw`_,
+ 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-1t1c-mrr.csv>`_,
+ - `csv format for 2t2c <../_static/vpp/performance-changes-2t2c-mrr.csv>`_,
+ - `csv format for 4t4c <../_static/vpp/performance-changes-4t4c-mrr.csv>`_,
+ - `pretty ASCII format for 1t1c <../_static/vpp/performance-changes-1t1c-mrr.txt>`_,
+ - `pretty ASCII format for 2t2c <../_static/vpp/performance-changes-2t2c-mrr.txt>`_,
+ - `pretty ASCII format for 4t4c <../_static/vpp/performance-changes-4t4c-mrr.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/>`_.
+
+Comparison Across Testbeds
+--------------------------
+
+Relative performance changes in measured packet throughputon 3-Node Skx testbed
+are calculated against the results measured on 3-Node Hsw testbed.
+
+NDR Changes
+~~~~~~~~~~~
+
+NDR changes between testbeds are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for ndr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-ndr.csv>`_,
+ - `pretty ASCII format for ndr <../_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 Robot Framework result
+ files csit-vpp-perf-|srelease|-\*.zip
+ `archived here <../_static/archive/>`_.
+
+PDR Changes
+~~~~~~~~~~~
+
+PDR throughput changes between testbeds are available in a
+CSV and pretty ASCII formats:
+
+ - `csv format for pdr <../_static/vpp/performance-compare-testbeds-3n-hsw-3n-skx-pdr.csv>`_,
+ - `pretty ASCII format for pdr <../_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 Robot Framework 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 <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. |
++---+-------------------------------------------------+------------+-----------------------------------------------------------------+