X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=docs%2Freport%2Fvpp_performance_tests%2Ftest_environment.rst;h=173a51b968a3b180e0bb87b31d38ff63b234121c;hb=6c03d82f93fd0a4f0f7a7c750e18246260e11dd4;hp=91ca3bcc078a01c8263ab27627e501eaab1ad67a;hpb=61ef529d33efd51acd1b1986c325d25a9d7ba705;p=csit.git diff --git a/docs/report/vpp_performance_tests/test_environment.rst b/docs/report/vpp_performance_tests/test_environment.rst index 91ca3bcc07..173a51b968 100644 --- a/docs/report/vpp_performance_tests/test_environment.rst +++ b/docs/report/vpp_performance_tests/test_environment.rst @@ -1,36 +1,82 @@ -.. include:: test_environment_intro.rst -.. include:: test_environment_sut_conf_1.rst +.. raw:: latex -.. include:: test_environment_sut_conf_2.rst + \clearpage -.. include:: test_environment_sut_conf_3.rst +.. _vpp_test_environment: +Versioning +---------- -DUT Configuration - VPP ------------------------ +In order to determine any benchmark anomalies (progressions, +regressions) between releases of a specific data-plane DUT application +(e.g. VPP, DPDK), the DUT needs to be tested in the same test +environment, to avoid test environment changes impacting the results and +clouding the picture. -**VPP Version** +In order to enable test system evolution, a mirror scheme is required to +determine benchmarking anomalies between releases of specific test +system like CSIT. This is achieved by testing the same DUT application +version between releases of CSIT test system. + +CSIT test environment versioning scheme ensures integrity of all the +test system components, including their HW revisions, compiled SW code +versions and SW source code, within a specific CSIT version. Components +included in the CSIT environment versioning include: + +- Server hosts hardware firmware and BIOS (motherboard, processsor, NIC(s), accelerator card(s)). +- Server host Linux operating system versions. +- Server host Linux configuration. +- TRex Traffic Generator version, drivers and configuration. +- CSIT framework code. + +Following is the list of CSIT versions to date: + +- Ver. 1 associated with CSIT rls1908 git branch as of 2019-08-21. +- Ver. 2 associated with CSIT rls2001 git branch as of 2020-03-27. +- Ver. 3 interim associated with master branch as of 2020-xx-xx. +- Ver. 4 associated with CSIT rls2005 git branch as of 2020-06-24. + +To identify performance changes due to VPP code changes from v20.01.0 to +v20.05.0, both have been tested in CSIT environment ver. 4 and compared +against each other. All substantial progressions has been marked up with +RCA analysis. See Current vs Previous Release and Known Issues. + +CSIT environment ver. 4 has been evaluated against the ver. 2 by +benchmarking VPP v20.01.0 in both environrment versions. + +.. include:: ../introduction/test_environment_intro.rst + +.. include:: ../introduction/test_environment_sut_conf_1.rst + + +DUT Settings - VPP +------------------ + +VPP Version +~~~~~~~~~~~ |vpp-release| -**VPP Compile Parameters** +VPP Compile Parameters +~~~~~~~~~~~~~~~~~~~~~~ `FD.io VPP compile job`_ -**VPP Install Parameters** +VPP Install Parameters +~~~~~~~~~~~~~~~~~~~~~~ :: - $ dpkg -i --force-all vpp* - -**VPP Startup Configuration** + $ dpkg -i --force-all *vpp* -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: +VPP Startup Configuration +~~~~~~~~~~~~~~~~~~~~~~~~~ -Tagged by **1T1C** +VPP startup configuration vary per test case, with different settings +for `$$CORELIST_WORKERS`, `$$NUM_RX_QUEUES`, `$$UIO_DRIVER`, and +`$$NO_MULTI_SEG` parameter. List of plugins to enable is driven by test +requirements. Default template is provided below: :: @@ -38,11 +84,20 @@ Tagged by **1T1C** { heap-size 4G } + statseg + { + size 4G + per-node-counters on + } unix { - cli-listen localhost:5002 + cli-listen /run/vpp/cli.sock log /tmp/vpe.log nodaemon + full-coredump + } + socksvr { + socket-name /run/vpp/api.sock } ip6 { @@ -56,131 +111,49 @@ Tagged by **1T1C** { disable } - plugin dpdk_plugin.so + plugin <$$test_requirement>_plugin.so { enable } } cpu { - corelist-workers 2 + corelist-workers $$CORELIST_WORKERS main-core 1 } - dpdk + buffers { - dev 0000:0a:00.0 - dev 0000:0a:00.1 - no-multi-seg - uio-driver uio_pci_generic - log-level debug - dev default - { - num-rx-queues 1 - } - socket-mem 1024,1024 - no-tx-checksum-offload + buffers-per-numa 215040 } -Tagged by **2T2C** - -:: - - ip - { - heap-size 4G - } - unix - { - cli-listen localhost:5002 - log /tmp/vpe.log - nodaemon - } - ip6 - { - heap-size 4G - hash-buckets 2000000 - } - heapsize 4G - plugins - { - plugin default - { - disable - } - plugin dpdk_plugin.so - { - enable - } - } - cpu - { - corelist-workers 2,3 - main-core 1 - } + # Below: in case of dpdk based drivers (vfio-pci) only dpdk { - dev 0000:0a:00.0 - dev 0000:0a:00.1 - no-multi-seg - uio-driver uio_pci_generic + uio-driver $$UIO_DRIVER + $$NO_MULTI_SEG log-level debug dev default { - num-rx-queues 1 + num-rx-queues $$NUM_RX_QUEUES } - socket-mem 1024,1024 no-tx-checksum-offload + dev $$DEV_1 + dev $$DEV_2 } -Tagged by **4T4C** +Description of VPP startup settings used in CSIT is provided in +:ref:`test_methodology`. -:: +.. include:: ../introduction/test_environment_tg.rst - ip - { - heap-size 4G - } - unix - { - cli-listen localhost:5002 - log /tmp/vpe.log - nodaemon - } - ip6 - { - heap-size 4G - hash-buckets 2000000 - } - heapsize 4G - plugins - { - plugin default - { - disable - } - plugin dpdk_plugin.so - { - enable - } - } - cpu - { - corelist-workers 2,3,4,5 - main-core 1 - } - dpdk - { - dev 0000:0a:00.0 - dev 0000:0a:00.1 - no-multi-seg - uio-driver uio_pci_generic - log-level debug - dev default - { - num-rx-queues 1 - } - socket-mem 1024,1024 - no-tx-checksum-offload - } +.. include:: ../introduction/test_environment_pre_test_server_calib.rst + +.. include:: ../introduction/test_environment_sut_calib_skx.rst + +.. include:: ../introduction/test_environment_sut_calib_clx.rst + +.. include:: ../introduction/test_environment_sut_calib_hsw.rst + +.. include:: ../introduction/test_environment_sut_calib_dnv.rst -.. include:: test_environment_tg.rst +.. include:: ../introduction/test_environment_sut_calib_tsh.rst