X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=docs%2Freport%2Fintroduction%2Ftest_environment_intro.rst;h=c1ab7ea6ad8569d35f27ce30864556336ab4646a;hp=b02520b99da10c4fd5d00c593c87e6ba867e6591;hb=2072a56eeca53f00cff1b5d888d24f7271ae1fb4;hpb=c5e84fbee876a45d3495cde6f4e2d8140cacbe5a diff --git a/docs/report/introduction/test_environment_intro.rst b/docs/report/introduction/test_environment_intro.rst index b02520b99d..c1ab7ea6ad 100644 --- a/docs/report/introduction/test_environment_intro.rst +++ b/docs/report/introduction/test_environment_intro.rst @@ -1,6 +1,102 @@ Test Environment ================ +.. _test_environment_versioning: + +Environment Versioning +---------------------- + +CSIT test environment versioning has been introduced to track +modifications of the test environment. + +Any benchmark anomalies (progressions, regressions) between releases of +a DUT application (e.g. VPP, DPDK), are determined by testing it in the +same test environment, to avoid test environment changes clouding the +picture. + +A mirror approach is introduced to determine benchmarking anomalies due +to the test environment change. This is achieved by testing the same DUT +application version between releases of CSIT test system. This works +under the assumption that the behaviour of the DUT is deterministic +under the test conditions. + +CSIT test environment versioning scheme ensures integrity of all the +test system components, including their HW revisions, compiled SW code +versions and SW source code, within a specific CSIT version. Components +included in the CSIT environment versioning include: + +- **HW** Server hardware firmware and BIOS (motherboard, processsor, + NIC(s), accelerator card(s)), tracked in CSIT branch in + :file:`./docs/lab/_hw_bios_cfg.md`, e.g. `Xeon + Skylake servers + `_. +- **Linux** Server Linux OS version and configuration, tracked in CSIT + Reports in `SUT Settings + `_ + and `Pre-Test Server Calibration + `_. +- **TRex** TRex Traffic Generator version, drivers and configuration + tracked in `TG Settings + `_. +- **CSIT** CSIT framework code tracked in CSIT release branches. + +Following is the list of CSIT versions to date: + +- Ver. 1 associated with CSIT rls1908 branch (`HW + `_, `Linux + `_, + `TRex + `_, + `CSIT `_). +- Ver. 2 associated with CSIT rls2001 branch (`HW + `_, `Linux + `_, + `TRex + `_, + `CSIT `_). +- Ver. 4 associated with CSIT rls2005 branch (`HW + `_, `Linux + `_, + `TRex + `_, + `CSIT `_). +- Ver. 5 associated with CSIT rls2009 branch (`HW + `_, `Linux + `_, + `TRex + `_, + `CSIT `_). + + - The main change is TRex data-plane core resource adjustments: + `increase from 7 to 8 cores and pinning cores to interfaces `_ + for better TRex performance with symmetric traffic profiles. +- Ver. 6 associated with CSIT rls2101 branch (`HW + `_, `Linux + `_, + `TRex + `_, + `CSIT `_). + + - The main change is TRex version upgrade: + `increase from 2.82 to 2.86 `_. +- Ver. 7 associated with CSIT rls2106 branch (`HW + `_, `Linux + `_, + `TRex + `_, + `CSIT `_). + + - TRex version upgrade: + `increase from 2.86 to 2.88 `_. + - Ubuntu upgrade: + `upgrade from 18.04 LTS to 20.04.2 LTS `_. + +To identify performance changes due to VPP code development between previous +and current VPP release version, both have been tested in CSIT environment of +latest version and compared against each other. All substantial progressions and +regressions have been marked up with RCA analysis. See +:ref:`vpp_throughput_comparisons` and :ref:`vpp_known_issues`. + Physical Testbeds ----------------- @@ -15,8 +111,8 @@ topology types are used: server as TG both connected in ring topology. Tested SUT servers are based on a range of processors including Intel -Xeon Haswell-SP, Intel Xeon Skylake-SP, Intel Xeon Cascadelake-SP, Arm, Intel -Atom. More detailed description is provided in +Intel Xeon Skylake-SP, Intel Xeon Cascade Lake-SP, Arm, +Intel Atom. More detailed description is provided in :ref:`tested_physical_topologies`. Tested logical topologies are described in :ref:`tested_logical_topologies`. @@ -25,33 +121,5 @@ Server Specifications Complete technical specifications of compute servers used in CSIT physical testbeds are maintained in FD.io CSIT repository: -`FD.io CSIT testbeds - Xeon Cascadelake`_, -`FD.io CSIT testbeds - Xeon Skylake, Arm, Atom`_ and -`FD.io CSIT Testbeds - Xeon Haswell`_. - -Pre-Test Server Calibration ---------------------------- - -Number of SUT server sub-system runtime parameters have been identified -as impacting data plane performance tests. Calibrating those parameters -is part of FD.io CSIT pre-test activities, and includes measuring and -reporting following: - -#. System level core jitter – measure duration of core interrupts by - Linux in clock cycles and how often interrupts happen. Using - `CPU core jitter tool `_. - -#. Memory bandwidth – measure bandwidth with `Intel MLC tool - `_. - -#. Memory latency – measure memory latency with Intel MLC tool. - -#. Cache latency at all levels (L1, L2, and Last Level Cache) – measure - cache latency with Intel MLC tool. - -Measured values of listed parameters are especially important for -repeatable zero packet loss throughput measurements across multiple -system instances. Generally they come useful as a background data for -comparing data plane performance results across disparate servers. - -Following sections include measured calibration data for testbeds. +`FD.io CSIT testbeds - Xeon Cascade Lake`_, +`FD.io CSIT testbeds - Xeon Skylake, Arm, Atom`_. \ No newline at end of file