Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A deployment Ansible playbook is available there

  • In Ansible inventories you can specify:

    • The libvirt XML file used

      • Several libvirt xml templates are provided on SEAPATH. They allow you to configure your VM with different options such as real-time capabilities or non real-time capabilities

      • Detailed documentation can be found there.

    • The disk image (qcow2) used, with 2 options

      • Based on generic SEAPATH VM

      • Using your own disk image (ex: Windows, Ubuntu…etc)

...

Example, for a virtual machine with the real-time:

<resource>
    <partition>/machine/rt</partition>
</resource>

CPU tuning

In the project, this element will be used to limit the virtual machine (more details here).

  • The vcpupin element specifies which host's physical CPUs the domain vCPU will be pinned to. Use this value only for performance driven VMs. 

  • The vcpusched element specifies the scheduler type for a particular vCPU.  Use this value only for performance driven VMs.

  • The emulatorpin element specifies which of host physical CPUs the emulator will be pinned to. The emulator describes the management processes of the VM (watchdog, creation, timers, modification). This value is not useful, most of the time.

If you configured CPU restriction for slices (see Scheduling and priorities), all the CPU ranges that you provide for emulatorpin and vcpupin must be part of the allowed CPUs of the slice where the VM is. By default, the VM is part of the machine slice, but it can be in the machine-rt or machine-nort slice following your configuration.

If you deploy a machine with real time vcpu scheduler, you must set the emulatorpin cpu range.  It can be set on the system cpu range or on specific cores.
Remember that, for maximal performance, each vCPU must be scheduled alone on its core. Emulatorpin must then be set on another core.