views:

177

answers:

1

In a research project involving virtualization and power management I am testing various resource allocation scenarios and custom power management algorithms. I am interested in isolating a virtual machine to use only a certain CPU core.

I was thinking about using Windows 2008R2 and Hyper-V, but Hyper-V does not allow setting CPU affinity for a virtual machine, is there any way I can make sure that a virtual machine running a CPU intensive task will use only one core of the CPU (the VM is configured to use a single CPU) and have the rest of the cores available for other task?

VMware ESX Server is an interesting choice since it provides the settings I need (including hot memory add), however it seems like a closed system. Does the OS of ESX Server, based on Linux from what I understand, allow for installing custom application through which to control aspects related to power management of the physical server's components (e.g. perform CPU frequency scaling). Does it provide any APIs? I am aware the product already has power management features, but I am looking for means to achieve custom implementations.

Besides these two solutions, can you recommend other hypervisors which provide facilities such as setting CPU affinity, CPU limits and reservations, hot memory add and which allow for custom applications running on the host server (also provide APIs to program such applications) - maybe Citrix XenSource, KVM (I am not familiar with these solutions)?

A: 

I don't think VMware would support modifications to the server, but you can get a command line on the ESX server as essentially you're right, it's linux underneath (RedHat mod I believe).

Xen/KVM are open source so you can hack away. You may be advised to go down the KVM route if you have budgetary constraints as the community will support you. The inclusion of Citrix may prove troublesome in an enterprise setting.

Mark Lewis
It is only a research project, I am looking for a proof of concept mainly rather than a full solution implementation, therefore the budget is not an issue. KVM seems interesting, but from what I've read setting a hard CPU limit per virtual machine is not possible - such a feature is an absolute must for me. About ESX, a command line will simply not be enough.
iulianchira