VM Migration from Intel Xeon to AMD EPYC and vice versa

From Thomas-Krenn-Wiki
Jump to navigation Jump to search

Virtual machines can be migrated from one virtualization host to another host. Depending on the virtualization software and hardware used, such a Live Migration or a Cold Migration is possible. With Cold Migration, a migration from an Intel Xeon host to an AMD EPYC host or vice versa is also possible.

Possible migrations

The following table shows under which conditions a Live Migration or a Cold Migration is possible:[1][2]

Live Migration Cold Migration
Intel -> AMD -
AMD -> Intel -
Intel Xeon Scalable (Skylake) -> Intel Xeon Scalable (Skylake)
Intel E5 2600 v4 (Broadwell) -> Intel Xeon Scalable (Skylake) (only with limitation of CPU functions, e.g. EVC)[3][4]
AMD EPYC (Zen) -> AMD EPYC (Zen)
AMD Opteron (Piledriver) -> AMD EPYC (Zen) (only with limitation of CPU functions, e.g. EVC)

Live Migration versus Cold Migration

Live Migration

Live Migration is the non-disruptive transfer of a virtual machine from one virtualization host to another. Depending on the virtualization solution, different terms are used for live migration:

  • VMware vMotion[5]
  • Proxmox Online Migration[6]
  • Microsoft Hyper-V Live Migration[7]

For a Live Migration, the source host and target host must provide the same CPU functions (CPU flags). Live Migration is therefore only possible if:

  • the source and destination hosts have the same CPU generation (e.g. both hosts have Intel Xeon Scalable Gold 6000 processors), or
  • the source and destination hosts have CPUs from the same manufacturer and only those CPU functions are provided that both hosts support. This can be configured on VMware, for example, using Enhanced vMotion Compatibility (EVC).[3][4] CPU functions of the newer CPU generation cannot be used in the virtual machine.

Cold Migration

During a Cold Migration, the virtual machine on the original host is shut down in a controlled manner first. Then it is started on the new host. This results in a short interruption of the virtual machine operation.[8]

For most applications, it does not matter if a VM created on an Intel-based host runs on an AMD-based host after a cold migration (or vice versa). Exceptions are applications that use special CPU features provided either by Intel only or AMD only. An example are the AVX-512 VNNI functions[9] of Intel Cascade Lake Processors. If VMs with applications that use these optimized functions are migrated to hosts with other CPUs (here, for example, AMD CPUs or older Intel CPUs), these applications can naturally no longer use these CPU functions. For other use cases like Matlab, Intel and AMD have similar CPU functions that can be used alternatively. The prerequisite here is that the respective application software supports the functions of both manufacturers.[10]

References


Foto Werner Fischer.jpg

Author: Werner Fischer

Werner Fischer, working in the Knowledge Transfer team at Thomas-Krenn, completed his studies of Computer and Media Security at FH Hagenberg in Austria. He is a regular speaker at many conferences like LinuxTag, OSMC, OSDC, LinuxCon, and author for various IT magazines. In his spare time he enjoys playing the piano and training for a good result at the annual Linz marathon relay.