report: added versioning sub-section to VPP Test Environment section
[csit.git] / docs / report / vpp_performance_tests / test_environment.rst
1
2 .. raw:: latex
3
4     \clearpage
5
6 .. _vpp_test_environment:
7
8 Versioning
9 ----------
10
11 In order to determine any benchmark anomalies (progressions,
12 regressions) between releases of a specific data-plane DUT application
13 (e.g. VPP, DPDK), the DUT needs to be tested in the same test
14 environment, to avoid test environment changes impacting the results and
15 clouding the picture.
16
17 In order to enable test system evolution, a mirror scheme is required to
18 determine benchmarking anomalies between releases of specific test
19 system like CSIT. This is achieved by testing the same DUT application
20 version between releases of CSIT test system.
21
22 CSIT test environment versioning scheme ensures integrity of all the
23 test system components, including their HW revisions, compiled SW code
24 versions and SW source code, within a specific CSIT version. Components
25 included in the CSIT environment versioning include:
26
27 - Server hosts hardware firmware and BIOS (motherboard, processsor, NIC(s), accelerator card(s)).
28 - Server host Linux operating system versions.
29 - Server host Linux configuration.
30 - TRex Traffic Generator version, drivers and configuration.
31 - CSIT framework code.
32
33 Following is the list of CSIT versions to date:
34
35 - Ver. 1 associated with CSIT rls1908 git branch as of 2019-08-21.
36 - Ver. 2 associated with CSIT rls2001 git branch as of 2020-03-27.
37 - Ver. 3 interim associated with master branch as of 2020-xx-xx.
38 - Ver. 4 associated with CSIT rls2005 git branch as of 2020-06-24.
39
40 To identify performance changes due to VPP code changes from v20.01.0 to
41 v20.05.0, both have been tested in CSIT environment ver. 4 and compared
42 against each other. All substantial progressions has been marked up with
43 RCA analysis. See Current vs Previous Release and Known Issues.
44
45 CSIT environment ver. 4 has been evaluated against the ver. 2 by
46 benchmarking VPP v20.01.0 in both environrment versions.
47
48 .. include:: ../introduction/test_environment_intro.rst
49
50 .. include:: ../introduction/test_environment_sut_conf_1.rst
51
52
53 DUT Settings - VPP
54 ------------------
55
56 VPP Version
57 ~~~~~~~~~~~
58
59 |vpp-release|
60
61 VPP Compile Parameters
62 ~~~~~~~~~~~~~~~~~~~~~~
63
64 `FD.io VPP compile job`_
65
66 VPP Install Parameters
67 ~~~~~~~~~~~~~~~~~~~~~~
68
69 ::
70
71     $ dpkg -i --force-all *vpp*
72
73 VPP Startup Configuration
74 ~~~~~~~~~~~~~~~~~~~~~~~~~
75
76 VPP startup configuration vary per test case, with different settings
77 for `$$CORELIST_WORKERS`, `$$NUM_RX_QUEUES`, `$$UIO_DRIVER`, and
78 `$$NO_MULTI_SEG` parameter. List of plugins to enable is driven by test
79 requirements. Default template is provided below:
80
81 ::
82
83     ip
84     {
85       heap-size 4G
86     }
87     statseg
88     {
89       size 4G
90       per-node-counters on
91     }
92     unix
93     {
94       cli-listen /run/vpp/cli.sock
95       log /tmp/vpe.log
96       nodaemon
97       full-coredump
98     }
99     socksvr {
100       socket-name /run/vpp/api.sock
101     }
102     ip6
103     {
104       heap-size 4G
105       hash-buckets 2000000
106     }
107     heapsize 4G
108     plugins
109     {
110       plugin default
111       {
112         disable
113       }
114       plugin <$$test_requirement>_plugin.so
115       {
116         enable
117       }
118     }
119     cpu
120     {
121       corelist-workers $$CORELIST_WORKERS
122       main-core 1
123     }
124     buffers
125     {
126       buffers-per-numa 215040
127     }
128
129     # Below: in case of dpdk based drivers (vfio-pci) only
130     dpdk
131     {
132       uio-driver $$UIO_DRIVER
133       $$NO_MULTI_SEG
134       log-level debug
135       dev default
136       {
137         num-rx-queues $$NUM_RX_QUEUES
138       }
139       no-tx-checksum-offload
140       dev $$DEV_1
141       dev $$DEV_2
142     }
143
144 Description of VPP startup settings used in CSIT is provided in
145 :ref:`test_methodology`.
146
147 .. include:: ../introduction/test_environment_tg.rst
148
149 .. include:: ../introduction/test_environment_pre_test_server_calib.rst
150
151 .. include:: ../introduction/test_environment_sut_calib_skx.rst
152
153 .. include:: ../introduction/test_environment_sut_calib_clx.rst
154
155 .. include:: ../introduction/test_environment_sut_calib_hsw.rst
156
157 .. include:: ../introduction/test_environment_sut_calib_dnv.rst
158
159 .. include:: ../introduction/test_environment_sut_calib_tsh.rst