新四季網

虛擬機均質化以實現跨異構型計算機的遷移的製作方法

2023-04-24 11:08:06 2

專利名稱:虛擬機均質化以實現跨異構型計算機的遷移的製作方法
技術領域:
本申請涉及虛擬機,具體而言,涉及虛擬機在跨異構型計算機上的遷移。
背景技術:
虛擬機(VM)包括在主機計算機系統上執行的的軟體,該軟體好像它是物理機器那樣運作。一個計算機系統可以主控多個虛擬機,每個虛擬機運行在一個虛擬機監視器 (VMM)上,該虛擬機監視器也被稱為系統管理程序,它控制主機資源在諸虛擬機之間的共享。通常運行虛擬機來以比傳統的程序更加充分的方式利用物理機器的硬體資源,和/或在同一時間在同一物理機器上運行不同的作業系統。
當創建了虛擬機,虛擬機監視器通常會將底層硬體特徵、拓撲和其它特性展示給該虛擬機。這就允許該虛擬機充分利用其運行的平臺的能力。
出於各種理由,有時希望或必須將虛擬機從一個物理機器遷移到另一物理機器, 而不要停止該虛擬機的執行(雖然在某些持續時間該虛擬機是不可用的)。這樣的理由包括負載平衡、維護、故障轉移等等。
然而,當在異構型計算環境中遷移虛擬機時,也就是,在具有不同能力的計算平臺之間,可能會出現許多硬體相關和軟體相關的問題。例如,新平臺可能並不支持與該虛擬機先前所使用的特定處理器特徵相關聯的指令集,從而導致應用程式或作業系統崩潰。另一個問題是當緩存拓撲不同時,例如,在新平臺上存在更小的緩存線性轉儲清除大小(cache line flush size),這就會導致數據惡化的問題。還有另一個問題是虛擬機可能被優化以使用一物理機器的非均勻存儲器訪問(NUMA)拓撲和/或非均勻I/O訪問拓撲。如果這些拓撲中的一個不同或兩者都不同,就會導致下降的性能。
對於軟體而言,在新機器上的虛擬機監視器的版本可能與先前平臺的版本不同, 從而導致了兼容性問題。還有,當虛擬機遷移到不同的平臺時,會存在作業系統或應用程式許可證激活的問題。
總之,在異構型計算環境中,遷移虛擬機會導致硬體資源利用不足、低下性能、系統停機時間和/或數據丟失。

發明內容
提供本發明內容以便以簡化形式介紹將在以下的具體實施方式
中進一步描述的一些代表性概念。本發明內容不旨在標識出所要求保護的主題的關鍵特徵或必要特徵,也不旨在以限制所要求保護的主題的範圍的任何方式來使用。
簡要地,在此描述的主題的各個方面都旨在基於虛擬機所需的能力和/或計算機系統上可用的能力將虛擬機遷移至具有不同平臺的計算機系統的技術。這樣的能力包括處理器特徵集、處理器緩存特性、控制寄存器特性、模型特定寄存器特性、存儲器類型範圍寄存器特性、地址範圍寄存器特性、非均勻存儲器訪問拓撲、非均勻I/O訪問拓撲、虛擬機監視器版本數據和/或許可證相關的數據。
在一個方面,在允許遷移之前檢查兼容性。在另一個方面,虛擬機的平臺相關的能力被故意限定為計算機系統之間可用的平臺相關的能力的最低公共集,以使得虛擬機與多個計算機系統中的任意計算機系統相兼容。例如,返回給虛擬機的CPU特徵可以是每個機器都能支持的最低CPU特徵,該特徵基於不同的CPU體系結構和/或步進而不同,包括在體系結構之間的步進和/或單個處理器廠商的和/或不同處理器廠商的步進。
在一個方面中,可以基於相似的能力將諸計算機系統分組為遷移池,例如,較新的計算機系統並不受限於較老的計算機系統的能力,而僅受限於它們的遷移池中最低的能力。在另一個方面中,可以基於虛擬機所需的能力,諸如基於性能、故障容差和/或靈活性, 將該虛擬機映射到某些計算機系統。
結合附圖閱讀以下詳細描述,本發明的其他優點會變得顯而易見。


