41881b8c8e9be80269c3beaf7b5de1229258c66c
[csit.git] / docs / report / dpdk_performance_tests / overview.rst
1 Overview
2 ========
3
4 For description of physical testbeds used for DPDK performance tests
5 please refer to :ref:`tested_physical_topologies`.
6
7 .. _tested_logical_topologies:
8
9 Logical Topologies
10 ------------------
11
12 CSIT DPDK performance tests are executed on physical testbeds described
13 in :ref:`tested_physical_topologies`. Based on the packet path through
14 server SUTs, one distinct logical topology type is used for DPDK DUT
15 data plane testing:
16
17 #. NIC-to-NIC switching topologies.
18
19 NIC-to-NIC Switching
20 ~~~~~~~~~~~~~~~~~~~~
21
22 The simplest logical topology for software data plane application like
23 DPDK is NIC-to-NIC switching. Tested topologies for 2-Node and 3-Node
24 testbeds are shown in figures below.
25
26 .. only:: latex
27
28     .. raw:: latex
29
30         \begin{figure}[H]
31             \centering
32                 \graphicspath{{../_tmp/src/vpp_performance_tests/}}
33                 \includegraphics[width=0.90\textwidth]{logical-2n-nic2nic}
34                 \label{fig:logical-2n-nic2nic}
35         \end{figure}
36
37 .. only:: html
38
39     .. figure:: ../vpp_performance_tests/logical-2n-nic2nic.svg
40         :alt: logical-2n-nic2nic
41         :align: center
42
43
44 .. only:: latex
45
46     .. raw:: latex
47
48         \begin{figure}[H]
49             \centering
50                 \graphicspath{{../_tmp/src/vpp_performance_tests/}}
51                 \includegraphics[width=0.90\textwidth]{logical-3n-nic2nic}
52                 \label{fig:logical-3n-nic2nic}
53         \end{figure}
54
55 .. only:: html
56
57     .. figure:: ../vpp_performance_tests/logical-3n-nic2nic.svg
58         :alt: logical-3n-nic2nic
59         :align: center
60
61 Server Systems Under Test (SUT) runs DPDK Testpmd/L3FWD application in
62 Linux user-mode as a Device Under Test (DUT). Server Traffic Generator (TG)
63 runs T-Rex application. Physical connectivity between SUTs and TG is provided
64 using different drivers and NIC models that need to be tested for performance
65 (packet/bandwidth throughput and latency).
66
67 From SUT and DUT perspectives, all performance tests involve forwarding
68 packets between two physical Ethernet ports (10GE, 25GE, 40GE, 100GE).
69 In most cases both physical ports on SUT are located on the same
70 NIC. The only exceptions are link bonding and 100GE tests. In the latter
71 case only one port per NIC can be driven at linerate due to PCIe Gen3
72 x16 slot bandwidth limiations. 100GE NICs are not supported in PCIe Gen3
73 x8 slots.
74
75 Note that reported DPDK DUT performance results are specific to the SUTs
76 tested. SUTs with other processors than the ones used in FD.io lab are
77 likely to yield different results. A good rule of thumb, that can be
78 applied to estimate DPDK packet thoughput for NIC-to-NIC switching
79 topology, is to expect the forwarding performance to be proportional to
80 processor core frequency for the same processor architecture, assuming
81 processor is the only limiting factor and all other SUT parameters are
82 equivalent to FD.io CSIT environment.
83
84 Performance Tests Coverage
85 --------------------------
86
87 Performance tests measure following metrics for tested DPDK DUT
88 topologies and configurations:
89
90 - Packet Throughput: measured in accordance with :rfc:`2544`, using
91   FD.io CSIT Multiple Loss Ratio search (MLRsearch), an optimized binary
92   search algorithm, producing throughput at different Packet Loss Ratio
93   (PLR) values:
94
95   - Non Drop Rate (NDR): packet throughput at PLR=0%.
96   - Partial Drop Rate (PDR): packet throughput at PLR=0.5%.
97
98 - One-Way Packet Latency: measured at different offered packet loads:
99
100   - 100% of discovered NDR throughput.
101   - 100% of discovered PDR throughput.
102
103 - Maximum Receive Rate (MRR): measure packet forwarding rate under the
104   maximum load offered by traffic generator over a set trial duration,
105   regardless of packet loss. Maximum load for specified Ethernet frame
106   size is set to the bi-directional link rate.
107
108 |csit-release| includes following performance test suites, listed per NIC type:
109
110 - **L2IntLoop** - L2 Interface Loop forwarding any Ethernet frames between
111   two Interfaces.
112
113 - **IPv4 Routed Forwarding** - L3 IP forwarding of Ethernet frames between
114   two Interfaces.
115
116 Execution of performance tests takes time, especially the throughput
117 tests. Due to limited HW testbed resources available within FD.io labs
118 hosted by :abbr:`LF (Linux Foundation)`, the number of tests for some
119 NIC models has been limited to few baseline tests.
120
121 Performance Tests Naming
122 ------------------------
123
124 FD.io |csit-release| follows a common structured naming convention for
125 all performance and system functional tests, introduced in CSIT-17.01.
126
127 The naming should be intuitive for majority of the tests. Complete
128 description of FD.io CSIT test naming convention is provided on
129 :ref:`csit_test_naming`.