在涉及虛擬化和電源管理的研究項目中,我正在測試各種資源分配方案和定製電源管理算法。我有興趣將虛擬機隔離爲僅使用某個CPU內核。Hyper-V,VMware ESX和定製電源管理
我正在考慮使用Windows 2008R2和Hyper-V,但Hyper-V不允許爲虛擬機設置CPU關聯性,有沒有什麼方法可以確保運行CPU密集型任務的虛擬機將使用只有一個CPU核心(虛擬機配置爲使用單個CPU),其他核心可用於其他任務?
VMware ESX Server是一個有趣的選擇,因爲它提供了我需要的設置(包括熱內存添加),但它看起來像一個封閉的系統。根據我的理解,基於Linux的ESX Server操作系統允許安裝自定義應用程序,通過它來控制與物理服務器組件的電源管理相關的方面(例如執行CPU頻率縮放)。它是否提供任何API?我知道該產品已經具備電源管理功能,但我正在尋找實現自定義實施的手段。除了這兩種解決方案之外,您還可以推薦其他的虛擬機管理程序,這些虛擬機管理程序提供諸如設置CPU關聯性,CPU限制和預留,熱內存添加以及允許在主機服務器上運行自定義應用程序的功能(還提供API以編程此類應用程序) - 也許Citrix XenSource,KVM(我不熟悉這些解決方案)?
這只是一個研究項目,我主要是在尋找一個概念證明,而不是一個完整的解決方案實現,因此預算不是問題。 KVM看起來很有趣,但是從我讀過的內容來看,設置每個虛擬機的硬件CPU限制是不可能的 - 這種功能對我來說絕對是必須的。關於ESX,命令行根本就不夠用。 – kjv