PAL test runs
[csit.git] / docs / report / vpp_performance_tests / csit_release_notes.rst
1 CSIT Release Notes\r
2 ==================\r
3 \r
4 Changes in CSIT |release|\r
5 -------------------------\r
6 \r
7 #. Test environment changes in VPP data plane performance tests:\r
8 \r
9    - Further characterization and optimizations of VPP vhost-user and VM test\r
10      methodology and test environment;\r
11 \r
12      - Tests with varying Qemu virtio queue (a.k.a. vring) sizes:\r
13        [vr256] default 256 descriptors, [vr1024] 1024 descriptors to\r
14        optimize for packet throughput;\r
15 \r
16      - Tests with varying Linux :abbr:`CFS (Completely Fair Scheduler)`\r
17        settings: [cfs] default settings, [cfsrr1] :abbr:`CFS (Completely Fair\r
18        Scheduler)` RoundRobin(1) policy applied to all data plane threads\r
19        handling test packet path including all VPP worker threads and all Qemu\r
20        testpmd poll-mode threads;\r
21 \r
22      - Resulting test cases are all combinations with [vr256,vr1024] and\r
23        [cfs,cfsrr1] settings;\r
24 \r
25      - For more detail see performance results observations section in\r
26        this report;\r
27 \r
28 #. Code updates and optimizations in CSIT performance framework:\r
29 \r
30    - Complete CSIT framework code revision and optimizations as descried\r
31      on CSIT wiki page `Design_Optimizations\r
32      <https://wiki.fd.io/view/CSIT/Design_Optimizations>`_.\r
33 \r
34    - For more detail see the :ref:`CSIT Framework Design <csit-design>` section\r
35      in this report;\r
36 \r
37 #. Changes to CSIT driver for TRex Traffic Generator:\r
38 \r
39    - Complete refactor of TRex CSIT driver;\r
40 \r
41    - Introduction of packet traffic profiles to improve usability and\r
42      manageability of traffic profiles for a growing number of test\r
43      scenarios.\r
44 \r
45    - Support for packet traffic profiles to test IPv4/IPv6 stateful and\r
46      stateless DUT data plane features;\r
47 \r
48 #. Added VPP performance tests\r
49 \r
50    - **Linux Container VPP memif virtual interface tests**\r
51 \r
52      - VPP Memif virtual interface (shared memory interface) tests\r
53        interconnecting VPP instances over memif. VPP vswitch\r
54        instance runs in bare-metal user-mode handling Intel x520 NIC\r
55        10GbE interfaces and connecting over memif (Master side) virtual\r
56        interfaces to another instance of VPP running in bare-metal Linux\r
57        Container (LXC) with memif virtual interfaces (Slave side). LXC\r
58        runs in a priviliged mode with VPP data plane worker threads\r
59        pinned to dedicated physical CPU cores per usual CSIT practice.\r
60        Both VPP run the same version of software. This test topology is\r
61        equivalent to existing tests with vhost-user and VMs.\r
62 \r
63    - **Stateful Security Groups**\r
64 \r
65      - New tests of VPP stateful security-groups a.k.a. acl-plugin\r
66        functionally compatible with networking-vpp OpenStack;\r
67 \r
68      - New tested security-groups access-control-lists (acl)\r
69        configuration variants include: [iaclNsl] input acl stateless,\r
70        [oaclNsl] output acl stateless, [iaclNsf] input acl stateful\r
71        a.k.a. reflect, [oaclNsf] output acl stateful a.k.a. reflect,\r
72        where N is number of access-control-entries (ace) in the acl.\r
73 \r
74      - Testing packet flows transmitted by TG: 100, 10k, 100k, always\r
75        hitting the last permit entry in acl.\r
76 \r
77    - **VPP vhost and VM tests**\r
78 \r
79      - New VPP vhost-user and VM test cases to benchmark performance of\r
80        VPP and VM topologies with Qemu and CFS policy combinations of\r
81        [vr256,vr1024] x [cfs,cfsrr1];\r
82 \r
83      - Statistical analysis of repeatibility of results;\r
84 \r
85 Performance Improvements\r
86 ------------------------\r
87 \r
88 Substantial improvements in measured packet throughput have been observed in a\r
89 number of CSIT |release| tests listed below, with relative increase of\r
90 double-digit percentage points. Relative improvements for this release are\r
91 calculated against the test results listed in CSIT |release-1| report. The\r
92 comparison is calculated between the mean values based on collected and\r
93 archived test results' samples for involved VPP releases. Standard deviation\r
94 has been also listed for CSIT |release|. VPP-16.09 and VPP-17.01 numbers are\r
95 provided for reference.\r
96 \r
97 NDR Throughput\r
98 ~~~~~~~~~~~~~~\r
99 \r
100 Non-Drop Rate Throughput discovery tests:\r
101 \r
102 .. only:: html\r
103 \r
104    .. csv-table::\r
105       :align: center\r
106       :file: performance_improvements/performance_improvements_ndr_top.csv\r
107 \r
108 .. only:: latex\r
109 \r
110    .. raw:: latex\r
111 \r
112       \makeatletter\r
113       \csvset{\r
114         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
115       }\r
116       \makeatother\r
117 \r
118       {\tiny\r
119       \csvautobooklongtable[separator=comma,\r
120         respect all,\r
121         no check column count,\r
122         perfimprovements column width=1cm,\r
123         late after line={\\\hline},\r
124         late after last line={\end{longtable}}\r
125         ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_ndr_top.csv}\r
126       }\r
127 \r
128 \r
129 PDR Throughput\r
130 ~~~~~~~~~~~~~~\r
131 \r
132 Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
133 \r
134 .. only:: html\r
135 \r
136    .. csv-table::\r
137       :align: center\r
138       :file: performance_improvements/performance_improvements_pdr_top.csv\r
139 \r
140 .. only:: latex\r
141 \r
142    .. raw:: latex\r
143 \r
144       \makeatletter\r
145       \csvset{\r
146         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
147       }\r
148       \makeatother\r
149 \r
150       {\tiny\r
151       \csvautobooklongtable[separator=comma,\r
152         respect all,\r
153         no check column count,\r
154         perfimprovements column width=1cm,\r
155         late after line={\\\hline},\r
156         late after last line={\end{longtable}}\r
157         ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_pdr_top.csv}\r
158       }\r
159 \r
160 \r
161 Measured improvements are in line with VPP code optimizations listed in\r
162 `VPP-17.07 release notes\r
163 <https://docs.fd.io/vpp/17.07/release_notes_1707.html>`_.\r
164 \r
165 Other Performance Changes\r
166 -------------------------\r
167 \r
168 Other changes in measured packet throughput, with either minor relative increase\r
169 or decrease, have been observed in a number of CSIT |release| tests listed\r
170 below. Relative changes are calculated against the test results listed in CSIT\r
171 |release-1| report.\r
172 \r
173 NDR Throughput\r
174 ~~~~~~~~~~~~~~\r
175 \r
176 Non-Drop Rate Throughput discovery tests:\r
177 \r
178 .. only:: html\r
179 \r
180    .. csv-table::\r
181       :align: center\r
182       :file: performance_improvements/performance_improvements_ndr_low.csv\r
183 \r
184 .. only:: latex\r
185 \r
186    .. raw:: latex\r
187 \r
188       \makeatletter\r
189       \csvset{\r
190         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
191       }\r
192       \makeatother\r
193 \r
194       {\tiny\r
195       \csvautobooklongtable[separator=comma,\r
196         respect all,\r
197         no check column count,\r
198         perfimprovements column width=1cm,\r
199         late after line={\\\hline},\r
200         late after last line={\end{longtable}}\r
201         ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_ndr_low.csv}\r
202       }\r
203 \r
204 \r
205 PDR Throughput\r
206 ~~~~~~~~~~~~~~\r
207 \r
208 Partial Drop Rate thoughput discovery tests with packet Loss Tolerance of 0.5%:\r
209 \r
210 .. only:: html\r
211 \r
212    .. csv-table::\r
213       :align: center\r
214       :file: performance_improvements/performance_improvements_pdr_low.csv\r
215 \r
216 .. only:: latex\r
217 \r
218    .. raw:: latex\r
219 \r
220       \makeatletter\r
221       \csvset{\r
222         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
223       }\r
224       \makeatother\r
225 \r
226       {\tiny\r
227       \csvautobooklongtable[separator=comma,\r
228         respect all,\r
229         no check column count,\r
230         perfimprovements column width=1cm,\r
231         late after line={\\\hline},\r
232         late after last line={\end{longtable}}\r
233         ]{../_tmp/src/vpp_performance_tests/performance_improvements/performance_improvements_pdr_low.csv}\r
234       }\r
235 \r
236 \r
237 Known Issues\r
238 ------------\r
239 \r
240 Here is the list of known issues in CSIT |release| for VPP performance tests:\r
241 \r
242 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
243 | # | Issue                                           | Jira ID    | Description                                                     |\r
244 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
245 | 1 | Security-groups acl-plugin scale tests failure  | CSIT-731   | VPP with 2 worker threads crashes during security-groups        |\r
246 |   | with stateful acls if VPP with 2 worker threads | VPP-912    | iaclNsf and oaclNsf tests with 100k flows.                      |\r
247 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
248 | 2 | VPP fails memif tests in 4 worker 2 core setup  | CSIT-732   | VPP with 4 worker threads running on 2 physical cores crashes   |\r
249 |   |                                                 | VPP-920    | during memif tests. Initial debugging points to DPDK code       |\r
250 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
251 | 3 | NDR discovery test failures 1518B frame size    | VPP-663    | VPP reporting errors: dpdk-input Rx ip checksum errors.         |\r
252 |   | for ip4scale200k, ip4scale2m scale IPv4 routed- |            | Observed frequency: all test runs.                              |\r
253 |   | forwarding tests. ip4scale20k tests are fine.   |            |                                                                 |\r
254 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
255 | 4 | Vic1385 and Vic1227 low performance.            | VPP-664    | Low NDR performance.                                            |\r
256 |   |                                                 |            |                                                                 |\r
257 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
258 | 5 | Sporadic NDR discovery test failures on x520.   | CSIT-750   | Suspected issue with HW settings (BIOS, FW) in LF               |\r
259 |   |                                                 |            | infrastructure. Issue can't be replicated outside LF.           |\r
260 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
261 | 6 | VPP in 2t2c setups - large variation            | CSIT-568   | Suspected NIC firmware or DPDK driver issue affecting NDR       |\r
262 |   | of discovered NDR throughput values across      |            | throughput. Applies to XL710 and X710 NICs, x520 NICs are fine. |\r
263 |   | multiple test runs with xl710 and x710 NICs.    |            |                                                                 |\r
264 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
265 | 7 | Lower than expected NDR and PDR throughput with | CSIT-569   | Suspected NIC firmware or DPDK driver issue affecting NDR and   |\r
266 |   | xl710 and x710 NICs, compared to x520 NICs.     |            | PDR throughput. Applies to XL710 and X710 NICs.                 |\r
267 +---+-------------------------------------------------+------------+-----------------------------------------------------------------+\r
268 \r