作為示例而非限制,在附圖中示出了本發明,附圖中相同的附圖標記指示相同或相似的元素,附圖中 圖1是示出以維護跨不同平臺的兼容性的方式來遷移虛擬機的示例組件的框圖。
圖2是表示虛擬化處理器特徵集以匹配在不同平臺中的公共的那些從而確保兼容性的示例步驟的流程圖。
圖3是示出基於公共能力如何將不同的平臺匯合在一起,以便在池內的遷移避免了兼容性相關的問題的框圖。
圖4表示了如何基於每個虛擬機所需能力和與之相對的每個平臺所提供的能力可將虛擬機映射到不同的平臺的框圖。
圖5是示出在虛擬機遷移期間採取的保持跨平臺兼容性的示例步驟的流程圖。
圖6示出可以將本發明的各方面併入其中的計算環境的說明性示例。
具體實施例方式在此所描述的技術的各個方面總體來說旨在便於以避免由平臺中的不同的硬體和/或軟體所導致的各種問題的方式在異構型計算平臺中的虛擬機遷移。為此,描述了一組異構型平臺的能力的標識,虛擬機所需能力的說明以及對使用這些能力的虛擬機的創建,包括由虛擬機監視器對底層硬體和/或軟體的虛擬化以支持這些能力。還描述了當遷移或重啟虛擬機時的虛擬機能力的持續以及兼容性驗證。在一個方面中,描述了在遷移虛擬機之後將任何已改變的能力通知該虛擬機。
應當理解,此處的任何示例都是非限制性的示例。如此,本發明不限於此處所描述的任何特定實施例、方面、概念、結構、功能或示例。相反,這裡所描述的任何一個實施例、方面、概念、結構、功能或示例都是非限制性的,且本發明可以按一般而言在計算和/或虛擬機技術中提供好處和優點的各種方式來使用。
圖1示出了有關虛擬機10 從具有一個平臺106的源主機104到具有另一個平臺Iio的目標主機108的遷移的各個方面。可以很容易地理解,如果平臺是相同的,則不存在兼容性問題,因此,此處的描述針對於關於它們各自的硬體和/或軟體能力(包括在此描述的各種特徵和/或特性)的不同的平臺106和110。注意,在目標主機上的虛擬機實例在圖1中標註為102b,儘管除了其位置之外,該虛擬機實例在本質上並沒有被改變。
如所知的,每個主機運行一個虛擬機監視器,在圖1中標註為112和114。在其它操作中,虛擬機監視器允許不同類型的虛擬機,例如配置有不同作業系統、版本等,以運行在平臺上。通常,每個虛擬機作業系統可以沒有察覺到它運行在虛擬機監視器之上,並且可以如同它就是在物理主機計算機系統上運行的唯一的作業系統那樣操作。
如在此所述,結合虛擬機監視器112和114的系統管理器116以確保兼容性的方式處理遷移。為此,系統管理器116包括兼容性邏輯118,該兼容性邏輯118檢查虛擬機是否能被遷移,並且如果不能就放棄所請求的遷移。
此外,虛擬機監視器112和114分別包括兼容性管理器120和122,它們能夠控制虛擬機的兼容性配置以提供跨平臺的兼容性。更加具體地,每個兼容性管理器能夠基於在異構型平臺之間可用的特徵和特性,將虛擬機的能力設定為最低的公共特徵集/特性集。 這種兼容性相關的信息可以作為兼容性數據124由系統管理器116維護。
一組兼容性與每個平臺的CPU相關。它們包括處理器特徵,例如指令集、控制寄存器特性、緩存特性等等,並隨處理器廠商和執行而改變。如所知的,CPUID指令返回數據,可以通過這些數據來為給定平臺確定這些特徵中的許多特徵。
相對於處理器緩存,處理器緩存體系結構對應於CPUID葉2和4。如果虛擬機正在運行在源主機上的緩存優化應用程式,將該虛擬機遷移到目標主機導致性能的降低。
此外,如果在目標主機上的緩存線性轉儲清除大小小於源,則會發生數據惡化。這樣,源和目標主機處理器的特性需要匹配。
CL 轉儲清除大小(CPUID 80000001. ebx. 16-23) 如上所述,一個選擇是如果,例如由於較舊的CPU或來自不同廠商的CPU的原因, 目標主機不能支持CPU特性,則放棄遷移。然而,一個替換方式是在源主機上虛擬化所述特徵集以便與參與將來遷移的目標主機匹配。為此,系統管理器確定對於給定虛擬機可能進行遷移的每個平臺的CPU特徵(這可依賴於虛擬機所需的能力,如以下將描述的)。從這些特徵中,系統管理器基於任意給定處理器不能支持的那個或那些特徵來選擇最低的公共特徵集。可以為不同的體系結構/同一處理器廠商的步進來完成所述最低的公共特徵集選擇,但也可以跨不同的廠商處理器來完成所述最低的公共特徵集選擇。
這樣,例如,如果在諸處理器中,所有的處理器都支持SSE4. 1,但一個或多個處理器不支持SSE4. 2,則最低的公共特徵集為SSE4. 1。無論在哪裡創建或啟動虛擬機,要遷移到不支持SSE4. 2的機器的任意虛擬機都將不會看到SSE4. 2CPUID位。然而,注意這僅應用於將被遷移的虛擬機;主機可具有固定在主機並不會被遷移的一個或多個虛擬機。
為了限制虛擬機對超過在最低的公共特徵集中所標識的對應的一個特徵的任何特徵的使用,由系統管理器將該最低的公共特徵集告知其各自的虛擬機監視器的兼容性管理器。當首先在主機上創建虛擬機時,創建者(例如管理員或自動過程)具有在處理器兼容模式中創建該虛擬機的能力。如果在此模式下被創建,主機虛擬機監視器截取用於確定處理器特徵的虛擬機CPUID請求,並且用合適的最低公共特徵集進行基本響應。為了實現此目標,如果任意位並沒有設置在例如公共特徵集中,虛擬機監視器就將對CPUID請求的實際響應中設置的該位清除。
圖2概括了虛擬機監視器的最低的公共特徵集操作,從步驟202開始,在那裡虛擬機(VM)執行CPUID指令,請求特徵信息。在步驟204,虛擬機監視器截取CPUID指令的執行。
步驟206估計該虛擬機是否正以選擇的處理器兼容模式選項被創建。如果不是, 在步驟212將結果返回給虛擬機。
如果選擇了處理器兼容模式選項,則步驟208和210表示了在步驟212返回結果之前,基於最低的公共特徵集改變任何不同的特徵。
一些處理器提供了無需截取CPUID指令執行,通過寫入專用的模式特定寄存器 (MSR)來直接無視CPUID值的能力。虛擬機監視器可以使用這種機制來清除當虛擬處理器運行時的任意CPUID位。
—些處理器提供了使得與處理器特徵相關聯的指令集無效的能力。除了清除 CPUID位之外,虛擬機監視器可以使用其來使得相關聯的指令集無效以強迫使用該特徵。
類似於當創建虛擬機時,現有的虛擬機可以被重新配置為處理器兼容模式。
注意,對於一些特徵操作,虛擬機監視器可以模擬指令集。例如,在一個實現中,虛擬機監視器模擬預取(prefetch)和預取寫(prefetch)指令。任何虛擬機遷移所允許的在平臺間模擬的這樣的指令不需要由虛擬化來限定。
除了處理器特徵,還可以虛擬化其它處理器特性。例如,如果兩個平臺具有不同的緩存線性轉儲清除大小,則返回最小的緩存線性轉儲清除大小作為最低的公共特性/特徵。模型特定寄存器、存儲器類型範圍寄存器(MTRR)以及地址範圍寄存器(ARR)也能夠類似地匹配於例如最低的公共特性,以僅將寄存器展示給跨平臺公共的虛擬機。還可以將處理器的XSAVE (有關處理器擴展狀態)能力,例如是否支持XSAVE並且如果支持則擴展, 與最低公共能力進行匹配。此外,保存的控制寄存器(例如CR4)位可能需要被設置為零, 因為虛擬機嘗試將保存的位設置為1會導致取決於處理器的處理器異常。例如,一個平臺可以使用CR位,而另一個卻不能。作為更加具體的實例,啟用XSAVE的平臺將CR4定義為 0SXSAVE,而未啟用XSAVE的平臺保存這個位。
不同非均勻存儲器訪問(NUMA)拓撲引起其它硬體有關的兼容性問題。通常,對於 NUMA,處理器和存儲器被配置在不同的節點,使得每個處理器到其自身節點的存儲器比到另一節點的存儲器更近。為了更好的性能,當使用存儲器時如果通過調度同一節點中的處理器上的線程可能的話,則作業系統嘗試使用離處理器更近的存儲器,並且只有在必須的時候才從其它節點分配存儲器。
應用程式可以使用NUMA API來確定節點拓撲以便優化調度和存儲器使用。類似於NUMA,作業系統/應用程式還可以,例如,通過精煉(affinitizing)中斷或使用直接耦合 I/O控制器等來對非均勻I/O訪問進行優化。
然而,這個或這些拓撲可以跨平臺不同,當其虛擬機被遷移到另一平臺時,這會使得配置用於一個拓撲的作業系統/應用程式變得低效。一種避免這種問題的方法是告訴在虛擬機中運行的作業系統/應用程式如果非均勻存儲器訪問和/或非均勻I/O訪問不是在每個計算機系統上都可用,則它們都不可用。另一方法是基於計算機系統的物理NUMA拓撲提供虛擬NUMA拓撲。
具有不同的虛擬機監視器版本會引起軟體兼容性問題。為了啟動遷移,虛擬機監視器可以是向後和向前兼容的,例如切換到和較舊版本虛擬機監視器所創建的虛擬機工作的版本或代碼路徑。另外,虛擬機監視器可以創建具有有限特徵集和格式的虛擬機以允許該虛擬機遷移到較舊版本的虛擬機監視器。
有些類似,虛擬機可以調整。雖然現有的作業系統版本在它們作為虛擬機運行 (而不是傳統的作業系統)時可能不能實現,但其它作業系統版本可以是虛擬機知曉的。這些版本可以調整適應在不同平臺上運行的虛擬機監視器。例如,在較新的虛擬機監視器版本上運行的虛擬機在被遷移到較舊版本上運行時可以識別並相應地調整。
當例如在與初始激活虛擬機的平臺所不同的平臺上運行的虛擬機中運行時,作業系統/應用程式檢查可以限制或禁用功能,許可證問題也會引起。這可以通過使檢查針對虛擬機遷移進行調整,例如許可一作業系統用作一組物理機器平臺內的虛擬機,來處理。這也可通過虛擬機監視器將所述處理器或激活檢查所基於的系統特徵虛擬化來處理。
圖3示出另一方面,其中,基於平臺的公共特徵集/特性通過僅允許虛擬機在它們自身的遷移池中的平臺間遷移來將平臺匯合成遷移池。這就允許對每個計算機系統必須被限制多少程度進行控制。例如,公司可能希望將其具有最新特徵和特性的計算機系統分組在一起,使得在該組中的最低的公共能力還能相對較高(而不是讓那些計算機系統明顯受限於一個或多個其它計算機系統的更低能力)。
這樣,平臺3IO1IIOm屬於遷移池A (也標註為330),而平臺311廣31 In屬於遷移池 B(也標註為331)。這些關聯可在兼容性數據124中維護,其中系統管理器116不嘗試跨遷移池邊界的虛擬機遷移。
注意,圖3示出兩個不同的遷移池,然而,在給定公司環境中可以存在任意特定數目的遷移池。例如,一個遷移池可以包括更有效服務內容的那些計算機,而另一遷移池可以包括處理資料庫查詢的那些計算機,另一個遷移池可以包括公司可用於執行其它期望任務的任何更舊計算機,等等。
通常,管理員等可以,例如通過與用戶界面交互,確定虛擬機所需的能力。例如, 如果虛擬機要被用於服務流視頻,那麼,將具有包括與多媒體相關的有效指令的指令集 (例如SSE4或更高的)的平臺指定為所需的。注意,用戶界面可以允許個別地選擇所需特徵,或基於通用需求/應用,例如匹配概況選擇(例如高性能對高靈活性對故障容差) 自動選擇多個特徵,和/或使用滑塊等。可以允許個別特徵選擇的手動超越控制(Manual overriding) 0 基於這樣的選擇,系統管理器可以定位匹配這些指定的能力的一個或多個計算平臺的集合。從這些匹配平臺中可以作出遷移池。
取代圖3的在基於遷移池的實現中對機器分組,在圖4中示出了另一匹配所需能力的方法。在圖4中,可以基於每個平臺的與所需能力相匹配(滿足或超過)的能力,將每個虛擬機441-443遷移到平臺445-448中的某個平臺。例如,考慮為了有效操作,虛擬機441 需要具有如括號中所示的特徵(1,2,3)。平臺445和446至少具有這些特徵,而平臺447和 448不具有這些特徵。這樣,系統管理器116維護用於將虛擬機441僅映射到該子集(機器 445和446)的數據,還維護指定虛擬機需要用該子集的最低的公共特徵集(1,2,3)來創建的數據。
注意,虛擬機442與任意平臺兼容,因為它僅需要特徵(1),而虛擬機443與除平臺447(它不具有所需特徵O))之外的任意平臺兼容。然而,管理員可以選擇不允許虛擬
8機遷移到與它相兼容的每個平臺,這樣,例如,能夠在更低能力的平臺上運行的虛擬機不消耗平臺445的資源,留下那些平臺資源可用於確實需要它們的虛擬機。這在圖4中通過虛線箭頭示出,它表示了相對於遷移可以被映射到平臺的虛擬機,但並沒有映射。
圖5概括了操作示例流程的許多概念,從標識一個或多個平臺能力的步驟502開始。在步驟504,接收虛擬機的能力,例如由管理員提供的(或自動與之前虛擬機匹配)。
步驟506表示找到了與虛擬機指定能力匹配的平臺,並在該平臺上創建虛擬機。 作為創建的一部分,步驟508表示了平臺的虛擬化,例如使用該虛擬機可以遷移到並在其上運行的可能的平臺的最低的公共能力(特徵和特性)。
步驟510表示在其所創建的平臺上運行該虛擬機,這種運行一直持續直到如在步驟512中所估計的請求遷移。注意,步驟510包括在同一平臺上重新引導虛擬機;在該簡化示例中沒有考慮除了由遷移導致的故障的範圍之外的故障。
如果在步驟512獲得了對遷移的請求,步驟514開始遷移數據,包括虛擬機數據和狀態,以及虛擬機的能力,包括例如(可能調整的)CPUID指令結果。注意,可以首先發送所述能力以避免向不兼容的目標主機傳送任何其它數據。
步驟516針對發送給它的虛擬機能力數據檢查目標主機的兼容性。注意,即使,例如從先前收集並維護的信息中,系統管理器知道虛擬機正遷移到的目標主機是具有與源相同或更高的能力,目標主機還是執行所述檢查,因為對目標主機可能有硬體和/或軟體的改變。如果不兼容,在步驟518使得請求失敗,虛擬機繼續在源上運行,可能再次請求遷移到不同的目標主機。
如果目標主機是兼容的,可以以許多方法來執行其它數據和狀態的遷移,包括以虛擬機客戶的觀點來看是非常迅速的實況遷移(例如小於1秒),這種實況遷移通常是通過將大多數的虛擬機的數據和狀態預複製到新平臺,並切換到在新平臺上以少量最終數據 /狀態變化運行來實現。步驟520表示完成數據轉移並在新平臺上繼續虛擬機。
步驟522表示在平臺上持久保存能力。這樣,這些能力與虛擬機一起跨任意重新引導、重新啟動等保留,並可在需要時被用於兼容性檢查。
轉到另一方面,如上所述,作業系統可以是相對於遷移的虛擬機知曉,應用程式也可以是這樣。如果是,虛擬機監視器可以為遷移的虛擬機提供預先和事後通知,其中,作業系統有機會基於新的或改變的能力來重新配置。例如,作業系統可以是自適應使用新的能力,和/或通知寄存的應用程式切換到新能力等等。
作為另一個示例,作業系統運行的服務可以取決於可用的特徵。這樣,可以響應於遷移,停止服務,開始另一服務等等。作業系統還可以以某種方式與某個應用程式一起工作。
示例性操作環境 圖6示出其上可實現圖1-5的各示例的合適的計算和聯網環境600的示例。計算系統環境600隻是合適計算環境的一個示例,而非意在暗示對本發明使用範圍或功能有任何限制。也不應該將計算環境600解釋為對示例性操作環境600中示出的任一組件或其組合有任何依賴性或要求。
本發明可用各種其他通用或專用計算系統環境或配置來操作。適用於本發明的公知計算系統、環境、和/或配置的示例包括但不限於個人計算機、伺服器計算機、手持式或膝上型設備、平板設備、多處理器系統、基於微處理器的系統、機頂盒、可編程消費電子產品、網絡PC、微型計算機、大型計算機、分布式計算環境、智慧型電話、包括任何以上系統或設備的嵌入式控制器等等。
本發明可在諸如程序模塊等由計算機執行的計算機可執行指令的通用上下文中描述。一般而言,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、 組件、數據結構等等。本發明也可以在其中任務由通過通信網絡連結的遠程處理設備執行的分布式計算環境中實現。在分布式計算環境中,程序模塊可以位於包括存儲器存儲設備在內的本地和/或遠程計算機存儲介質中。
參考圖6,用於實現本發明的各方面的示例性系統可包括計算機610形式的通用計算設備。計算機610的組件可以包括但不限於處理單元620、系統存儲器630和將包括系統存儲器在內的各種系統組件耦合至處理單元621的系統總線620。系統總線621可以是幾種類型的總線結構中的任何一種,包括存儲器總線或存儲控制器、外圍總線、以及使用各種總線體系結構中的任一種的局部總線。作為示例而非限制,這樣的體系結構包括工業標準體系結構(ISA)總線、微通道體系結構(MCA)總線、增強型ISA(EISA)總線、視頻電子技術標準協會(VESA)局部總線和外圍部件互連(PCI)總線(也稱為夾層(Mezzanine)總線)。
計算機610通常包括各種計算機可讀介質。計算機可讀介質可以是能由計算機 610訪問的任何可用介質,並包含易失性和非易失性介質以及可移動、不可移動介質。作為示例而非限制,計算機可讀介質可以包括計算機存儲介質和通信介質。計算機存儲介質包括以存儲諸如計算機可讀的指令、數據結構、程序模塊或其他數據之類的信息的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括,但不僅限於,RAM、ROM、EEPR0M、快閃記憶體或其他存儲器技術、CD-ROM、數字多功能盤(DVD)或其他光碟存儲、磁帶盒、磁帶、磁碟存儲或其他磁存儲設備,或可以用來存儲所需信息並可以被計算機610訪問的任何其他介質。通信介質通常以諸如載波或其他傳輸機制等已調製數據信號來體現計算機可讀指令、數據結構、程序模塊或其他數據,並包括任一信息傳送介質。術語 「已調製數據信號」指的是其一個或多個特徵以在信號中編碼信息的方式被設定或更改的信號。作為示例而非限制,通信介質包括有線介質,如有線網絡或直接線連接,以及諸如聲學、射頻(RF)、紅外線及其他無線介質之類的無線介質。上面各項中的任何項的組合也包括在計算機可讀介質的範圍內。
系統存儲器630包括易失性和/或非易失性存儲器形式的計算機存儲介質,如只讀存儲器(ROM) 631和隨機存取存儲器(RAM) 632。基本輸入/輸出系統633 ¢10 包括如在啟動時幫助在計算機610內的元件之間傳輸信息的基本例程,它通常儲存在ROM 631中。 RAM 632通常包含處理單元620可以立即訪問和/或目前正在操作的數據和/或程序模塊。 作為示例而非限制,圖6示出了作業系統634、應用程式635、其他程序模塊636和程序數據 637。
計算機610還可以包括其他可移動/不可移動、易失性/非易失性計算機存儲介質。僅作為示例,圖6示出了從不可移動、非易失性磁介質中讀取或向其寫入的硬碟驅動器 641,從可移動、非易失性磁碟652中讀取或向其寫入的磁碟驅動器651,以及從諸如⑶ROM 或其他光學介質等可移動、非易失性光碟656中讀取或向其寫入的光碟驅動器655。可以在
10示例性操作環境中使用的其他可移動/不可移動、易失性/非易失性計算機存儲介質包括但不限於,磁帶盒、快閃記憶體卡、數字多功能盤、數字錄像帶、固態RAM、固態ROM等等。硬碟驅動器641通常由不可移動存儲器接口,諸如接口 640連接至系統總線621,磁碟驅動器651和光碟驅動器655通常由可移動存儲器接口,諸如接口 650連接至系統總線621。
以上描述並在圖6中示出的驅動器及其相關聯的計算機存儲介質為計算機610提供了對計算機可讀指令、數據結構、程序模塊和其他數據的存儲。例如,在圖6中,硬碟驅動器641被示為存儲作業系統644、應用程式645、其他程序模塊646和程序數據647。注意, 這些組件可以與作業系統634、應用程式635、其他程序模塊636和程序數據637相同,也可以與它們不同。作業系統644、應用程式645、其他程序模塊646和程序數據647在這裡被標註了不同的附圖標記是為了說明至少它們是不同的副本。用戶可通過諸如平板或電子數位化儀664、話筒663、鍵盤662和定點設備661 (通常指的是滑鼠、跟蹤球或觸摸墊)等輸入設備向計算機610輸入命令和信息。圖6中未示出的其他輸入設備可以包括操縱杆、遊戲手柄、圓盤式衛星天線、掃描儀等。這些和其他輸入設備通常由耦合至系統總線的用戶輸入接口 660連接至處理單元620,但也可以由其他接口和總線結構,諸如並行埠、遊戲埠或通用串行總線(USB),來連接。監視器691或其他類型的顯示設備也經由接口,諸如視頻接口 690,連接至系統總線621。監視器691也可以與觸控螢幕面板等集成。注意,監視器和/ 或觸控螢幕面板可以在物理上耦合至其中包括計算設備610的外殼,諸如在平板型個人計算機中。此外,諸如計算設備610等計算機還可以包括其他外圍輸出設備,諸如揚聲器695和印表機696,它們可以通過輸出外圍接口 694等連接。
計算機610可使用至一個或多個遠程計算機,諸如遠程計算機680的邏輯連接在網絡化環境中操作。遠程計算機680可以是個人計算機、伺服器、路由器、網絡PC、對等設備或其他常見網絡節點,並且通常包括許多或所有以上關於計算機610所描述的元件,儘管在圖6中僅示出了存儲器存儲設備681。圖6中所示的邏輯連接包括一個或多個區域網 (LAN)671和一個或多個廣域網(WAN)673,但也可以包括其他網絡。這樣的聯網環境在辦公室、企業範圍計算機網絡、內聯網和網際網路中是常見的。
當在LAN聯網環境中使用時,計算機610通過網絡接口或適配器670連接至LAN 671。當在WAN聯網環境中使用時,計算機610通常包括數據機672或用於通過諸如網際網路等WAN 673建立通信的其他裝置。可為內置或可為外置的數據機672可以經由用戶輸入接口 660或其他合適的機制連接至系統總線621。諸如包括接口和天線的無線聯網組件可通過諸如接入點或對等計算機等合適的設備耦合到WAN或LAN。在網絡化環境中,相對於計算機610所描述的程序模塊或其部分可被儲存在遠程存儲器存儲設備中。作為示例而非限制,圖6示出遠程應用程式685駐留在存儲器設備681上。可以理解,所示的網絡連接是示例性的,也可以使用在計算機之間建立通信鏈路的其他手段。
輔助子系統699(例如,用於內容的輔助顯示)可經由用戶接口 660連接,從而即使計算機系統的主要部分處於低功率狀態中,也允許諸如程序內容、系統狀態和事件通知等數據被提供給用戶。輔助子系統699可連接至數據機672和/或網絡接口 670,從而在主處理單元620處於低功率狀態中時,也允許在這些系統之間進行通信。
結論 儘管本發明易於作出各種修改和替換構造,但其某些說明性實施例在附圖中示出並在上面被詳細地描述。然而應當了解,這不旨在將本發明限於所公開的具體形式,而是相反地,旨在覆蓋落入本發明的精神和範圍之內的所有修改、替換構造和等效方案。
權利要求
1.在一計算環境中,一種在至少一個處理器上執行的方法,包括標識(50 多個計算機系統的平臺相關的能力,其中,至少兩個所述計算機系統具有不同的平臺相關的能力; 限制(508)虛擬機的平臺相關的能力以使得所述虛擬機與所述多個計算機系統中的任意計算機系統相兼容;以及將所述虛擬機從所述多個計算機系統中的一個計算機系統遷移 (514)到所述多個計算機系統中的另一計算機系統。
2.如權利要求1所述的方法,其特徵在於,限制虛擬機的平臺相關的能力包括虛擬化提供給所述虛擬機的處理器特徵集以匹配在所述多個計算機系統間存在的最低的公共處理器特徵集,虛擬化處理器緩存特性以匹配在所述多個計算機系統間存在的最低的公共處理器緩存特性集,虛擬化處理器相關特性以匹配在所述多個計算機系統間存在的最低的公共處理器相關特性集,處理器相關特性包括控制寄存器、模型特定寄存器、存儲器類型範圍寄存器或地址範圍寄存器,或者控制寄存器、模型特定寄存器、存儲器類型範圍寄存器或地址範圍寄存器的任意組合的特性,或者虛擬化硬體相關特性以匹配在所述多個計算機系統間存在的最低的公共硬體相關特性集,所述硬體相關特性包括非均勻存儲器訪問拓撲, 或非均勻I/O訪問拓撲,或非均勻存儲器訪問拓撲和非均勻I/O訪問拓撲兩者,或者虛擬化處理器特徵集、虛擬化處理器緩存特性、虛擬化處理器相關特性或虛擬化硬體相關特性的任意組合。
3.如權利要求1所述的方法,其特徵在於,進一步包括提供與多個虛擬機的版本相兼容的虛擬機監視器,或提供與多個虛擬機監視器的版本相兼容的虛擬機作業系統,或既提供與多個虛擬機的版本相兼容的虛擬機監視器也提供與多個虛擬機監視器的版本相兼容的虛擬機作業系統。
4.如權利要求1所述的方法,其特徵在於,遷移所述虛擬機包括驗證所述虛擬機在該虛擬機正被遷移到的所述其它計算機系統上的兼容性。
5.如權利要求1所述的方法,其特徵在於,進一步包括基於平臺相關的能力分組諸計算機系統以提供包括所述多個計算機系統的遷移池。
6.一個或多個具有計算機可執行指令的計算機可讀介質,當執行所述計算機可執行指令時執行一個過程的步驟,包括接收對應於虛擬機所需的平臺相關的能力的信息G41), 接收對應於多個計算機系統的平臺相關的能力的信息045-448),以及基於能夠匹配所述虛擬機所需的平臺相關的能力的那些計算機系統來將所述虛擬機映射到所述多個計算機系統的子集。
7.在一計算環境中,一系統包括與多個計算機系統(104、108)的每一個上的虛擬機監視器(112,114)耦合的系統管理器(116),所述所述計算機管理器控制虛擬機(102a)從多個計算機系統的一個計算機系統到另一計算機系統的遷移,包括通過將所述虛擬機的能力數據提供給所述其它計算機系統的虛擬機監視器以用於確定所述一個計算機系統上的虛擬機是否與所述其它計算機系統相兼容,並且,如果是,允許所述遷移。
8.如權利要求7所述的系統,其特徵在於,所述一個計算機系統的虛擬機監視器將所述虛擬機的能力限制為小於該計算機系統的能力以使得所述虛擬機與所述其它計算機系統相兼容。
9.如權利要求7所述的系統,其特徵在於,所述虛擬機的能力數據包括處理器特徵集、處理器緩存特性、控制寄存器特性、模型特定寄存器特性、存儲器類型範圍寄存器特性、地址範圍寄存器特性、非均勻存儲器訪問拓撲、非均勻I/O訪問拓撲、虛擬機監視器版本數據或許可證相關的數據,或者處理器特徵集、處理器緩存特性、控制寄存器特性、模型特定寄存器特性、存儲器類型範圍寄存器特性、地址範圍寄存器特性、非均勻存儲器訪問拓撲、 非均勻I/O訪問拓撲、虛擬機監視器版本數據或許可證相關的數據的任意組合。
10.如權利要求7所述的系統,其特徵在於,當遷移到所述其它計算機系統時,所述其它計算機系統的虛擬機監視器向所述虛擬機提供通知。
全文摘要
本申請涉及虛擬機均質化以實現跨異構型計算機的遷移。描述了一種可將虛擬機安全地遷移到具有不同平臺的計算機系統的技術。通過將虛擬機的能力與新平臺的能力進行比較可檢查虛擬機的兼容性。為了確保兼容性,當創建時,虛擬機可以具有受限於可用於遷移的不同平臺的最低的公共能力的能力。基於類似能力,諸計算機系統可以分組為遷移池,和/或可以基於虛擬機所需的諸如對應於所需性能、故障容差和/或靈活性的能力,將該虛擬機映射到某些計算機系統。
文檔編號G06F9/455GK102193824SQ201110072258
公開日2011年9月21日 申請日期2011年3月17日 優先權日2010年3月18日
發明者R·B·貝內特, R·A·維加, S·甘古利, M·D·亨德爾, R·N·戴維, L·魯瑟, T·格爾, Y·鄭 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