feat(docs): Static content update
[csit.git] / docs / report / introduction / physical_testbeds.rst
1 .. _tested_physical_topologies:
2
3 Performance Physical Testbeds
4 =============================
5
6 All :abbr:`FD.io (Fast Data Input/Ouput)` :abbr:`CSIT (Continuous System
7 Integration and Testing)` performance test results included in this
8 report are executed on the physical testbeds hosted by :abbr:`LF (Linux
9 Foundation)` FD.io project, unless otherwise noted.
10
11 Two physical server topology types are used:
12
13 - **2-Node Topology**: Consists of one server acting as a System Under
14   Test (SUT) and one server acting as a Traffic Generator (TG), with
15   both servers connected into a ring topology. Used for executing tests
16   that require frame encapsulations supported by TG.
17
18 - **3-Node Topology**: Consists of two servers acting as a Systems Under
19   Test (SUTs) and one server acting as a Traffic Generator (TG), with
20   all servers connected into a ring topology. Used for executing tests
21   that require frame encapsulations not supported by TG e.g. certain
22   overlay tunnel encapsulations and IPsec. Number of native Ethernet,
23   IPv4 and IPv6 encapsulation tests are also executed on these testbeds,
24   for comparison with 2-Node Topology.
25
26 Current FD.io production testbeds are built with SUT servers based on
27 the following processor architectures:
28
29 - Intel Xeon: Skylake Platinum 8180, Cascadelake 6252N, Icelake 8358.
30 - Intel Atom: Denverton C3858.
31 - Arm: TaiShan 2280, hip07-d05.
32 - AMD EPYC: Zen2 7532.
33
34 Server SUT performance depends on server and processor type, hence
35 results for testbeds based on different servers must be reported
36 separately, and compared if appropriate.
37
38 Complete technical specifications of compute servers used in CSIT
39 physical testbeds are maintained in FD.io CSIT repository:
40 https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md.
41
42 Physical NICs and Drivers
43 -------------------------
44
45 SUT and TG servers are equipped with a number of different NIC models.
46
47 VPP is performance tested on SUTs with the following NICs and drivers:
48
49 #. 2p10GE: x550, x553 Intel (codename Niantic)
50    - DPDK Poll Mode Driver (PMD).
51 #. 4p10GE: x710-DA4 Intel (codename Fortville, FVL)
52    - DPDK PMD.
53    - AVF in PMD mode.
54    - AF_XDP in PMD mode.
55 #. 2p25GE: xxv710-DA2 Intel (codename Fortville, FVL)
56    - DPDK PMD.
57    - AVF in PMD mode.
58    - AF_XDP in PMD mode.
59 #. 2p100GE: cx556a-edat Mellanox ConnectX5
60    - RDMA_core in PMD mode.
61 #. 2p100GE: E810-2CQDA2 Intel (codename Columbiaville, CVL)
62    - DPDK PMD.
63    - AVF in PMD mode.
64
65 DPDK applications, testpmd and l3fwd, are performance tested on the same
66 SUTs exclusively with DPDK drivers for all NICs.
67
68 TRex running on TGs is using DPDK drivers for all NICs.
69
70 VPP hoststack tests utilize ab (Apache HTTP server benchmarking tool)
71 running on TGs and using Linux drivers for all NICs.
72
73 For more information see :ref:`vpp_test_environment`
74 and :ref:`dpdk_test_environment`.
75
76 2-Node AMD EPYC Zen2 (2n-zn2)
77 -----------------------------
78
79 One 2n-zn2 testbed in in operation in FD.io labs. It is built based on
80 two SuperMicro SuperMicro AS-1114S-WTRT servers, with SUT and TG servers
81 equipped with one AMD EPYC Zen2 7532 processor each (256 MB Cache, 2.40
82 GHz, 32 cores). 2n-zn2 physical topology is shown below.
83
84 .. only:: latex
85
86     .. raw:: latex
87
88         \begin{figure}[H]
89             \centering
90                 \graphicspath{{../_tmp/src/introduction/}}
91                 \includegraphics[width=0.90\textwidth]{testbed-2n-zn2}
92                 \label{fig:testbed-2n-zn2}
93         \end{figure}
94
95 .. only:: html
96
97     .. figure:: testbed-2n-zn2.svg
98         :alt: testbed-2n-zn2
99         :align: center
100
101 SUT NICs:
102
103 #. NIC-1: x710-DA4 4p10GE Intel.
104 #. NIC-2: xxv710-DA2 2p25GE Intel.
105 #. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox.
106
107 TG NICs:
108
109 #. NIC-1: x710-DA4 4p10GE Intel.
110 #. NIC-2: xxv710-DA2 2p25GE Intel.
111 #. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox.
112
113 All AMD EPYC Zen2 7532 servers run with AMD SMT enabled, doubling the
114 number of logical cores exposed to Linux.
115
116 2-Node Xeon Cascadelake (2n-clx)
117 --------------------------------
118
119 Three 2n-clx testbeds are in operation in FD.io labs. Each 2n-clx testbed
120 is built with two SuperMicro SYS-7049GP-TRT servers, SUTs are equipped with two
121 Intel Xeon Gold 6252N processors (35.75 MB Cache, 2.30 GHz, 24 cores).
122 TGs are equiped with Intel Xeon Cascade Lake Platinum 8280 processors (38.5 MB
123 Cache, 2.70 GHz, 28 cores). 2n-clx physical topology is shown below.
124
125 .. only:: latex
126
127     .. raw:: latex
128
129         \begin{figure}[H]
130             \centering
131                 \graphicspath{{../_tmp/src/introduction/}}
132                 \includegraphics[width=0.90\textwidth]{testbed-2n-clx}
133                 \label{fig:testbed-2n-clx}
134         \end{figure}
135
136 .. only:: html
137
138     .. figure:: testbed-2n-clx.svg
139         :alt: testbed-2n-clx
140         :align: center
141
142 SUT NICs:
143
144 #. NIC-1: x710-DA4 4p10GE Intel.
145 #. NIC-2: xxv710-DA2 2p25GE Intel.
146 #. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox.
147 #. NIC-4: empty, future expansion.
148 #. NIC-5: empty, future expansion.
149 #. NIC-6: empty, future expansion.
150
151 TG NICs:
152
153 #. NIC-1: x710-DA4 4p10GE Intel.
154 #. NIC-2: xxv710-DA2 2p25GE Intel.
155 #. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox.
156 #. NIC-4: empty, future expansion.
157 #. NIC-5: empty, future expansion.
158 #. NIC-6: x710-DA4 4p10GE Intel. (For self-tests.)
159
160 All Intel Xeon Cascadelake servers run with Intel Hyper-Threading enabled,
161 doubling the number of logical cores exposed to Linux.
162
163 2-Node Xeon Icelake (2n-icx)
164 ----------------------------
165
166 One 2n-icx testbed is in operation in FD.io labs. It is built with two
167 SuperMicro SYS-740GP-TNRT servers, each in turn equipped with two Intel Xeon
168 Platinum 8358 processors (48 MB Cache, 2.60 GHz, 32 cores).
169
170 .. only:: latex
171
172     .. raw:: latex
173
174         \begin{figure}[H]
175             \centering
176                 \graphicspath{{../_tmp/src/introduction/}}
177                 \includegraphics[width=0.90\textwidth]{testbed-2n-icx}
178                 \label{fig:testbed-2n-icx}
179         \end{figure}
180
181 .. only:: html
182
183     .. figure:: testbed-2n-icx.svg
184         :alt: testbed-2n-icx
185         :align: center
186
187 SUT and TG NICs:
188
189 #. NIC-1: xxv710-DA2 2p25GE Intel.
190 #. NIC-2: E810-2CQDA2 2p100GbE Intel (* to be added).
191 #. NIC-3: E810-CQDA4 4p100GbE Intel (* to be added).
192
193 All Intel Xeon Icelake servers run with Intel Hyper-Threading enabled,
194 doubling the number of logical cores exposed to Linux.
195
196 3-Node Xeon Icelake (3n-icx)
197 ----------------------------
198
199 One 3n-icx testbed is in operation in FD.io labs. It is built with three
200 SuperMicro SYS-740GP-TNRT servers, each in turn equipped with two Intel Xeon
201 Platinum 8358 processors (48 MB Cache, 2.60 GHz, 32 cores).
202
203 .. only:: latex
204
205     .. raw:: latex
206
207         \begin{figure}[H]
208             \centering
209                 \graphicspath{{../_tmp/src/introduction/}}
210                 \includegraphics[width=0.90\textwidth]{testbed-3n-icx}
211                 \label{fig:testbed-3n-icx}
212         \end{figure}
213
214 .. only:: html
215
216     .. figure:: testbed-3n-icx.svg
217         :alt: testbed-3n-icx
218         :align: center
219
220 SUT and TG NICs:
221
222 #. NIC-1: xxv710-DA2 2p25GE Intel.
223 #. NIC-2: E810-2CQDA2 2p100GbE Intel (* to be added).
224 #. NIC-3: E810-CQDA4 4p100GbE Intel (* to be added).
225
226 All Intel Xeon Icelake servers run with Intel Hyper-Threading enabled,
227 doubling the number of logical cores exposed to Linux.
228
229 2-Node Xeon Skylake (2n-skx)
230 ----------------------------
231
232 Four 2n-skx testbeds are in operation in FD.io labs. Each 2n-skx testbed
233 is built with two SuperMicro SYS-7049GP-TRT servers, each in turn
234 equipped with two Intel Xeon Skylake Platinum 8180 processors (38.5 MB
235 Cache, 2.50 GHz, 28 cores). 2n-skx physical topology is shown below.
236
237 .. only:: latex
238
239     .. raw:: latex
240
241         \begin{figure}[H]
242             \centering
243                 \graphicspath{{../_tmp/src/introduction/}}
244                 \includegraphics[width=0.90\textwidth]{testbed-2n-skx}
245                 \label{fig:testbed-2n-skx}
246         \end{figure}
247
248 .. only:: html
249
250     .. figure:: testbed-2n-skx.svg
251         :alt: testbed-2n-skx
252         :align: center
253
254 SUT NICs:
255
256 #. NIC-1: x710-DA4 4p10GE Intel.
257 #. NIC-2: xxv710-DA2 2p25GE Intel.
258 #. NIC-3: empty, future expansion.
259 #. NIC-4: empty, future expansion.
260 #. NIC-5: empty, future expansion.
261 #. NIC-6: empty, future expansion.
262
263 TG NICs:
264
265 #. NIC-1: x710-DA4 4p10GE Intel.
266 #. NIC-2: xxv710-DA2 2p25GE Intel.
267 #. NIC-3: empty, future expansion.
268 #. NIC-4: empty, future expansion.
269 #. NIC-5: empty, future expansion.
270 #. NIC-6: x710-DA4 4p10GE Intel. (For self-tests.)
271
272 All Intel Xeon Skylake servers run with Intel Hyper-Threading enabled,
273 doubling the number of logical cores exposed to Linux, with 56 logical
274 cores and 28 physical cores per processor socket.
275
276 3-Node Xeon Skylake (3n-skx)
277 ----------------------------
278
279 Two 3n-skx testbeds are in operation in FD.io labs. Each 3n-skx testbed
280 is built with three SuperMicro SYS-7049GP-TRT servers, each in turn
281 equipped with two Intel Xeon Skylake Platinum 8180 processors (38.5 MB
282 Cache, 2.50 GHz, 28 cores). 3n-skx physical topology is shown below.
283
284 .. only:: latex
285
286     .. raw:: latex
287
288         \begin{figure}[H]
289             \centering
290                 \graphicspath{{../_tmp/src/introduction/}}
291                 \includegraphics[width=0.90\textwidth]{testbed-3n-skx}
292                 \label{fig:testbed-3n-skx}
293         \end{figure}
294
295 .. only:: html
296
297     .. figure:: testbed-3n-skx.svg
298         :alt: testbed-3n-skx
299         :align: center
300
301 SUT1 and SUT2 NICs:
302
303 #. NIC-1: x710-DA4 4p10GE Intel.
304 #. NIC-2: xxv710-DA2 2p25GE Intel.
305 #. NIC-3: empty, future expansion.
306 #. NIC-4: empty, future expansion.
307 #. NIC-5: empty, future expansion.
308 #. NIC-6: empty, future expansion.
309
310 TG NICs:
311
312 #. NIC-1: x710-DA4 4p10GE Intel.
313 #. NIC-2: xxv710-DA2 2p25GE Intel.
314 #. NIC-3: empty, future expansion.
315 #. NIC-4: empty, future expansion.
316 #. NIC-5: empty, future expansion.
317 #. NIC-6: x710-DA4 4p10GE Intel. (For self-tests.)
318
319 All Intel Xeon Skylake servers run with Intel Hyper-Threading enabled,
320 doubling the number of logical cores exposed to Linux, with 56 logical
321 cores and 28 physical cores per processor socket.
322
323 2-Node Atom Denverton (2n-dnv)
324 ------------------------------
325
326 2n-dnv testbed is built with: i) one Intel S2600WFT server acting as TG
327 and equipped with two Intel Xeon Skylake Platinum 8180 processors (38.5
328 MB Cache, 2.50 GHz, 28 cores), and ii) one SuperMicro SYS-E300-9A server
329 acting as SUT and equipped with one Intel Atom C3858 processor (12 MB
330 Cache, 2.00 GHz, 12 cores). 2n-dnv physical topology is shown below.
331
332 .. only:: latex
333
334     .. raw:: latex
335
336         \begin{figure}[H]
337             \centering
338                 \graphicspath{{../_tmp/src/introduction/}}
339                 \includegraphics[width=0.90\textwidth]{testbed-2n-dnv}
340                 \label{fig:testbed-2n-dnv}
341         \end{figure}
342
343 .. only:: html
344
345     .. figure:: testbed-2n-dnv.svg
346         :alt: testbed-2n-dnv
347         :align: center
348
349 SUT 10GE NIC ports:
350
351 #. P-1: x553 copper port.
352 #. P-2: x553 copper port.
353 #. P-3: x553 fiber port.
354 #. P-4: x553 fiber port.
355
356 TG NICs:
357
358 #. NIC-1: x550-T2 2p10GE Intel.
359 #. NIC-2: x550-T2 2p10GE Intel.
360 #. NIC-3: x520-DA2 2p10GE Intel.
361 #. NIC-4: x520-DA2 2p10GE Intel.
362
363 The 2n-dnv testbed is in operation in Intel SH labs.
364
365 3-Node Atom Denverton (3n-dnv)
366 ------------------------------
367
368 One 3n-dnv testbed is built with: i) one SuperMicro SYS-7049GP-TRT
369 server acting as TG and equipped with two Intel Xeon Skylake Platinum
370 8180 processors (38.5 MB Cache, 2.50 GHz, 28 cores), and ii) one
371 SuperMicro SYS-E300-9A server acting as SUT and equipped with one Intel
372 Atom C3858 processor (12 MB Cache, 2.00 GHz, 12 cores). 3n-dnv physical
373 topology is shown below.
374
375 .. only:: latex
376
377     .. raw:: latex
378
379         \begin{figure}[H]
380             \centering
381                 \graphicspath{{../_tmp/src/introduction/}}
382                 \includegraphics[width=0.90\textwidth]{testbed-3n-dnv}
383                 \label{fig:testbed-3n-dnv}
384         \end{figure}
385
386 .. only:: html
387
388     .. figure:: testbed-3n-dnv.svg
389         :alt: testbed-3n-dnv
390         :align: center
391
392 SUT1 and SUT2 NICs:
393
394 #. NIC-1: x553 2p10GE fiber Intel.
395 #. NIC-2: x553 2p10GE copper Intel.
396
397 TG NICs:
398
399 #. NIC-1: x710-DA4 4p10GE Intel.
400
401 3-Node ARM TaiShan (3n-tsh)
402 ---------------------------
403
404 One 3n-tsh testbed is built with: i) one SuperMicro SYS-7049GP-TRT
405 server acting as TG and equipped with two Intel Xeon Skylake Platinum
406 8180 processors (38.5 MB Cache, 2.50 GHz, 28 cores), and ii) one Huawei
407 TaiShan 2280 server acting as SUT and equipped with one  hip07-d05
408 processor (64* ARM Cortex-A72). 3n-tsh physical topology is shown below.
409
410 .. only:: latex
411
412     .. raw:: latex
413
414         \begin{figure}[H]
415             \centering
416                 \graphicspath{{../_tmp/src/introduction/}}
417                 \includegraphics[width=0.90\textwidth]{testbed-3n-tsh}
418                 \label{fig:testbed-3n-tsh}
419         \end{figure}
420
421 .. only:: html
422
423     .. figure:: testbed-3n-tsh.svg
424         :alt: testbed-3n-tsh
425         :align: center
426
427 SUT1 and SUT2 NICs:
428
429 #. NIC-1: connectx4 2p25GE Mellanox.
430 #. NIC-2: x520 2p10GE Intel.
431
432 TG NICs:
433
434 #. NIC-1: x710-DA4 4p10GE Intel.
435 #. NIC-2: xxv710-DA2 2p25GE Intel.
436 #. NIC-3: xl710-QDA2 2p40GE Intel.
437
438 2-Node ARM ThunderX2 (2n-tx2)
439 -----------------------------
440
441 One 2n-tx2 testbed is built with: i) one SuperMicro SYS-7049GP-TRT
442 server acting as TG and equipped with two Intel Xeon Skylake Platinum
443 8180 processors (38.5 MB Cache, 2.50 GHz, 28 cores), and ii) one Marvell
444 ThnderX2 9975 (28* ThunderX2) server acting as SUT and equipped with two
445 ThunderX2 ARMv8 CN9975 processors. 2n-tx2 physical topology is shown below.
446
447 .. only:: latex
448
449     .. raw:: latex
450
451         \begin{figure}[H]
452             \centering
453                 \graphicspath{{../_tmp/src/introduction/}}
454                 \includegraphics[width=0.90\textwidth]{testbed-2n-tx2}
455                 \label{fig:testbed-2n-tx2}
456         \end{figure}
457
458 .. only:: html
459
460     .. figure:: testbed-2n-tx2.svg
461         :alt: testbed-2n-tx2
462         :align: center
463
464 SUT NICs:
465
466 #. NIC-1: xl710-QDA2 2p40GE Intel (not connected).
467 #. NIC-2: xl710-QDA2 2p40GE Intel.
468
469 TG NICs:
470
471 #. NIC-1: xl710-QDA2 2p40GE Intel.