1 .. _tested_physical_topologies:
3 Performance Physical Testbeds
4 =============================
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.
11 Two physical server topology types are used:
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.
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.
26 Current FD.io production testbeds are built with SUT servers based on
27 the following processor architectures:
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.
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.
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.
42 Physical NICs and Drivers
43 -------------------------
45 SUT and TG servers are equipped with a number of different NIC models.
47 VPP is performance tested on SUTs with the following NICs and drivers:
49 #. 2p10GE: x550, x553 Intel (codename Niantic)
50 - DPDK Poll Mode Driver (PMD).
51 #. 4p10GE: x710-DA4 Intel (codename Fortville, FVL)
55 #. 2p25GE: xxv710-DA2 Intel (codename Fortville, FVL)
59 #. 2p100GE: cx556a-edat Mellanox ConnectX5
60 - RDMA_core in PMD mode.
61 #. 2p100GE: E810-2CQDA2 Intel (codename Columbiaville, CVL)
65 DPDK applications, testpmd and l3fwd, are performance tested on the same
66 SUTs exclusively with DPDK drivers for all NICs.
68 TRex running on TGs is using DPDK drivers for all NICs.
70 VPP hoststack tests utilize ab (Apache HTTP server benchmarking tool)
71 running on TGs and using Linux drivers for all NICs.
73 For more information see :ref:`vpp_test_environment`
74 and :ref:`dpdk_test_environment`.
76 2-Node AMD EPYC Zen2 (2n-zn2)
77 -----------------------------
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.
90 \graphicspath{{../_tmp/src/introduction/}}
91 \includegraphics[width=0.90\textwidth]{testbed-2n-zn2}
92 \label{fig:testbed-2n-zn2}
97 .. figure:: testbed-2n-zn2.svg
103 #. NIC-1: x710-DA4 4p10GE Intel.
104 #. NIC-2: xxv710-DA2 2p25GE Intel.
105 #. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox.
109 #. NIC-1: x710-DA4 4p10GE Intel.
110 #. NIC-2: xxv710-DA2 2p25GE Intel.
111 #. NIC-3: cx556a-edat ConnectX5 2p100GE Mellanox.
113 All AMD EPYC Zen2 7532 servers run with AMD SMT enabled, doubling the
114 number of logical cores exposed to Linux.
116 2-Node Xeon Cascadelake (2n-clx)
117 --------------------------------
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.
131 \graphicspath{{../_tmp/src/introduction/}}
132 \includegraphics[width=0.90\textwidth]{testbed-2n-clx}
133 \label{fig:testbed-2n-clx}
138 .. figure:: testbed-2n-clx.svg
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.
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.)
160 All Intel Xeon Cascadelake servers run with Intel Hyper-Threading enabled,
161 doubling the number of logical cores exposed to Linux.
163 2-Node Xeon Icelake (2n-icx)
164 ----------------------------
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).
176 \graphicspath{{../_tmp/src/introduction/}}
177 \includegraphics[width=0.90\textwidth]{testbed-2n-icx}
178 \label{fig:testbed-2n-icx}
183 .. figure:: testbed-2n-icx.svg
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).
193 All Intel Xeon Icelake servers run with Intel Hyper-Threading enabled,
194 doubling the number of logical cores exposed to Linux.
196 3-Node Xeon Icelake (3n-icx)
197 ----------------------------
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).
209 \graphicspath{{../_tmp/src/introduction/}}
210 \includegraphics[width=0.90\textwidth]{testbed-3n-icx}
211 \label{fig:testbed-3n-icx}
216 .. figure:: testbed-3n-icx.svg
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).
226 All Intel Xeon Icelake servers run with Intel Hyper-Threading enabled,
227 doubling the number of logical cores exposed to Linux.
229 2-Node Xeon Skylake (2n-skx)
230 ----------------------------
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.
243 \graphicspath{{../_tmp/src/introduction/}}
244 \includegraphics[width=0.90\textwidth]{testbed-2n-skx}
245 \label{fig:testbed-2n-skx}
250 .. figure:: testbed-2n-skx.svg
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.
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.)
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.
276 3-Node Xeon Skylake (3n-skx)
277 ----------------------------
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.
290 \graphicspath{{../_tmp/src/introduction/}}
291 \includegraphics[width=0.90\textwidth]{testbed-3n-skx}
292 \label{fig:testbed-3n-skx}
297 .. figure:: testbed-3n-skx.svg
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.
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.)
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.
323 2-Node Atom Denverton (2n-dnv)
324 ------------------------------
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.
338 \graphicspath{{../_tmp/src/introduction/}}
339 \includegraphics[width=0.90\textwidth]{testbed-2n-dnv}
340 \label{fig:testbed-2n-dnv}
345 .. figure:: testbed-2n-dnv.svg
351 #. P-1: x553 copper port.
352 #. P-2: x553 copper port.
353 #. P-3: x553 fiber port.
354 #. P-4: x553 fiber port.
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.
363 The 2n-dnv testbed is in operation in Intel SH labs.
365 3-Node Atom Denverton (3n-dnv)
366 ------------------------------
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.
381 \graphicspath{{../_tmp/src/introduction/}}
382 \includegraphics[width=0.90\textwidth]{testbed-3n-dnv}
383 \label{fig:testbed-3n-dnv}
388 .. figure:: testbed-3n-dnv.svg
394 #. NIC-1: x553 2p10GE fiber Intel.
395 #. NIC-2: x553 2p10GE copper Intel.
399 #. NIC-1: x710-DA4 4p10GE Intel.
401 3-Node ARM TaiShan (3n-tsh)
402 ---------------------------
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.
416 \graphicspath{{../_tmp/src/introduction/}}
417 \includegraphics[width=0.90\textwidth]{testbed-3n-tsh}
418 \label{fig:testbed-3n-tsh}
423 .. figure:: testbed-3n-tsh.svg
429 #. NIC-1: connectx4 2p25GE Mellanox.
430 #. NIC-2: x520 2p10GE Intel.
434 #. NIC-1: x710-DA4 4p10GE Intel.
435 #. NIC-2: xxv710-DA2 2p25GE Intel.
436 #. NIC-3: xl710-QDA2 2p40GE Intel.
438 2-Node ARM ThunderX2 (2n-tx2)
439 -----------------------------
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.
453 \graphicspath{{../_tmp/src/introduction/}}
454 \includegraphics[width=0.90\textwidth]{testbed-2n-tx2}
455 \label{fig:testbed-2n-tx2}
460 .. figure:: testbed-2n-tx2.svg
466 #. NIC-1: xl710-QDA2 2p40GE Intel (not connected).
467 #. NIC-2: xl710-QDA2 2p40GE Intel.
471 #. NIC-1: xl710-QDA2 2p40GE Intel.