From 738f7d7cc6adae439bf868b28387d8709ce85f68 Mon Sep 17 00:00:00 2001 From: Miruna Paun Date: Tue, 4 Jul 2017 15:48:34 +0200 Subject: Updating benchmark.xml and editing last typos LXCR-7844 Signed-off-by: Miruna Paun --- .../doc/benchmarks.xml | 249 +++++++++++++++++++-- .../doc/container_virtualization.xml | 26 +-- .../doc/dpdk.xml | 3 +- .../doc/getting_started.xml | 13 +- .../doc/hypervisor_virtualization.xml | 16 +- 5 files changed, 261 insertions(+), 46 deletions(-) diff --git a/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml b/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml index 7155e44..fa461fa 100644 --- a/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml +++ b/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml @@ -4,18 +4,231 @@ Benchmarks - -
Hardware Setup - + The following table describes all the needed prequisites for an apt + hardware setup: + + + Hardware Setup + + + + + + + Item + + Description + + + + + + Server Platform + + Supermicro X10SDV-4C-TLN2F + http://www.supermicro.com/products/motherboard/xeon/d/X10SDV-4C-TLN2F.cfm + + + + ARCH + + x86-64 + + + + Processor + + 1 x Intel Xeon D-1521 (Broadwell), 4 cores, 8 + hyper-threaded cores per processor + + + + CPU freq + + 2.40 GHz + + + + RAM + + 16GB + + + + Network + + Dual integrated 10G ports + + + + Storage + + Samsung 850 Pro 128GB SSD + + + +
+ + Generic tests configuration: + + + + All tests use one port, one core and one Rx/TX queue for fast + path traffic. + +
- Bios + BIOS Settings + + The table below details the BIOS settings for which the default + values were changed when doing performance measurements. + + + BIOS Settings + + + + + + + Menu Path + + Setting Name + + Enea NFV Access value + + BIOS Default value + + + + + + CPU Configuration + + Direct Cache Access (DCA) + + Enable + + Auto + + + + CPU Configuration / Advanced Power Management + Configuration + + EIST (P-States) + + Disable + + Enable + + + + CPU Configuration / Advanced Power Management Configuration + / CPU C State Control + + CPU C State + + Disable + + Enable + + + + CPU Configuration / Advanced Power Management Configuration + / CPU Advanced PM Turning / Energy Perf BIAS + + Energy Performance Tuning + + Disable + + Enable + + + + CPU Configuration / Advanced Power Management Configuration + / CPU Advanced PM Turning / Energy Perf BIAS + + Energy Performance BIAS Setting + + Performance + + Balanced Performance + + + + CPU Configuration / Advanced Power Management Configuration + / CPU Advanced PM Turning / Energy Perf BIAS + + Power/Performance Switch + + Disable + + Enable + + + + CPU Configuration / Advanced Power Management Configuration + / CPU Advanced PM Turning / Program PowerCTL _MSR + + Energy Efficient Turbo + + Disable + + Enable + + + + Chipset Configuration / North Bridge / IIO + Configuration + + EV DFX Features + + Enable + + Disable + + + + Chipset Configuration / North Bridge / Memory + Configuration + + Enforce POR + + Disable + + Enable + + + + Chipset Configuration / North Bridge / Memory + Configuration + + Memory Frequency + + 2400 + + Auto + + + + Chipset Configuration / North Bridge / Memory + Configuration + + DRAM RAPL Baseline + + Disable - + DRAM RAPL Mode 1 + + + +
@@ -25,14 +238,14 @@ Docker related benchmarks
- Use Case - Forward traffic in docker + Forward traffic in Docker Benchmarking traffic forwarding using testpmd in a Docker container. Pktgen is used to generate UDP traffic that will reach testpmd, - running in a docker image. It will then be forwarded back to source on - the return trip (Forwarding). + running in a Docker image. It will then be forwarded back to source on + the return trip (Forwarding). This test measures: @@ -92,7 +305,7 @@ processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 - It is expected to have docker/guest image on target. Configure + It is expected to have Docker/guest image on target. Configure the OVS bridge:# OVS old config clean-up killall ovsdb-server ovs-vswitchd rm -rf /etc/openvswitch/* @@ -286,8 +499,8 @@ start
- Use Case - Forward traffic from Docker to another Docker on the - same host + Forward traffic from Docker to another Docker on the same + host Benchmark a combo test using testpmd running in two Docker instances, one which Forwards traffic to the second one, which @@ -396,13 +609,13 @@ ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Import a --rxq=1 --txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedConfigure it in termination mode:set fwd rxonlyRun the testpmd application:startOpen a - new console to the host and start the second docker + new console to the host and start the second Docker instance:docker run -it --rm --cpuset-cpus=0,1 -v /var/run/openvswitch/:/var/run/openvswitch/ / -v /mnt/huge:/mnt/huge el7_guest /bin/bashIn the second container start testpmd:testpmd -c 0x0F --file-prefix prog2 --socket-mem 512 --no-pci / --vdev=virtio_user0,path=/var/run/openvswitch/vhost-user2 / -d /usr/lib/librte_pmd_virtio.so.1.1 -- -i --disable-hw-vlanRun - the TestPmd application in the second docker:testpmd -c 0x3 -n 2 --file-prefix prog2 --socket-mem 512 --no-pci / + the TestPmd application in the second Docker:testpmd -c 0x3 -n 2 --file-prefix prog2 --socket-mem 512 --no-pci / --vdev=virtio_user0,path=/var/run/openvswitch/vhost-user2 / -d /usr/lib/librte_pmd_virtio.so.1.1 -- --burst 64 --disable-hw-vlan / --disable-rss -i --portmask=0x1 --coremask=0x2 --nb-cores=1 --rxq=1 / @@ -414,7 +627,7 @@ ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Import a should be used in testpmd applications.
- Results + Results @@ -495,15 +708,15 @@ ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Import a VM related benchmarks
- Use Case - Forward/termination traffic in one VM + Forward/termination traffic in one VM Benchmarking traffic (UDP) forwarding and termination using - testpmd in a virtual machine. + testpmd in a virtual machine. The Pktgen application is used to generate traffic that will reach testpmd running on a virtual machine, and be forwarded back to source on the return trip. With the same setup a second measurement - will be done with traffic termination in the virtual machine. + will be done with traffic termination in the virtual machine. This test case measures: @@ -778,7 +991,7 @@ show port stats 0
- Use Case - Forward traffic between two VMs + Forward traffic between two VMs Benchmark a combo test using two virtual machines, the first with traffic forwarding to the second, which terminates it. diff --git a/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml b/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml index c6ce223..055de7c 100644 --- a/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml +++ b/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml @@ -15,7 +15,7 @@ The software container mechanism uses resource isolation features inside the Linux kernel, such as cgroups and kernel namespaces to allow multiple containers to run within a single Linux instance, avoiding the - overhead of starting and maintaining virtual machines. + overhead of starting and maintaining virtual machines. Containers are lightweight and include everything needed to run themselves: code, runtime, system tools, system libraries and settings. @@ -23,7 +23,7 @@ software is isolated from its surroundings. For example, differences between development and staging environments can be kept separate in order to reduce conflicts between teams running different software on the same - infrastructure. + infrastructure. For a better understanding of what Docker is and how it works, the official documentation provided on the Docker website should be consulted: @@ -37,12 +37,10 @@ system is running the daemon correctly. This container can be launched by simply running: - >docker run hello-world + docker run hello-world -Hello from Docker! - - This message shows that your installation appears to be working - correctly. + If your installation is working correctly, the following message + should be outputted:Hello from Docker!
@@ -52,17 +50,17 @@ Hello from Docker! other container can. Before starting an Enea NFV Access Platform guest image, a root filesystem has to be imported in Docker: - >docker import enea-linux-virtualization-guest-x86-64.tar.gz el7guest + docker import enea-linux-virtualization-guest-qemux86-64.tar.gz el7guest To check that the Docker image has been imported successfully, run: - >docker images + docker images Finally, start an Enea NFV Access Platform container with bash running as the shell, by running: - >docker run -it el7guest /bin/bash + docker run -it el7guest /bin/bash
@@ -77,7 +75,7 @@ Hello from Docker! roots home folder to a container, the command line for Docker should have the following format: - >docker run -it -v /home/root:/home/host_root/ el7guest /bin/bash + docker run -it -v /home/root:/home/host_root/ el7guest /bin/bash To check that folders have been properly passed from the host to the container, create a file in the source folder on the host root @@ -103,7 +101,7 @@ Hello from Docker! Mapping a file descriptor is done in a similar way, but the -v flag needs to point directly to it: - >docker run -it --rm -v /var/run/openvswitch/vhost-user1 el7guest /bin/bash + docker run -it --rm -v /var/run/openvswitch/vhost-user1 el7guest /bin/bash
@@ -118,7 +116,7 @@ Hello from Docker!/mnt/huge location, a container can also access hugepages by being launched with: - >docker run -it -v /mnt/huge el7guest /bin/bash + docker run -it -v /mnt/huge el7guest /bin/bash
@@ -131,7 +129,7 @@ Hello from Docker! container if the --privileged flag is passed to the command line: - >docker run --privileged -it el7guest /bin/bash + docker run --privileged -it el7guest /bin/bash
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml b/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml index 91b36d3..e96dd80 100644 --- a/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml +++ b/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml @@ -94,7 +94,8 @@ mount -t hugetlbfs nodev /mnt/huge On board 1, start the Pktgen application: - cd /usr/share/apps/pktgen/./pktgen -c 0x7 -n 4 --socket-mem 1024 -- -P -m "[1:2].0" + cd /usr/share/apps/pktgen/ +./pktgen -c 0x7 -n 4 --socket-mem 1024 -- -P -m "[1:2].0" In the Pktgen console, run: diff --git a/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml b/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml index aa0dcb5..913ba81 100644 --- a/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml +++ b/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml @@ -85,7 +85,9 @@ -- rmc.db /* Central RMC Database */ -- systemd-bootx64.efi - /* systemd-boot EFI file */ + /* systemd-boot EFI file */ +-- grub-efi-bootx64.efi + /* GRUB EFI file */
@@ -171,7 +173,7 @@ label el_ramfs the Ethernet interface used for PXE boot. From the PXE Boot Menu select Enea Linux_RAMfs. Once the Enea NFV Access Platform is started you can partition the HDD/SDD and install - GRUB as described in in the following section.s + GRUB as described in in the following section.
@@ -187,9 +189,10 @@ label el_ramfs - e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb, - dosfstools_4.1-r0.0_amd64.deb - available under - inteld1521/deb. + e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb,/ + + dosfstools_4.1-r0.0_amd64.deb - available + under inteld1521/deb. diff --git a/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml b/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml index 6242de4..f7f186c 100644 --- a/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml +++ b/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml @@ -440,8 +440,8 @@ $ testpmd -c 0x7 -- -i --rxq=2 --txq=2 --nb-cores=2 ... containers by referencing the network in the guest XML file. It is possible to have a virtual network persistently running on the host by starting the network with command virsh net-define - instead of the previously mentioned virsh net-create. - + instead of the previously mentioned virsh + net-create. An example for the sample network defined in meta-vt/recipes-example/virt-example/files/example-net.xml: @@ -462,17 +462,17 @@ $ testpmd -c 0x7 -- -i --rxq=2 --txq=2 --nb-cores=2 ... </interface> The following presented here are a few modes of network access - from guest using virsh: + from guest using virsh: vhost-user interface - See Openvswitch chapter on how to create vhost-user interface - using OpenVSwitch. Currently there is no Open vSwitch support for - networks that are managed by libvirt (e.g. NAT). As of now, only - bridged networks are supported (those where the user has to manually - create the bridge). + See the Open vSwitch chapter on how to create vhost-user + interface using Open vSwitch. Currently there is no Open vSwitch + support for networks that are managed by libvirt (e.g. NAT). As of + now, only bridged networks are supported (those where the user has + to manually create the bridge). <interface type='vhostuser'> <mac address='00:00:00:00:00:01'/> -- cgit v1.2.3-54-g00ecf