CSIT rls1704 report - update to handcraftec sections:
[csit.git] / docs / report / vpp_performance_tests / overview.rst
index d0ce5e7..0a5525a 100644 (file)
@@ -52,53 +52,56 @@ Going forward CSIT project will be looking to add more hardware into FD.io
 performance labs to address larger scale multi-interface and multi-NIC\r
 performance testing scenarios.\r
 \r
-For test cases that require DUT (VPP) to communicate with VM over vhost-user\r
-interfaces, a VM is created on SUT1 and SUT2. DUT (VPP) test topology with VM\r
-is shown in the figure below including applicable packet flow thru the VM\r
+For test cases that require DUT (VPP) to communicate with VM(s) over vhost-user\r
+interfaces, N of VM instances are created on SUT1 and SUT2. For N=1 DUT (VPP) forwards packets between vhostuser and physical interfaces. For N>1 DUT (VPP) a logical service chain forwarding topology is created on DUT (VPP) by applying L2 or IPv4/IPv6 configuration depending on the test suite.\r
+DUT (VPP) test topology with N VM instances\r
+is shown in the figure below including applicable packet flow thru the DUTs and VMs\r
 (marked in the figure with ``***``).\r
 \r
 ::\r
 \r
-    +------------------------+           +------------------------+\r
-    |      +----------+      |           |      +----------+      |\r
-    |      |    VM    |      |           |      |    VM    |      |\r
-    |      |  ******  |      |           |      |  ******  |      |\r
-    |      +--^----^--+      |           |      +--^----^--+      |\r
-    |        *|    |*        |           |        *|    |*        |\r
-    |  +------v----v------+  |           |  +------v----v------+  |\r
-    |  |      *    *      |**|***********|**|      *    *      |  |\r
-    |  |  *****    *******<----------------->*******    *****  |  |\r
-    |  |  *    DUT1       |  |           |  |       DUT2    *  |  |\r
-    |  +--^---------------+  |           |  +---------------^--+  |\r
-    |    *|                  |           |                  |*    |\r
-    |    *|            SUT1  |           |  SUT2            |*    |\r
-    +------------------------+           +------------------^-----+\r
-         *|                                                 |*\r
-         *|                                                 |*\r
-         *|                  +-----------+                  |*\r
-         *|                  |           |                  |*\r
-         *+------------------>    TG     <------------------+*\r
-         ******************* |           |********************\r
-                             +-----------+\r
-\r
-For VM tests, packets are switched by DUT (VPP) twice, hence the\r
-throughput rates measured by TG (and listed in this report) must be multiplied\r
-by two to represent the actual DUT aggregate packet forwarding rate.\r
-\r
-Note that reported VPP performance results are specific to the SUT tested.\r
+    +-------------------------+           +-------------------------+\r
+    | +---------+ +---------+ |           | +---------+ +---------+ |\r
+    | |  VM[1]  | |  VM[N]  | |           | |  VM[1]  | |  VM[N]  | |\r
+    | |  *****  | |  *****  | |           | |  *****  | |  *****  | |\r
+    | +--^---^--+ +--^---^--+ |           | +--^---^--+ +--^---^--+ |\r
+    |   *|   |*     *|   |*   |           |   *|   |*     *|   |*   |\r
+    | +--v---v-------v---v--+ |           | +--v---v-------v---v--+ |\r
+    | |  *   *       *   *  |*|***********|*|  *   *       *   *  | |\r
+    | |  *   *********   ***<-|-----------|->***   *********   *  | |\r
+    | |  *    DUT1          | |           | |       DUT2       *  | |\r
+    | +--^------------------+ |           | +------------------^--+ |\r
+    |   *|                    |           |                    |*   |\r
+    |   *|            SUT1    |           |  SUT2              |*   |\r
+    +-------------------------+           +-------------------------+\r
+        *|                                                     |*\r
+        *|                                                     |*\r
+        *|                    +-----------+                    |*\r
+        *|                    |           |                    |*\r
+        *+-------------------->    TG     <--------------------+*\r
+        **********************|           |**********************\r
+                              +-----------+\r
+\r
+For VM tests, packets are switched by DUT (VPP) multiple times: twice for a single VM, three times for two VMs, N+1 times for N VMs.\r
+Hence the external\r
+throughput rates measured by TG and listed in this report must be multiplied\r
+by (N+1) to represent the actual DUT aggregate packet forwarding rate.\r
+\r
+CSIT |release|\r
+\r
+Note that reported VPP performance results are specific to the SUTs tested.\r
 Current LF FD.io SUTs are based on Intel XEON E5-2699v3 2.3GHz CPUs. SUTs with\r
 other CPUs are likely to yield different results. A good rule of thumb, that\r
 can be applied to estimate VPP packet thoughput for Phy-to-Phy (NIC-to-NIC,\r
 PCI-to-PCI) topology, is to expect the forwarding performance to be\r
 proportional to CPU core frequency, assuming CPU is the only limiting factor\r
