report: updated environment versioning section
[csit.git] / docs / report / introduction / test_environment_intro.rst
1 Test Environment
2 ================
3
4 Environment Versioning
5 ----------------------
6
7 CSIT test environment versioning has been introduced to track
8 modifications of the test environment.
9
10 Any benchmark anomalies (progressions, regressions) between releases of
11 a DUT application (e.g. VPP, DPDK), are determined by testing it in the
12 same test environment, to avoid test environment changes clouding the
13 picture.
14
15 A mirror approach is introduced to determine benchmarking anomalies due
16 to the test environment change. This is achieved by testing the same DUT
17 application version between releases of CSIT test system. This works
18 under the assumption that the behaviour of the DUT is deterministic
19 under the test conditions.
20
21 CSIT test environment versioning scheme ensures integrity of all the
22 test system components, including their HW revisions, compiled SW code
23 versions and SW source code, within a specific CSIT version. Components
24 included in the CSIT environment versioning include:
25
26 - **HW** Server hardware firmware and BIOS (motherboard, processsor,
27   NIC(s), accelerator card(s)), tracked in CSIT branch in
28   :file:`./docs/lab/<server_platform_name>_hw_bios_cfg.md`, e.g. `Xeon
29   Skylake servers
30   <https://git.fd.io/csit/tree/docs/lab/testbeds_sm_skx_hw_bios_cfg.md#n556>`_.
31 - **Linux** Server Linux OS version and configuration, tracked in CSIT
32   Reports in `SUT Settings
33   <https://docs.fd.io/csit/master/report/vpp_performance_tests/test_environment.html#sut-settings-linux>`_
34   and `Pre-Test Server Calibration
35   <https://docs.fd.io/csit/master/report/vpp_performance_tests/test_environment.html#pre-test-server-calibration>`_.
36 - **TRex** TRex Traffic Generator version, drivers and configuration
37   tracked in `TG Settings
38   <https://docs.fd.io/csit/master/report/vpp_performance_tests/test_environment.html#tg-settings-trex>`_.
39 - **CSIT** CSIT framework code tracked in CSIT release branches.
40
41 Following is the list of CSIT versions to date:
42
43 - Ver. 1 associated with CSIT rls1908 branch (`HW
44   <https://git.fd.io/csit/tree/docs/lab?h=rls1908>`_, `Linux
45   <https://docs.fd.io/csit/rls1908/report/vpp_performance_tests/test_environment.html#sut-settings-linux>`_,
46   `TRex
47   <https://docs.fd.io/csit/rls1908/report/vpp_performance_tests/test_environment.html#tg-settings-trex>`_,
48   `CSIT <https://git.fd.io/csit/tree/?h=rls1908>`_).
49 - Ver. 2 associated with CSIT rls2001 branch (`HW
50   <https://git.fd.io/csit/tree/docs/lab?h=rls2001>`_, `Linux
51   <https://docs.fd.io/csit/rls2001/report/vpp_performance_tests/test_environment.html#sut-settings-linux>`_,
52   `TRex
53   <https://docs.fd.io/csit/rls2001/report/vpp_performance_tests/test_environment.html#tg-settings-trex>`_,
54   `CSIT <https://git.fd.io/csit/tree/?h=rls2001>`_).
55 - Ver. 4 associated with CSIT rls2005 branch (`HW
56   <https://git.fd.io/csit/tree/docs/lab?h=rls2005>`_, `Linux
57   <https://docs.fd.io/csit/rls2005/report/vpp_performance_tests/test_environment.html#sut-settings-linux>`_,
58   `TRex
59   <https://docs.fd.io/csit/rls2005/report/vpp_performance_tests/test_environment.html#tg-settings-trex>`_,
60   `CSIT <https://git.fd.io/csit/tree/?h=rls2005>`_).
61
62 To identify performance changes due to VPP code development from
63 v20.01.0 to v20.05.0, both have been tested in CSIT environment ver. 4
64 and compared against each other. All substantial progressions and
65 regressions have been marked up with RCA analysis.
66 :ref:`vpp_throughput_comparisons` and :ref:`vpp_known_issues`.
67
68 CSIT environment ver. 4 has been evaluated against the ver. 2 by
69 benchmarking VPP v20.01.0 in both environment versions.
70
71 Physical Testbeds
72 -----------------
73
74 FD.io CSIT performance tests are executed in physical testbeds hosted by
75 :abbr:`LF (Linux Foundation)` for FD.io project. Two physical testbed
76 topology types are used:
77
78 - **3-Node Topology**: Consisting of two servers acting as SUTs
79   (Systems Under Test) and one server as TG (Traffic Generator), all
80   connected in ring topology.
81 - **2-Node Topology**: Consisting of one server acting as SUTs and one
82   server as TG both connected in ring topology.
83
84 Tested SUT servers are based on a range of processors including Intel
85 Xeon Haswell-SP, Intel Xeon Skylake-SP, Intel Xeon Cascade Lake-SP, Arm,
86 Intel Atom. More detailed description is provided in
87 :ref:`tested_physical_topologies`. Tested logical topologies are
88 described in :ref:`tested_logical_topologies`.
89
90 Server Specifications
91 ---------------------
92
93 Complete technical specifications of compute servers used in CSIT
94 physical testbeds are maintained in FD.io CSIT repository:
95 `FD.io CSIT testbeds - Xeon Cascade Lake`_,
96 `FD.io CSIT testbeds - Xeon Skylake, Arm, Atom`_ and
97 `FD.io CSIT Testbeds - Xeon Haswell`_.