Ubuntu Server Guide Changes, errors and bugs


Download 1.27 Mb.
Pdf ko'rish
bet57/286
Sana20.12.2022
Hajmi1.27 Mb.
#1035308
1   ...   53   54   55   56   57   58   59   60   ...   286
Bog'liq
ubuntu-server-guide

DPDK in KVM Guests
If you have no access to DPDK supported network cards you can still work with DPDK by using its support
for virtio. To do so you have to create guests backed by hugepages (see above).
On top of that there it is required to have at least SSE3. The default CPU model qemu/libvirt uses is only
up to SSE2. So you will have to define a model that passed the proper feature flags (or use host-passthrough).
An example can be found in following snippet to your virsh xml (or the equivalent virsh interface you use).

Also virtio nowadays supports multiqueue which DPDK in turn can exploit for better speed. To modify a
normal virtio definition to have multiple queues add the following to your interface definition. This is about
enhancing a normal virtio nic to have multiple queues, to later on be consumed e.g. by DPDK in the guest.

OpenVswitch-DPDK_as_an_example_to_put_it_to_use._Resources'>Use DPDK
Since DPDK on its own is only (massive) library you most likely might continue to OpenVswitch-DPDK as
an example to put it to use.
Resources
• DPDK Documentation
• Release Notes matching the version packages in Ubuntu 16.04
• Linux DPDK User Getting Started
• EAL Command-line Options
• DPDK Api Documentation
70


• OpenVswitch DPDK installation
• Wikipedias definition of DPDK
OpenVswitch-DPDK
With DPDK being just a library it doesn’t do a lot on its own, so it depends on emerging projects making
use of it. One consumer of the library that already is part of Ubuntu is OpenVswitch with DPDK support
in the package openvswitch-switch-dpdk.
Here an example how to install and configure a basic OpenVswitch using DPDK for later use via libvirt/qemu-
kvm.
sudo apt−g e t i n s t a l l openvswitch −s w i t c h −dpdk
sudo update−a l t e r n a t i v e s −−s e t ovs−v s w i t c h d / u s r / l i b / openvswitch −s w i t c h −dpdk/
ovs−vswitchd−dpdk
ovs−v s c t l s e t Open_vSwitch . ” o t h e r _ c o n f i g : dpdk−i n i t=t r u e ”
# run on c o r e 0 o n l y
ovs−v s c t l s e t Open_vSwitch . ” o t h e r _ c o n f i g : dpdk−l c o r e −mask=0x1 ”
# A l l o c a t e 2G huge p a g e s ( not Numa node aware )
ovs−v s c t l s e t Open_vSwitch . ” o t h e r _ c o n f i g : dpdk−a l l o c −mem=2048”
# l i m i t t o one w h i t e l i s t e d d e v i c e
ovs−v s c t l s e t Open_vSwitch . ” o t h e r _ c o n f i g : dpdk−e x t r a=−−p c i −w h i t e l i s t
= 0 0 0 0 : 0 4 : 0 0 . 0 ”
sudo s e r v i c e openvswitch −s w i t c h r e s t a r t
Please remember that you have to assign devices to DPDK compatible drivers see above at Network - DPDK
before restarting.
Please note that the section dpdk-alloc-mem=2048 above is the most basic numa setup for a single socket
system. If you have multiple sockets you might want to define how to split your memory among them. More
details about these options are outlined in OpenVswitch setup.

Download 1.27 Mb.

Do'stlaringiz bilan baham:
1   ...   53   54   55   56   57   58   59   60   ...   286




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling