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