On 24 May 2017, at 14:11, Francesco Romani <fromani(a)redhat.com>
wrote:
On 05/24/2017 12:57 PM, Michal Skrivanek wrote:
> Hi all,
> we plan to work on an improvement in VM definition for high performance workloads
which do not require desktop-class devices and generally favor highest possible
performance in expense of less flexibility.
> We’re thinking of adding a new VM preset in addition to current Desktop and Server in
New VM dialog, which would automatically pre-select existing options in the right way, and
suggest/warn on suboptimal configuration
> All the presets and warning can be changed and ignored. There are few things we
already identified as boosting performance and/or minimize the complexity of the VM, so we
plan the preset to:
> - remove all graphical consoles and set the VM as headless, making it accessible by
serial console.
> - disable all USB.
> - disable soundcard.
> - enable I/O Threads, just one for all disks by default.
> - set host cpu passthrough (effectively disabling VM live migration), add I/O Thread
pinning in a similar way as the existing CPU pinning.
> We plan the following checks and suggest to perform CPU pinning, host topology ==
guest topology (number of cores per socket and threads per core should match), NUMA
topology host and guest match, check and suggest the I/O threads pinning.
> A popup on a VM dialog save seems suitable.
>
> currently identified task and status can be followed on trello card[1]
>
> Please share your thoughts, questions, any kind of feedback…
In order to maximize performance we may also want to limit the number of
other VMs (either regular or high performance) running on the same
host. This to minimize the interference and the resource stealing.
In the extreme case, just the selected high performance VM would be
allowed to run on one suitable host.
well, it certainly goes in that direction. E.g. for a real time workloads/VMs the host
needs to be configured in a way which makes it very cumbersome for other non-RT VMs - you
need to reserve resources, typically you do not want to do that at all as when you are
serious about performance or RT you really do not want any kind of overcommit.
Even for the most simple case of hugepages the pre-allocation of those pages seems to be
the only reliable way of getting them for sure (at least for 1GB pages), and such memory
is then unusable for non-hugepages VMs
Bests,
--
Francesco Romani
Senior SW Eng., Virtualization R&D
Red Hat
IRC: fromani github: @fromanirh
_______________________________________________
Devel mailing list
Devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel