High performance virtual machines in oVirt Explain oVirt solution for easy creation of virtual machines running in highest possible performance
by Sharon Gratch
At: FOSDEM 2019
Running a virtual machine enables the user with a high level of flexibility in the expense of the virtual machine's performance. Users are sometimes required to run applications on a virtual machine but still gain performance metrics as close to bare metal as possible. Until now this wasn't a straightforward mission to accomplish in oVirt. A new feature was now added to introduce a simple to manage solution for running a new/existing virtual machine in high performance. In this session we will talk about the essential requirements, functionality, limitations and assumptions for improving virtual machine performance, including host pinning and live migration enabled functionality. Attendees with virtualization knowledge (without necessarily oVirt experience) can learn from this session. Support a new type of virtual machine in oVirt destined for running a virtual machine with highest possible performance and performance metrics as close to bare metal as possible.
By choosing this new High Performance virtual machine type, the virtual machine will be per-configured with a set of suggested and recommended configuration settings for reaching the best efficiency.
Before this feature was implemented in oVirt, configure a virtual machine to run with high performance workloads was not an easy straightforward mission to do and required the user to manually set the virtual machine as such by going over all settings and check what is relevant and how to configure it.
In addition, live migration was usually not supported for such virtual machines due to pinning constraints. Furthermore, few required features essential for improving virtual machine performance were not supported at all by oVirt (for example: using huge pages, IO and Emulator threads pinning, CPU cache layer 3 support, USV and other devices disabling, headless mode, enable Multi Queues per Virtual Interface etc).
All these new features and more can now be leveraged to suggest one solution of the best recommended configuration according to virtual machine usage requirements.
We will explain why increasing performance will decrease flexibility of the virtual machine, discuss how to set the virtual machine's devices, pass through host CPU mode, io/cpu/emulator threads pinning typologies, paravirtualized random number generator, virtual NUMA nodes and NUMA pinning topology and more settings. We will also explain how to combine all settings together wisely, what are the requirements from the physical hosts running those virtual machines and what are the limitations. We will also discuss virtual machines' pinned hosts limitations
We will explain out solution for supporting migration for those high performance virtual machines which include pinning configuration, migration constraints to handle and hosts scheduler requirements. In addition we will talk about affinity rules for managing groups of high performance virtual machines and physical hosts.
Scheduled start: 2019-02-02 15:00:00+01