From 223a5c2eed4a935b27d390b89aa849a3825d86bb Mon Sep 17 00:00:00 2001 From: pmikus Date: Tue, 17 Jan 2017 15:32:46 +0100 Subject: CSIT 1701 report files and script Add RST source files and script to generate CSIT 1701 report Change-Id: I4345564547270ba10c64d6beebf2c2b5a83de459 Signed-off-by: pmikus Signed-off-by: Maciek Konstantynowicz Signed-off-by: pmikus --- .../csit_release_notes.rst | 240 ++ .../vpp_performance_tests_hw/documentation.rst | 4 + docs/report/vpp_performance_tests_hw/index.rst | 12 + docs/report/vpp_performance_tests_hw/overview.rst | 140 + .../packet_latency_graphs/index.rst | 11 + .../packet_latency_graphs/ipv4.rst | 99 + .../packet_latency_graphs/ipv4_tunnels.rst | 87 + .../packet_latency_graphs/ipv6.rst | 97 + .../packet_latency_graphs/ipv6_tunnels.rst | 82 + .../packet_latency_graphs/l2.rst | 102 + .../packet_latency_graphs/vm_vhost.rst | 99 + .../packet_throughput_graphs/index.rst | 11 + .../packet_throughput_graphs/ipv4.rst | 187 + .../packet_throughput_graphs/ipv4_tunnels.rst | 165 + .../packet_throughput_graphs/ipv6.rst | 183 + .../packet_throughput_graphs/ipv6_tunnels.rst | 155 + .../packet_throughput_graphs/l2.rst | 190 + .../packet_throughput_graphs/vm_vhost.rst | 191 + .../vpp_performance_tests_hw/test_environment.rst | 3634 ++++++++++++++++++++ 19 files changed, 5689 insertions(+) create mode 100644 docs/report/vpp_performance_tests_hw/csit_release_notes.rst create mode 100644 docs/report/vpp_performance_tests_hw/documentation.rst create mode 100644 docs/report/vpp_performance_tests_hw/index.rst create mode 100644 docs/report/vpp_performance_tests_hw/overview.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_latency_graphs/index.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv4.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv4_tunnels.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv6.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv6_tunnels.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_latency_graphs/l2.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_latency_graphs/vm_vhost.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_throughput_graphs/index.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv4.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv4_tunnels.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv6.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv6_tunnels.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_throughput_graphs/l2.rst create mode 100644 docs/report/vpp_performance_tests_hw/packet_throughput_graphs/vm_vhost.rst create mode 100644 docs/report/vpp_performance_tests_hw/test_environment.rst (limited to 'docs/report/vpp_performance_tests_hw') diff --git a/docs/report/vpp_performance_tests_hw/csit_release_notes.rst b/docs/report/vpp_performance_tests_hw/csit_release_notes.rst new file mode 100644 index 0000000000..4292a2cd10 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/csit_release_notes.rst @@ -0,0 +1,240 @@ +CSIT Release Notes +================== + +Changes in CSIT |release| +------------------------- + +#. Naming change for all VPP performance test suites and test cases. +#. VPP performance test environment changes + + - upgrade to Ubuntu 16.04 + - VM and vhost-user test environment optimizations + - addition of HW cryptodev devices in LFD FD.io physical testbed + + +#. Added tests + + - new NICs - Intel x710, Cisco VIC1385, Cisco VIC1227 + - more VM vhost-user tests + - more LISP tests + + +Performance Tests Naming +------------------------ + +CSIT |release| introduced a common structured naming convention for all +performance and functional tests. This change was driven by substantially +growing number and type of CSIT test cases. Firstly, the original practice did +not always follow any strict naming convention. Secondly test names did not +always clearly capture tested packet encapsulations, and the actual type or +content of the tests. Thirdly HW configurations in terms of NICs, ports and +their locality were not captured either. These were but few reasons that drove +the decision to change and define a new more complete and stricter test naming +convention, and to apply this to all existing and new test cases. + +The new naming should be intuitive for majority of the tests. The complete +description of CSIT test naming convention is provided on `CSIT test naming wiki +`_. + +Here few illustrative examples of the new naming usage for performance test +suites: + +#. **Physical port to physical port - a.k.a. NIC-to-NIC, Phy-to-Phy, P2P** + + - *PortNICConfig-WireEncapsulation-PacketForwardingFunction- + PacketProcessingFunction1-...-PacketProcessingFunctionN-TestType* + - *10ge2p1x520-dot1q-l2bdbasemaclrn-ndrdisc.robot* => 2 ports of 10GE on + Intel x520 NIC, dot1q tagged Ethernet, L2 bridge-domain baseline switching + with MAC learning, NDR throughput discovery. + - *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrchk.robot* => 2 ports of 10GE + on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain baseline + switching with MAC learning, NDR throughput discovery. + - *10ge2p1x520-ethip4-ip4base-ndrdisc.robot* => 2 ports of 10GE on Intel + x520 NIC, IPv4 baseline routed forwarding, NDR throughput discovery. + - *10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot* => 2 ports of 10GE on + Intel x520 NIC, IPv6 scaled up routed forwarding, NDR throughput + discovery. + +#. **Physical port to VM (or VM chain) to physical port - a.k.a. NIC2VM2NIC, + P2V2P, NIC2VMchain2NIC, P2V2V2P** + + - *PortNICConfig-WireEncapsulation-PacketForwardingFunction- + PacketProcessingFunction1-...-PacketProcessingFunctionN-VirtEncapsulation- + VirtPortConfig-VMconfig-TestType* + - *10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2 ports + of 10GE on Intel x520 NIC, dot1q tagged Ethernet, L2 bridge-domain + switching to/from two vhost interfaces and one VM, NDR throughput + discovery. + - *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2 + ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain + switching to/from two vhost interfaces and one VM, NDR throughput + discovery. + - *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc.robot* => 2 + ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain + switching to/from four vhost interfaces and two VMs, NDR throughput + discovery. + +Measured Performance Improvements +--------------------------------- + +Substantial improvements in measured packet throughput have been observed +in VPP-17.01 for the following CSIT |release| tests: + ++-------------------+----------------------------------------------------------------+-----------+-----------------+----------------------+ +| VPP Functionality | Test Name | VPP-16.09 | VPP-17.01 | Relative Improvement | ++===================+================================================================+===========+=================+======================+ +| L2XC | 10ge2p1x520:64B-1t1c-eth-l2xcbase-ndrdisc | 9.4 Mpps | 12.6..12.9 Mpps | 34..37% | ++-------------------+----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC | 10ge2p1xl710:64B-1t1c-eth-l2xcbase-ndrdisc | 9.5 Mpps | 12.1..12.4 Mpps | 27..30% | ++-------------------+----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2BD | 10ge2p1x520:64B-1t1c-eth-l2bdbasemaclrn-ndrdisc | 7.8 Mpps | 10.6 Mpps | 36% | ++-------------------+----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2BD-vhost-VM | 10ge2p1x520:64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc | 0.4 Mpps | 2.8 Mpps | 600% | ++-------------------+----------------------------------------------------------------+-----------+-----------------+----------------------+ +| L2XC-vhost-VM | 10ge2p1x520:64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc | 0.4 Mpps | 3.2 Mpps | 700% | ++-------------------+----------------------------------------------------------------+-----------+-----------------+----------------------+ +| IPv4 | 10ge2p1x520:64B-1t1c-ethip4-ip4base-ndrdisc | 8.7 Mpps | 9.7 Mpps | 12% | ++-------------------+----------------------------------------------------------------+-----------+-----------------+----------------------+ + +This is in line with VPP code optimizations listed in `VPP-17.01 release notes +`_. + +vhost-VM performance improvement is also due to Linux KVM test environment +optimization for vhost-VM tests - see section below "VM vhost-user +Throughput Measurements". + +Multi-Thread and Multi-Core Measurements +---------------------------------------- + +**HyperThreading** - CSIT |release| performance tests are executed with SUT +servers' Intel XEON CPUs configured in HyperThreading Disabled mode (BIOS +settings). This is the simplest configuration used to establish baseline +single-thread single-core SW packet processing and forwarding performance. +Subsequent releases of CSIT will add performance tests with Intel +HyperThreading Enabled (requires BIOS settings change and hard reboot). + +**Multi-core Test** - CSIT |release| multi-core tests are executed in the +following VPP thread and core configurations: + +#. 1t1c - 1 VPP worker thread on 1 CPU physical core. +#. 2t2c - 2 VPP worker threads on 2 CPU physical cores. +#. 4t4c - 4 VPP threads on 4 CPU physical cores. + +Note that in quite a few test cases running VPP on 2 or 4 physical cores hits +the tested NIC I/O bandwidth or packets-per-second limit. + +Packet Throughput Measurements +------------------------------ + +Following values are measured and reported for packet throughput tests: + +- NDR binary search per RFC2544: + + - Packet rate: "RATE: pps + (2x )" + - Aggregate bandwidth: "BANDWIDTH: Gbps (untagged)" + +- PDR binary search per RFC2544: + + - Packet rate: "RATE: pps (2x + )" + - Aggregate bandwidth: "BANDWIDTH: Gbps (untagged)" + - Packet loss tolerance: "LOSS_ACCEPTANCE "" + +- NDR and PDR are measured for the following L2 frame sizes: + + - IPv4: 64B, IMIX_v4_1 (28x64B,16x570B,4x1518B), 1518B, 9000B. + - IPv6: 78B, 1518B, 9000B. + + +Packet Latency Measurements +--------------------------- + +TRex Traffic Generator (TG) is used for measuring latency of VPP DUTs. Reported +latency values are measured using following methodology: + +- Latency tests are performed at 10%, 50% of discovered NDR rate (non drop rate) + for each NDR throughput test and packet size (except IMIX). +- TG sends dedicated latency streams, one per direction, each at the rate of + 10kpps at the prescribed packet size; these are sent in addition to the main + load streams. +- TG reports min/avg/max latency values per stream direction, hence two sets + of latency values are reported per test case; future release of TRex is + expected to report latency percentiles. +- Reported latency values are aggregate across two SUTs due to three node + topology used for all performance tests; for per SUT latency, reported value + should be divided by two. +- 1usec is the measurement accuracy advertised by TRex TG for the setup used in + FD.io labs used by CSIT project. +- TRex setup introduces an always-on error of about 2*2usec per latency flow - + additonal Tx/Rx interface latency induced by TRex SW writing and reading + packet timestamps on CPU cores without HW acceleration on NICs closer to the + interface line. + + +KVM VM vhost Measurements +------------------------- + +CSIT |release| introduced environment configuration changes to KVM Qemu vhost- +user tests in order to more representatively measure VPP-17.01 performance in +configurations with vhost-user interfaces and VMs. + +Current setup of CSIT FD.io performance lab is using tuned settings for more +optimal performance of KVM Qemu: + +- Default Qemu virtio queue size of 256 descriptors. +- Adjusted Linux kernel CFS scheduler settings, as detailed on this CSIT wiki + page: https://wiki.fd.io/view/CSIT/VM-vhost-env-tuning. + +Adjusted Linux kernel CFS settings make the NDR and PDR throughput performance +of VPP+VM system less sensitive to other Linux OS system tasks by reducing +their interference on CPU cores that are designated for critical software +tasks under test, namely VPP worker threads in host and Testpmd threads in +guest dealing with data plan. + +Report Addendum Tests - Cryptodev +--------------------------------- + +DPDK Cryptodev functionality support for both SW and HW crypto devices has +been introduced in VPP-17.01 release. CSIT functional and performance tests +have been also developed and merged. However due to the factors beyond CSIT +project control execution of those tests within the LF FD.io test environment +still need to complete. Once the results become available, they will be +published as an addendum to the current version of CSIT |release| report. + +Report Addendum Tests - Centos +------------------------------ + +CSIT |release| added Centos functional test execution environment in FD.io +VIRL testbeds.However due to the factors beyond CSIT project control execution +of those tests within the LF FD.io test environment still need to complete. +Once the results become available, they will be published as an addendum to +the current version of CSIT |release| report. + +Report Addendum Tests - SNAT44 +------------------------------ + +VPP SNAT44 functionality has been introduced in VPP-17.01 release. CSIT +performance tests are still in development and integration into LFD FD.io test +environment. Once the tests are fully integrated and results become available, +they will be published as an addendum to the current version of CSIT |release| +report. + +Known Issues +------------ + +Here is the list of known issues in CSIT |release| for VPP performance tests in physical HW testbed: + ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| # | Issue | Description | ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| 1 | Sporadic IPv4 routed-forwwarding NDR discovery | Suspected issue with DPDK IPv4 checksum calculation, VPP jira # | +| | test failures for 1518B frame size | Observed frequency: sporadic, ca. 20% to 30% of test runs | ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| | | | ++---+-------------------------------------------------+-----------------------------------------------------------------+ +| | | | ++---+-------------------------------------------------+-----------------------------------------------------------------+ diff --git a/docs/report/vpp_performance_tests_hw/documentation.rst b/docs/report/vpp_performance_tests_hw/documentation.rst new file mode 100644 index 0000000000..1bc1bcbcc9 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/documentation.rst @@ -0,0 +1,4 @@ +Documentation +============= + +Documentation is located on nexus repository https://docs.fd.io/csit/master/doc/tests.perf.html. diff --git a/docs/report/vpp_performance_tests_hw/index.rst b/docs/report/vpp_performance_tests_hw/index.rst new file mode 100644 index 0000000000..5ffb5d8837 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/index.rst @@ -0,0 +1,12 @@ +VPP Performance Tests HW +======================== + +.. toctree:: + + overview + csit_release_notes + packet_throughput_graphs/index + packet_latency_graphs/index + test_environment + documentation + diff --git a/docs/report/vpp_performance_tests_hw/overview.rst b/docs/report/vpp_performance_tests_hw/overview.rst new file mode 100644 index 0000000000..a0425fa114 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/overview.rst @@ -0,0 +1,140 @@ +Overview +======== + +VPP Performance Test Topologies +------------------------------- + +CSIT VPP performance tests are executed on physical baremetal servers hosted by LF +FD.io project. Testbed physical topology is shown in the figure below.:: + + +------------------------+ +------------------------+ + | | | | + | +------------------+ | | +------------------+ | + | | | | | | | | + | | <-----------------> | | + | | DUT1 | | | | DUT2 | | + | +--^---------------+ | | +---------------^--+ | + | | | | | | + | | SUT1 | | SUT2 | | + +------------------------+ +------------------^-----+ + | | + | | + | +-----------+ | + | | | | + +------------------> TG <------------------+ + | | + +-----------+ + +SUT1 and SUT2 are two System Under Test servers (Cisco UCS C240, each with two +Intel XEON CPUs), TG is a Traffic Generator (TG, another Cisco UCS C240, with +two Intel XEON CPUs). SUTs run VPP SW application in Linux user-mode as a +Device Under Test (DUT). TG runs TRex SW application as a packet Traffic +Generator. Physical connectivity between SUTs and to TG is provided using +different NIC models that need to be tested for performance. Currently +installed and tested NIC models include: + +#. 2port10GE X520-DA2 Intel. +#. 2port10GE X710 Intel. +#. 2port10GE VIC1227 Cisco. +#. 2port40GE VIC1385 Cisco. +#. 2port40GE XL710 Intel. + +Detailed LF FD.io test bed specification and topology is described on `CSIT LF +testbed wiki page `_. + +For test cases that require DUT (VPP) to communicate with VM over vhost-user +interfaces, a VM is created on SUT1 and SUT2. DUT (VPP) test topology with VM +is shown in the figure below including applicable packet flow thru the VM +(marked with \*\*\*).:: + + +------------------------+ +------------------------+ + | +----------+ | | +----------+ | + | | VM | | | | VM | | + | | ****** | | | | ****** | | + | +--^----^--+ | | +--^----^--+ | + | *| |* | | *| |* | + | +------v----v------+ | | +------v----v------+ | + | | * * |**|***********|**| * * | | + | | ***** *******<----------------->******* ***** | | + | | * DUT1 | | | | DUT2 * | | + | +--^---------------+ | | +---------------^--+ | + | *| | | |* | + | *| SUT1 | | SUT2 |* | + +------------------------+ +------------------^-----+ + *| |* + *| |* + *| +-----------+ |* + *| | | |* + *+------------------> TG <------------------+* + ******************* | |******************** + +-----------+ + +Note that for VM tests, packets are switched by DUT (VPP) twice, hence the +throughput rates measured by TG must be multiplied by two to represent the +actual DUT packet forwarding rate. + +VPP Performance Tests Overview +------------------------------ + +Performance tests are split into two main categories: + +- Throughput discovery - discovery of packet forwarding rate using binary search + in accordance to RFC2544. + + - NDR - discovery of Non Drop Rate, zero packet loss. + - PDR - discovery of Partial Drop Rate, with specified non-zero packet loss. + +- Throughput verification - verification of packet forwarding rate against + previously discovered throughput rate. These tests are currently done against + 0.9 of reference NDR, with reference rates updated periodically. + +CSIT |release| includes following performance test suites: + +- 2port10GE X520-DA2 Intel + + - **L2XC** - L2 Cross-Connect switched-forwarding of untagged, dot1q, dot1ad + VLAN tagged Ethernet frames. + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning; disabled MAC learning i.e. static MAC tests to be added. + - **IPv4** - IPv4 routed-forwarding. + - **IPv6** - IPv6 routed-forwarding. + - **IPv4 Scale** - IPv4 routed-forwarding with 20k, 200k and 2M FIB entries. + - **IPv6 Scale** - IPv6 routed-forwarding with 20k, 200k and 2M FIB entries. + - **VM with vhost-user** - switching between NIC ports and VM over vhost-user + interfaces in different switching modes incl. L2 Cross-Connect, L2 + Bridge-Domain, VXLAN with L2BD, IPv4 routed-forwarding. + - **COP** - IPv4 and IPv6 routed-forwarding with COP address security. + - **iACL** - IPv4 and IPv6 routed-forwarding with iACL address security. + - **LISP** - LISP overlay tunneling for IPv4-over-IPV4, IPv6-over-IPv4, + IPv6-over-IPv6, IPv4-over-IPv6 in IPv4 and IPv6 routed-forwarding modes. + - **VXLAN** - VXLAN overlay tunnelling integration with L2XC and L2BD. + - **QoS Policer** - ingress packet rate measuring, marking and limiting + (IPv4). + +- 2port40GE XL710 Intel + + - **L2XC** - L2 Cross-Connect switched-forwarding of untagged Ethernet frames. + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning. + - **IPv4** - IPv4 routed-forwarding. + - **IPv6** - IPv6 routed-forwarding. + - **VM with vhost-user** - switching between NIC ports and VM over vhost-user + interfaces in different switching modes incl. L2 Bridge-Domain. + +- 2port10GE X710 Intel + + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning. + - **VM with vhost-user** - switching between NIC ports and VM over vhost-user + interfaces in different switching modes incl. L2 Bridge-Domain. + +- 2port10GE VIC1227 Cisco + + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning. + +- 2port40GE VIC1385 Cisco + + - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames + with MAC learning. + diff --git a/docs/report/vpp_performance_tests_hw/packet_latency_graphs/index.rst b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/index.rst new file mode 100644 index 0000000000..8c3e941d41 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/index.rst @@ -0,0 +1,11 @@ +Packet Latency Graphs +===================== + +.. toctree:: + + l2 + ipv4 + ipv6 + ipv4_tunnels + ipv6_tunnels + vm_vhost diff --git a/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv4.rst b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv4.rst new file mode 100644 index 0000000000..84fc827241 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv4.rst @@ -0,0 +1,99 @@ +IPv4 Routed-Forwarding +====================== + +This section provides a summary of VPP Phy-to-Phy IPv4 Routed-Forwarding +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all `_ + and + `csit-vpp-perf-1701-long `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy IPv4 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy IPv4 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy IPv4 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv4_tunnels.rst b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv4_tunnels.rst new file mode 100644 index 0000000000..19f314f4a5 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv4_tunnels.rst @@ -0,0 +1,87 @@ +IPv4 Overlay Tunnels +==================== + +This section provides a summary of VPP Phy-to-Phy IPv4 Overlay Tunnels +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all `_ + and + `csit-vpp-perf-1701-long `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2xcbase-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2xcbase-ndrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv6.rst b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv6.rst new file mode 100644 index 0000000000..b05239b6bb --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv6.rst @@ -0,0 +1,97 @@ +IPv6 Routed-Forwarding +====================== + +This section provides a summary of VPP Phy-to-Phy IPv6 Routed-Forwarding +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all `_ + and + `csit-vpp-perf-1701-long `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy IPv6 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy IPv6 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ipolicemarkbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy IPv6 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv6_tunnels.rst b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv6_tunnels.rst new file mode 100644 index 0000000000..20c31588f7 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/ipv6_tunnels.rst @@ -0,0 +1,82 @@ +IPv6 Overlay Tunnels +==================== + +This section provides a summary of VPP Phy-to-Phy IPv6 Overlay Tunnels +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all `_ + and + `csit-vpp-perf-1701-long `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy IPv6 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip6-ip6base-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy IPv6 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip6-ip6base-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy IPv6 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip6-ip6base-ndrdisc + + diff --git a/docs/report/vpp_performance_tests_hw/packet_latency_graphs/l2.rst b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/l2.rst new file mode 100644 index 0000000000..38d055c41d --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/l2.rst @@ -0,0 +1,102 @@ +L2 Ethernet Switching +===================== + +This section provides a summary of VPP Phy-to-Phy L2 Ethernet switching +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all `_ + and + `csit-vpp-perf-1701-long `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-Phy L2 Ethernet Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-Phy L2 Ethernet Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-Phy L2 Ethernet Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_latency_graphs/vm_vhost.rst b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/vm_vhost.rst new file mode 100644 index 0000000000..9478dfcc48 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_latency_graphs/vm_vhost.rst @@ -0,0 +1,99 @@ +VM vhost Connections +==================== + +This section provides a summary of VPP Phy-to-VM-to-Phy VM vhost-user +performance illustrating packet latency measured at 50% of discovered NDR +throughput rate. Latency is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all `_ + and + `csit-vpp-perf-1701-long `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +VPP packet latency - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - packet latency for Phy-to-VM-to-Phy VM vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +VPP packet latency - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - packet latency for Phy-to-VM-to-Phy VM vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +VPP packet latency - running in configuration of **four worker threads (4t) on four +physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - packet latency for Phy-to-VM-to-Phy VM vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/index.rst b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/index.rst new file mode 100644 index 0000000000..bf2a87fab7 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/index.rst @@ -0,0 +1,11 @@ +Packet Throughput Graphs +======================== + +.. toctree:: + + l2 + ipv4 + ipv6 + ipv4_tunnels + ipv6_tunnels + vm_vhost diff --git a/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv4.rst b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv4.rst new file mode 100644 index 0000000000..5bbedc9f7b --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv4.rst @@ -0,0 +1,187 @@ +IPv4 Routed-Forwarding +====================== + +Following sections provide a summary of VPP Phy-to-Phy IPv4 Routed-Forwarding +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv4 Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale200k-ndrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale20k-ndrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4scale2m-ndrdisc + 40ge2p1xl710-ethip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-pdrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale200k-pdrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale20k-pdrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale2m-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-pdrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale200k-pdrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale20k-pdrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale2m-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv4 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc + 10ge2p1x520-ethip4-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-pdrdisc + 10ge2p1x520-ethip4-ip4scale200k-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale200k-pdrdisc + 10ge2p1x520-ethip4-ip4scale20k-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale20k-pdrdisc + 10ge2p1x520-ethip4-ip4scale2m-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4scale2m-pdrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv4_tunnels.rst b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv4_tunnels.rst new file mode 100644 index 0000000000..3f610c1ebf --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv4_tunnels.rst @@ -0,0 +1,165 @@ +IPv4 Overlay Tunnels +==================== + +Following sections provide a summary of VPP Phy-to-Phy IPv4 Overlay Tunnels +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv4 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc01-64B-1t1c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2xcbase-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc07-64B-2t2c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2xcbase-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv4 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip4-ip4base-ndrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc13-64B-4t4c-ethip4lispip6-ip4base-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2xcbase-ndrdisc + +VPP PDR Throughput +~~~~~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv4 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4lispip4-ip4base-pdrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc02-64B-1t1c-ethip4lispip6-ip4base-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2xcbase-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv4 Overlay Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4lispip4-ip4base-pdrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc08-64B-2t2c-ethip4lispip6-ip4base-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2xcbase-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv4 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-ethip4[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip4lispip4-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4lispip4-ip4base-pdrdisc + 10ge2p1x520-ethip4lispip6-ip4base-ndrdisc.robot:| tc14-64B-4t4c-ethip4lispip6-ip4base-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2xcbase-pdrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv6.rst b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv6.rst new file mode 100644 index 0000000000..5b80205578 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv6.rst @@ -0,0 +1,183 @@ +IPv6 Routed-Forwarding +====================== + +Following sections provide a summary of VPP Phy-to-Phy IPv6 Routed-Forwarding +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6-ip6base-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ipolicemarkbase-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ipolicemarkbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6-ip6base-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6-ip6[a-z0-9]+-[a-z-]*ndrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-copwhtlistbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-iacldstbase-ndrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale200k-ndrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale20k-ndrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6scale2m-ndrdisc + 40ge2p1xl710-ethip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6-ip6base-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-iacldstbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6base-pdrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale200k-pdrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale20k-pdrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc02-78B-1t1c-ethip6-ip6scale2m-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-iacldstbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6base-pdrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale200k-pdrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale20k-pdrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc08-78B-2t2c-ethip6-ip6scale2m-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv6 +Routed-Forwarding.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6-ip6[a-z0-9]+-[a-z-]*pdrdisc" * + + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-copwhtlistbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-iacldstbase-pdrdisc + 10ge2p1x520-ethip6-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6base-pdrdisc + 10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale200k-pdrdisc + 10ge2p1x520-ethip6-ip6scale20k-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale20k-pdrdisc + 10ge2p1x520-ethip6-ip6scale2m-ndrdisc.robot:| tc14-78B-4t4c-ethip6-ip6scale2m-pdrdisc + + diff --git a/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv6_tunnels.rst b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv6_tunnels.rst new file mode 100644 index 0000000000..aa66777de3 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/ipv6_tunnels.rst @@ -0,0 +1,155 @@ +IPv6 Overlay Tunnels +==================== + +Following sections provide a summary of VPP Phy-to-Phy IPv6 Overlay Tunnels +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc01-78B-1t1c-ethip6lispip6-ip6base-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc07-78B-2t2c-ethip6lispip6-ip6base-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6[a-z0-9]+-[a-z0-9]*-ndrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip4-ip6base-ndrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc13-78B-4t4c-ethip6lispip6-ip6base-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-1t1c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6lispip4-ip6base-pdrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc02-78B-1t1c-ethip6lispip6-ip6base-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-2t2c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6lispip4-ip6base-pdrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc08-78B-2t2c-ethip6lispip6-ip6base-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy IPv6 Overlay +Tunnels.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "78B-4t4c-ethip6[a-z0-9]+-[a-z0-9]*-pdrdisc" * + + 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6lispip4-ip6base-pdrdisc + 10ge2p1x520-ethip6lispip6-ip6base-ndrdisc.robot:| tc14-78B-4t4c-ethip6lispip6-ip6base-pdrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/l2.rst b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/l2.rst new file mode 100644 index 0000000000..e3543f8bd0 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/l2.rst @@ -0,0 +1,190 @@ +L2 Ethernet Switching +===================== + +Following sections provide a summary of VPP Phy-to-Phy L2 Ethernet switching +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on +one physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on two +physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2xcbase-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc + 40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% packet +loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2xcbase-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2xcbase-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy L2 Ethernet +Switching.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" * + + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-dot1ad-l2xcbase-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-dot1q-l2xcbase-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc + 10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc + diff --git a/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/vm_vhost.rst b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/vm_vhost.rst new file mode 100644 index 0000000000..4f43715dce --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/packet_throughput_graphs/vm_vhost.rst @@ -0,0 +1,191 @@ +VM vhost Connections +==================== + +Following sections provide a summary of VPP Phy-to-VM-to-Phy VM vhost-user +performance illustrating NDR throughput (zero packet loss) and PDR throughput +(<0.5% packet loss). Performance is reported for VPP running in multiple +configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and +their physical CPU core(s) placement. + +Title of each graph is a regex (regular expression) matching all plotted +test case throughput measurements. + +.. note:: + + Data sources for reported test results: i) FD.io test executor jobs + `csit-vpp-perf-1701-all + `_ and + `csit-vpp-perf-1701-long + `_ + , ii) archived FD.io jobs test result output files + `csit-vpp-perf-1701-all#job-number `_. + +NDR Throughput +~~~~~~~~~~~~~~ + +VPP NDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +VPP NDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +VPP NDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-.*vhost.*-ndrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-ndrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc + +PDR Throughput +~~~~~~~~~~~~~~ + +VPP PDR Throughput - running in configuration of **one worker thread (1t) on one +physical core (1c)** - is presented in the figure below. PDR at below 0.5% +packet loss ratio. + +.. raw:: html + + + +*Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-1t1c-.*vhost.*-pdrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + +VPP PDR Throughput - running in configuration of **two worker threads (2t) on +two physical cores (2c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-2t2c-.*vhost.*-pdrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + +VPP PDR Throughput - running in configuration of **four worker threads (4t) on +four physical cores (4c)** - is presented in the figure below. + +.. raw:: html + + + +*Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-VM-to-Phy VM +vhost-user.* + +CSIT test cases used to generate results presented above can be found in CSIT +git repository by filtering with specified regex as follows: + +.. code-block:: bash + + $ csit/tests/perf + $ grep -E "64B-4t4c-.*vhost.*-pdrdisc" * + + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-ethip4-ip4base-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-eth-2vhost-1vm-pdrdisc + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc + diff --git a/docs/report/vpp_performance_tests_hw/test_environment.rst b/docs/report/vpp_performance_tests_hw/test_environment.rst new file mode 100644 index 0000000000..0fd22213b9 --- /dev/null +++ b/docs/report/vpp_performance_tests_hw/test_environment.rst @@ -0,0 +1,3634 @@ +Test Environment +================ + +To execute performance tests, there are three identical testbeds, each testbed +consists of two SUTs and one TG. + +SUT Configuration - Host HW +--------------------------- +Hardware details (CPU, memory, NIC layout) are described in +`CSIT/CSIT_LF_testbed `_ in +summary: + +- All hosts are Cisco UCS C240-M4 (2x Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz, + 18c, 512GB RAM), +- BIOS settings are default except for the following: + + - Hyperthreading disabled, + - SpeedStep disabled + - TurboBoost disabled + - Power Technology: Performance + +- Hosts run Ubuntu 16.04.1, kernel 4.4.0-42-generic +- Linux kernel boot command line option "intel_pstate=disable" is applied to + both SUTs and TG. In addition, on SUTs, only cores 0 and 18 (the first core on + each socket) are available to the Linux operating system and generic tasks, + all other CPU cores are isolated and reserved for VPP. +- In addition to CIMC and Management, each TG has 4x Intel X710 10GB NIC + (=8 ports) and 2x Intel XL710 40GB NIC (=4 ports), whereas each SUT has: + + - 1x Intel X520 NIC (10GB, 2 ports), + - 1x Cisco VIC 1385 (40GB, 2 ports), + - 1x Intel XL710 NIC (40GB, 2 ports), + - 1x Intel X710 NIC (10GB, 2 ports), + - 1x Cisco VIC 1227 (10GB, 2 ports). + - This allows for a total of five ring topologies, each using ports on + specific NIC model, enabling per NIC model benchmarking. + +**NIC types** + +- 0a:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ + Network Connection (rev 01) Subsystem: Intel Corporation Ethernet Server + Adapter X520-2 +- 0a:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ + Network Connection (rev 01) Subsystem: Intel Corporation Ethernet Server + Adapter X520-2 +- 06:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2) + Subsystem: Cisco Systems Inc VIC 1227 PCIe Ethernet NIC +- 07:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2) + Subsystem: Cisco Systems Inc VIC 1227 PCIe Ethernet NIC +- 13:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2) + Subsystem: Cisco Systems Inc VIC 1385 PCIe Ethernet NIC +- 15:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2) + Subsystem: Cisco Systems Inc VIC 1385 PCIe Ethernet NIC +- 85:00.0 Ethernet controller: Intel Corporation Ethernet Controller XL710 + for 40GbE QSFP+ (rev 01) Subsystem: Intel Corporation Ethernet Converged + Network Adapter XL710-Q2 +- 85:00.1 Ethernet controller: Intel Corporation Ethernet Controller XL710 + for 40GbE QSFP+ (rev 01) Subsystem: Intel Corporation Ethernet Converged + Network Adapter XL710-Q2 +- 87:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for + 10GbE SFP+ (rev 01) Subsystem: Intel Corporation Ethernet Converged Network + Adapter X710-2 +- 87:00.1 Ethernet controller: Intel Corporation Ethernet Controller X710 for + 10GbE SFP+ (rev 01) Subsystem: Intel Corporation Ethernet Converged Network + Adapter X710-2 + +SUT Configuration - Host OS Linux +--------------------------------- + +Software details (OS, configuration) is described in +`CSIT/CSIT_LF_testbed `_ in +summary: + +.. code-block:: xml + + +
+ + + 1 + + + + + 1 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + +
+
+ + + 127 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 0 + + + + + + + 0 + + + + + 127 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 1 + + + + + 127 + + + + + 0 + /dev/null || echo Debian` + GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8" + GRUB_CMDLINE_LINUX="isolcpus=1-17,19-35 nohz_full=1-17,19-35 rcu_nocbs=1-17,19-35 intel_pstate=disable" + + # Uncomment to enable BadRAM filtering, modify to suit your needs + # This works with Linux (no patch required) and with any kernel that obtains + # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) + #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" + + # Uncomment to disable graphical terminal (grub-pc only) + #GRUB_TERMINAL=console + GRUB_TERMINAL=serial + GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" + + # The resolution used on graphical terminal + # note that you can use only modes which your graphic card supports via VBE + # you can see them in real GRUB with the command `vbeinfo' + #GRUB_GFXMODE=640x480 + + # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux + #GRUB_DISABLE_LINUX_UUID=true + + # Uncomment to disable generation of recovery mode menu entries + #GRUB_DISABLE_RECOVERY="true" + + # Uncomment to get a beep at grub start + #GRUB_INIT_TUNE="480 440 1" + ]]> + + + + 1 + + + + + 0 + mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + 6: enp23s0f0: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 + link/ether 00:fe:c8:e5:68:32 brd ff:ff:ff:ff:ff:ff + ]]> + + + + 0 + + + + + 0 + + +
+
+ + + 127 + + + + + 0 + + +
+
+ + + 0 + + + + +
+
+ + + 1 + + + + + 127 + + + + + 1 + + +
+
+ +DUT Configuration - VPP +----------------------- + +**VPP Version** + +17.01-release_amd64 + +**VPP Compile Parameters** + +VPP Compile Job: https://jenkins.fd.io/view/vpp/job/vpp-merge-1701-ubuntu1604/ + +**VPP Install Parameters** + +:: + + $ dpkg -i --force-all + +**VPP Startup Configuration** + +VPP startup configuration changes per test case with different settings for CPU +cores, rx-queues and no-multi-seg parameter. Startup config is aligned with +applied test case tag: + +Tagged by **1T1C**:: + + $ cat /etc/vpp/startup.conf + unix { + nodaemon + log /tmp/vpe.log + cli-listen localhost:5002 + full-coredump + } + api-trace { + on + } + cpu { + main-core 0 corelist-workers 1 + } + dpdk { + socket-mem 1024,1024 + dev default { + num-rx-queues 1 + } + dev 0000:0a:00.1 + dev 0000:0a:00.0 + no-multi-seg + } + ip6 { + hash-buckets 2000000 + heap-size 3G + } + +Tagged by **2T1C**:: + + $ cat /etc/vpp/startup.conf + unix { + nodaemon + log /tmp/vpe.log + cli-listen localhost:5002 + full-coredump + } + api-trace { + on + } + cpu { + main-core 0 corelist-workers 1,2 + } + dpdk { + socket-mem 1024,1024 + dev default { + num-rx-queues 1 + } + dev 0000:0a:00.1 + dev 0000:0a:00.0 + no-multi-seg + } + ip6 { + hash-buckets 2000000 + heap-size 3G + } + +Tagged by **4T4C**:: + + $ cat /etc/vpp/startup.conf + unix { + nodaemon + log /tmp/vpe.log + cli-listen localhost:5002 + full-coredump + } + api-trace { + on + } + cpu { + main-core 0 corelist-workers 1,2,3,4 + } + dpdk { + socket-mem 1024,1024 + dev default { + num-rx-queues 1 + } + dev 0000:0a:00.1 + dev 0000:0a:00.0 + no-multi-seg + } + ip6 { + hash-buckets 2000000 + heap-size 3G + } + + +TG Configuration - TRex +----------------------- + +**TG Version** + +TRex v2.09 + +**DPDK version** + +DPDK v16.07 (20e2b6eba13d9eb61b23ea75f09f2aa966fa6325 - in DPDK repo) + +**TG Build Script used** + +https://gerrit.fd.io/r/gitweb?p=csit.git;a=blob;f=resources/tools/t-rex/t-rex-installer.sh;h=e89b06f9b12499996df18e5e3399fcd660ebc017;hb=refs/heads/rls1701 + +**TG Startup Configuration** + +:: + + $ cat /etc/trex_cfg.yaml + - port_limit : 2 + version : 2 + interfaces : ["0000:0d:00.0","0000:0d:00.1"] + port_info : + - dest_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf5] + src_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf4] + - dest_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf4] + src_mac : [0x3c,0xfd,0xfe,0x9c,0xee,0xf5] + +**TG common API - pointer to driver** + +https://gerrit.fd.io/r/gitweb?p=csit.git;a=blob;f=resources/tools/t-rex/t-rex-stateless.py;h=24f4a997389ba3f10ad42e1f9564ef915fd58b44;hb=refs/heads/rls1701 -- cgit 1.2.3-korg