report 18.07: final final editorial nit picking in v0.9.
[csit.git] / docs / report / introduction / test_environment_intro.rst
1 .. _test_environment:
2
3 Test Environment
4 ================
5
6 Physical Testbeds
7 -----------------
8
9 FD.io CSIT performance tests are executed in physical testbeds hosted by
10 :abbr:`LF (Linux Foundation)` for FD.io project. Two physical testbed
11 topology types are used:
12
13 - **3-Node Topology**: Consisting of two servers acting as SUTs
14   (Systems Under Test) and one server as TG (Traffic Generator), all
15   connected in ring topology.
16 - **2-Node Topology**: Consisting of one server acting as SUTs and one
17   server as TG both connected in ring topology.
18
19 Tested SUT servers are based on a range of processors including Intel
20 Xeon Haswell-SP, Intel Xeon Skylake-SP, Arm, Intel Atom. More detailed
21 description is provided in
22 :ref:`tested_physical_topologies`. Tested logical topologies are
23 described in :ref:`tested_logical_topologies`.
24
25 Server Specifications
26 ---------------------
27
28 Complete technical specifications of compute servers used in CSIT
29 physical testbeds are maintained on FD.io wiki pages: `CSIT/Testbeds:
30 Xeon Hsw, VIRL
31 <https://wiki.fd.io/view/CSIT/Testbeds:_Xeon_Hsw,_VIRL.#FD.io_CSIT_testbeds_-_Xeon_Haswell.2C_VIRL>`_
32 and `CSIT Testbeds: Xeon Skx, Arm, Atom
33 <https://wiki.fd.io/view/CSIT/Testbeds:_Xeon_Skx,_Arm,_Atom.#Server_Specification>`_.
34
35 Pre-Test Server Calibration
36 ---------------------------
37
38 Number of SUT server sub-system runtime parameters have been identified
39 as impacting data plane performance tests. Calibrating those parameters
40 is part of FD.io CSIT pre-test activities, and includes measuring and
41 reporting following:
42
43 #. System level core jitter – measure duration of core interrupts by
44    Linux in clock cycles and how often interrupts happen. Using
45    `CPU core jitter tool <https://git.fd.io/pma_tools/tree/jitter>`_.
46
47 #. Memory bandwidth – measure bandwidth with `Intel MLC tool
48    <https://software.intel.com/en-us/articles/intelr-memory-latency-checker>`_.
49
50 #. Memory latency – measure memory latency with Intel MLC tool.
51
52 #. Cache latency at all levels (L1, L2, and Last Level Cache) – measure
53    cache latency with Intel MLC tool.
54
55 Measured values of listed parameters are especially important for
56 repeatable zero packet loss throughput measurements across multiple
57 system instances. Generally they come useful as a background data for
58 comparing data plane performance results across disparate servers.
59
60 Following sections include measured calibration data for Intel Xeon
61 Haswell and Intel Xeon Skylake testbeds.