Virtualisation: Running KVM, XEN or … on an Integrity (ia64) server (with x86_64 guests)

integrityitaniumkvm-virtualizationvirtualizationxen

We have a spare Integrity blade (2x Tukwila quad-core + 16Gb RAM) laying around which I would like to use has a Virtual Host for a couple of Linux VMs. I am having some concerns finding the best solutions for our situation (if a solution is possible at all?). Here's what I'm dealing with:

  • XEN looks well supported on Itanium, but I'm not sure if I would be able to run x86_64 guests on ia64+XEN.
  • I guess KVM would be able to support emulation for x86_64 through qemu, but support for ia64 does not seem to be well supported.
  • All guests are going to be RedHat 5.5 based and HAVE to be on x86_64 architecture.
  • I don't care about the host's distribution (ideally CentOS or Debian), but I would prefer it not being Red Hat (since I don't want to deal with the trouble of registering only for 1 ia64 licence).
  • Red Hat drops support for ia64 and Xen in version 6
  • Debian seems well supported on ia64 but I can't seem to find kvm or xen packages for it
  • Will CentOS also drop support for ia64 and Xen?

So, to sum up my question, how would you guys go about virtualising x86_64 guests on an Itanium server?

Best Answer

I don't think you would be happy with existing hypervisors. The way they work, guest code is mostly executed natively on the hardware platforms except for special cases where this would break integrity - where the calls are intercepted and rewritten. For x64 binaries to execute on an Itanium platform, you would need full binary translation (emulation), which is very expensive performance-wise and typically not implemented in the hypervisors.

While it is likely that there is some software doing the x64 emulation for Itanium platforms, it's probably not worth the trouble - the performance would be disapointing as was the case with the first Itanium generation IA-32 emulation layer.