5f3d6b0a2b3f8d6efb89fd0439a2e3e174f985ce
[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: NIC-to-NIC switching topology.
14
15 NIC-to-NIC Switching
16 ~~~~~~~~~~~~~~~~~~~~
17
18 The simplest logical topology for software data plane application like
19 DPDK is NIC-to-NIC switching. Tested topologies for 2-Node and 3-Node
20 testbeds are shown in figures below.
21
22 .. only:: latex
23
24     .. raw:: latex
25
26         \begin{figure}[H]
27             \centering
28                 \graphicspath{{../_tmp/src/vpp_performance_tests/}}
29                 \includegraphics[width=0.90\textwidth]{logical-2n-nic2nic}
30                 \label{fig:logical-2n-nic2nic}
31         \end{figure}
32
33 .. only:: html
34
35     .. figure:: ../vpp_performance_tests/logical-2n-nic2nic.svg
36         :alt: logical-2n-nic2nic
37         :align: center
38
39
40 .. only:: latex
41
42     .. raw:: latex
43
44         \begin{figure}[H]
45             \centering
46                 \graphicspath{{../_tmp/src/vpp_performance_tests/}}
47                 \includegraphics[width=0.90\textwidth]{logical-3n-nic2nic}
48                 \label{fig:logical-3n-nic2nic}
49         \end{figure}
50
51 .. only:: html
52
53     .. figure:: ../vpp_performance_tests/logical-3n-nic2nic.svg
54         :alt: logical-3n-nic2nic
55         :align: center
56
57 Server Systems Under Test (SUT) run DPDK Testpmd or L3fwd application in
58 Linux user-mode as a Device Under Test (DUT). Server Traffic Generator
59 (TG) runs T-Rex application. Physical connectivity between SUTs and TG
60 is provided using different drivers and NIC models that need to be
61 tested for performance (packet/bandwidth throughput and latency).
62
63 From SUT and DUT perspectives, all performance tests involve forwarding
64 packets between two physical Ethernet ports (10GE, 25GE, 40GE, 100GE).
65 In most cases both physical ports on SUT are located on the same
66 NIC. The only exceptions are link bonding and 100GE tests. In the latter
67 case only one port per NIC can be driven at linerate due to PCIe Gen3
68 x16 slot bandwidth limiations. 100GE NICs are not supported in PCIe Gen3
69 x8 slots.
70
71 Note that reported DPDK DUT performance results are specific to the SUTs
72 tested. SUTs with other processors than the ones used in FD.io lab are
73 likely to yield different results. A good rule of thumb, that can be
74 applied to estimate DPDK packet thoughput for NIC-to-NIC switching
75 topology, is to expect the forwarding performance to be proportional to
76 processor core frequency for the same processor architecture, assuming
77 processor is the only limiting factor and all other SUT parameters are
78 equivalent to FD.io CSIT environment.
79
80 Performance Tests Coverage
81 --------------------------
82
83 Performance tests measure following metrics for tested DPDK DUT
84 topologies and configurations:
85
86 - Packet Throughput: measured in accordance with :rfc:`2544`, using
87   FD.io CSIT Multiple Loss Ratio search (MLRsearch), an optimized binary
88   search algorithm, producing throughput at different Packet Loss Ratio
89   (PLR) values:
90
91   - Non Drop Rate (NDR): packet throughput at PLR=0%.
92   - Partial Drop Rate (PDR): packet throughput at PLR=0.5%.
93
94 - One-Way Packet Latency: measured at different offered packet loads:
95
96   - 100% of discovered NDR throughput.
97   - 100% of discovered PDR throughput.
98
99 - Maximum Receive Rate (MRR): measured packet forwarding rate under the
100   maximum load offered by traffic generator over a set trial duration,
101   regardless of packet loss. Maximum load for specified Ethernet frame
102   size is set to the bi-directional link rate.
103
104 |csit-release| includes following DPDK Testpmd and L3fwd data plane
105 functionality performance tested across a range of NIC drivers and NIC
106 models:
107
108 +-----------------------+----------------------------------------------+
109 | Functionality         | Description                                  |
110 +=======================+==============================================+
111 | L2IntLoop             | L2 Interface Loop forwarding all Ethernet    |
112 |                       | frames between two Interfaces.               |
113 +-----------------------+----------------------------------------------+
114 | IPv4 Routed           | Longest Prefix Match (LPM) L3 IPv4           |
115 | Forwarding            | forwarding of Ethernet frames between two    |
116 |                       | Interfaces, with two /8 prefixes in lookup   |
117 |                       | table.                                       |
118 +-----------------------+----------------------------------------------+