summaryrefslogtreecommitdiffstats
path: root/docs/configurationguide/low-latency.feature.configuration.description.rst
diff options
context:
space:
mode:
authorJiang, Yunhong <yunhong.jiang@intel.com>2017-03-21 17:44:28 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-03-21 17:44:28 +0000
commit59ee691ba40e67e4975e0eaf768efb6df286ed3c (patch)
tree040e4d5aaf3a5aa05456a84fde72feaa16fdeda0 /docs/configurationguide/low-latency.feature.configuration.description.rst
parentb1495d4fa3175a3ffea301dedb9b0a60ca9ada44 (diff)
parentd4b19c2012c72015c7554ad0b0f098b9dae8aa7c (diff)
Merge "This patch is used to update the documents of D-release."
Diffstat (limited to 'docs/configurationguide/low-latency.feature.configuration.description.rst')
-rw-r--r--docs/configurationguide/low-latency.feature.configuration.description.rst97
1 files changed, 77 insertions, 20 deletions
diff --git a/docs/configurationguide/low-latency.feature.configuration.description.rst b/docs/configurationguide/low-latency.feature.configuration.description.rst
index bf2dbdb44..6cad4c9ce 100644
--- a/docs/configurationguide/low-latency.feature.configuration.description.rst
+++ b/docs/configurationguide/low-latency.feature.configuration.description.rst
@@ -1,9 +1,12 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
-Introduction
-============
+=============================================
+Low Latency Feature Configuration Description
+=============================================
+Introduction
+------------
In KVM4NFV project, we focus on the KVM hypervisor to enhance it for NFV, by
looking at the following areas initially
@@ -14,7 +17,7 @@ looking at the following areas initially
* Fast live migration
Configuration of Cyclictest
-===========================
+---------------------------
Cyclictest measures Latency of response to a stimulus. Achieving low latency
with the KVM4NFV project requires setting up a special test environment.
@@ -26,15 +29,56 @@ parameters and the run-time environment.
https://wiki.opnfv.org/display/kvm/Nfv-kvm-tuning
Pre-configuration activities
-----------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Intel POD10 is currently used as OPNFV-KVM4NFV test environment. The rpm
+packages from the latest build are downloaded onto Intel-Pod10 jump server
+from artifact repository. Yardstick running in a ubuntu docker container
+on Intel Pod10-jump server will configure the host(intel pod10 node1/node2
+based on job type), the guest and triggers the cyclictest on the guest using
+below sample yaml file.
+
+
+.. code:: bash
+
+ For IDLE-IDLE test,
+
+ host_setup_seqs:
+ - "host-setup0.sh"
+ - "reboot"
+ - "host-setup1.sh"
+ - "host-run-qemu.sh"
+
+ guest_setup_seqs:
+ - "guest-setup0.sh"
+ - "reboot"
+ - "guest-setup1.sh"
-Intel POD1 is currently used as OPNFV-KVM4NFV test environment. The latest
-build packages are downloaded onto Intel Pod1-jump server from artifact
-repository. Yardstick running in a ubuntu docker container on Intel Pod1-jump
-server will trigger the cyclictest.
+.. figure:: images/idle-idle-test.png
+ :name: idle-idle-test
+ :width: 100%
+ :align: center
-Running cyclictest through Yardstick will Configure the host(Pod1-node1), the
-guest, executes cyclictest on the guest.
+.. code:: bash
+
+ For [CPU/Memory/IO]Stress-IDLE tests,
+
+ host_setup_seqs:
+ - "host-setup0.sh"
+ - "reboot"
+ - "host-setup1.sh"
+ - "stress_daily.sh" [cpustress/memory/io]
+ - "host-run-qemu.sh"
+
+ guest_setup_seqs:
+ - "guest-setup0.sh"
+ - "reboot"
+ - "guest-setup1.sh"
+
+.. figure:: images/stress-idle-test.png
+ :name: stress-idle-test
+ :width: 100%
+ :align: center
The following scripts are used for configuring host and guest to create a
special test environment and achieve low latency.
@@ -44,7 +88,7 @@ followed by guest-setup0.sh and guest-setup1.sh scripts on the guest VM.
**host-setup0.sh**: Running this script will install the latest kernel rpm
on host and will make necessary changes as following to create special test
-environment
+environment.
* Isolates CPUs from the general scheduler
* Stops timer ticks on isolated CPUs whenever possible
@@ -55,15 +99,28 @@ environment
* Disables clocksource verification at runtime
**host-setup1.sh**: Running this script will make the following test
-environment changes
+environment changes.
* Disabling watchdogs to reduce overhead
* Disabling RT throttling
* Reroute interrupts bound to isolated CPUs to CPU 0
* Change the iptable so that we can ssh to the guest remotely
+**stress_daily.sh**: Scripts gets triggered only for stress-idle tests. Running this script
+make the following environment changes.
+
+ * Triggers stress_script.sh, which runs the stress command with necessary options
+ * CPU,Memory or IO stress can be applied based on the test type
+ * Applying stress only on the Host is handled in D-Release
+ * For Idle-Idle test the stress script is not triggered
+ * Stress is applied only on the free cores to prevent load on qemu process
+
+ **Note:**
+ - On Numa Node 1: 22,23 cores are allocated for QEMU process
+ - 24-43 are used for applying stress
+
**host-run-qemu.sh**: Running this script will launch a guest vm on the host.
- Note: download guest disk image from artifactory
+ Note: download guest disk image from artifactory.
**guest-setup0.sh**: Running this scrcipt on the guest vm will install the
latest build kernel rpm, cyclictest and make the following configuration on
@@ -75,22 +132,22 @@ guest vm.
* Disables clocksource verification at runtime
**guest-setup1.sh**: Running this script on guest vm will do the following
-configurations
+configurations.
* Disable watchdogs to reduce overhead
* Routes device interrupts to non-RT CPU
* Disables RT throttling
Hardware configuration
-----------------------
+~~~~~~~~~~~~~~~~~~~~~~
-Currently Intel POD1 is used as test environment for kvmfornfv to execute
-cyclictest. As part of this test environment Intel pod1-jump is configured as
+Currently Intel POD10 is used as test environment for kvmfornfv to execute
+cyclictest. As part of this test environment Intel pod10-jump is configured as
jenkins slave and all the latest build artifacts are downloaded on to it.
-Intel pod1-node1 is the host on which a guest vm will be launched as a part of
+Intel pod10-node1 is the host on which a guest vm will be launched as a part of
running cylictest through yardstick.
* For more information regarding hardware configuration, please visit
- https://wiki.opnfv.org/display/pharos/Intel+Pod1
- https://build.opnfv.org/ci/computer/intel-pod1/
+ https://wiki.opnfv.org/display/pharos/Intel+Pod10
+ https://build.opnfv.org/ci/computer/intel-pod10/
http://artifacts.opnfv.org/octopus/brahmaputra/docs/octopus_docs/opnfv-jenkins-slave-connection.html