-and all other SUT aspects equal to FD.io CSIT environment. The same rule of\r
+and all other SUT parameters equivalent to FD.io CSIT environment. The same rule of\r
 thumb can be also applied for Phy-to-VM-to-Phy (NIC-to-VM-to-NIC) topology,\r
-but due to much higher dependency on very high frequency memory operations and\r
+but due to much higher dependency on intensive memory operations and\r
 sensitivity to Linux kernel scheduler settings and behaviour, this estimation\r
 may not always yield good enough accuracy.\r
 \r
-Detailed LF FD.io test bed specification and physical topology are described\r
-in `wiki CSIT LF FDio testbed <https://wiki.fd.io/view/CSIT/CSIT_LF_testbed>`_.\r
+For detailed LF FD.io test bed specification and physical topology please refer to `LF FDio CSIT testbed wiki page <https://wiki.fd.io/view/CSIT/CSIT_LF_testbed>`_.\r
 \r
 Performance Tests Coverage\r
 --------------------------\r
@@ -109,10 +112,10 @@ Performance tests are split into the two main categories:
   in accordance to RFC2544.\r
 \r
   - NDR - discovery of Non Drop Rate packet throughput, at zero packet loss;\r
-    followed by packet one-way latency measurements at 10%, 50% and 100% of\r
+    followed by one-way packet latency measurements at 10%, 50% and 100% of\r
     discovered NDR throughput.\r
   - PDR - discovery of Partial Drop Rate, with specified non-zero packet loss\r
-    currently set to 0.5%; followed by packet one-way latency measurements at\r
+    currently set to 0.5%; followed by one-way packet latency measurements at\r
     100% of discovered PDR throughput.\r
 \r
 - Throughput verification - verification of packet forwarding rate against\r
@@ -180,17 +183,10 @@ continuously.
 Performance Tests Naming\r
 ------------------------\r
 \r
-CSIT |release| introduced a common structured naming convention for all\r
-performance and functional tests. This change was driven by substantially\r
-growing number and type of CSIT test cases. Firstly, the original practice did\r
-not always follow any strict naming convention. Secondly test names did not\r
-always clearly capture tested packet encapsulations, and the actual type or\r
-content of the tests. Thirdly HW configurations in terms of NICs, ports and\r
-their locality were not captured either. These were but few reasons that drove\r
-the decision to change and define a new more complete and stricter test naming\r
-convention, and to apply this to all existing and new test cases.\r
-\r
-The new naming should be intuitive for majority of the tests. The complete\r
+CSIT |release| follows a common structured naming convention for all\r
+performance and system functional tests, introduced in CSIT rls1701.\r
+\r
+The naming should be intuitive for majority of the tests. Complete\r
 description of CSIT test naming convention is provided on `CSIT test naming wiki\r
 <https://wiki.fd.io/view/CSIT/csit-test-naming>`_.\r
 \r
@@ -247,9 +243,8 @@ following VPP thread and core configurations:
 \r
 #. 1t1c - 1 VPP worker thread on 1 CPU physical core.\r
 #. 2t2c - 2 VPP worker threads on 2 CPU physical cores.\r
-#. 4t4c - 4 VPP threads on 4 CPU physical cores.\r
 \r
-Note that in quite a few test cases running VPP on 2 or 4 physical cores hits\r
+Note that in quite a few test cases running VPP on 2 physical cores hits\r
 the tested NIC I/O bandwidth or packets-per-second limit.\r
 \r
 Methodology: Packet Throughput\r