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