專利名稱:便于異構(gòu)處理器池虛擬化的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及用于虛擬化由計(jì)算裝置提供的物理資源的系統(tǒng)和方法。本發(fā)明尤其涉及便于異構(gòu)處理器池虛擬化的系統(tǒng)和方法。
背景技術(shù):
在實(shí)現(xiàn)管理程序以在宿主計(jì)算裝置上執(zhí)行虛擬機(jī)的傳統(tǒng)計(jì)算環(huán)境中,管理程序通常向虛擬機(jī)提供對(duì)由至少一個(gè)物理計(jì)算裝置提供的硬件資源的訪問(wèn)。管理程序可分配物理計(jì)算裝置的池中的物理資源,其可包括提供不同層次的功能的異構(gòu)處理器。在一些環(huán)境中, 例如在當(dāng)?shù)谝晃锢碛?jì)算裝置需要維護(hù)或者不再具有給虛擬機(jī)提供所分配的硬件資源的能力時(shí),管理程序可能需要將虛擬機(jī)從一個(gè)物理計(jì)算裝置遷移到第二物理計(jì)算裝置。如果兩個(gè)物理計(jì)算裝置提供不同的功能(例如,異構(gòu)的處理器功能),那么從第一物理計(jì)算裝置向第二物理計(jì)算裝置遷移虛擬機(jī)可能會(huì)失敗。例如,虛擬機(jī)可能執(zhí)行要求訪問(wèn)由第一物理計(jì)算裝置而不是第二物理計(jì)算裝置提供的功能的進(jìn)程,那么虛擬機(jī)的遷移將導(dǎo)致難以預(yù)料的執(zhí)行錯(cuò)誤或者不希望的虛擬機(jī)的終止。對(duì)這個(gè)問(wèn)題的常規(guī)解決方案通常涉及到在物理計(jì)算裝置池中提供同構(gòu)的功能。然而,這個(gè)方法通常限制了管理員為用戶提供各種范圍的功能的能力。而且,當(dāng)物理資源老化以及要求更換時(shí),管理員可能找不到提供相同功能的替代裝置。
發(fā)明內(nèi)容
在一個(gè)方面,一種便于異構(gòu)處理器池虛擬化的方法包括識(shí)別可用于計(jì)算的多個(gè)物理處理器。該方法包括確定標(biāo)志集合,該標(biāo)志集合的每一個(gè)標(biāo)識(shí)多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型。該方法包括由管理程序給至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集的一個(gè)的訪問(wèn)。一個(gè)實(shí)施例中,該方法包括由管理程序提供所述至少一個(gè)虛擬機(jī)中的虛擬處理器,所述虛擬處理器僅實(shí)現(xiàn)由所述標(biāo)志集合所標(biāo)識(shí)的功能。又一個(gè)實(shí)施例中,該方法包括響應(yīng)于從用戶所接收的命令來(lái)確定標(biāo)志集合。在又一個(gè)方面,一種便于異構(gòu)處理器池虛擬化的系統(tǒng)包括處理器分配組件和管理程序,各自在宿主計(jì)算機(jī)上執(zhí)行。處理器分配組件識(shí)別可用于計(jì)算的多個(gè)物理處理器并確定標(biāo)志集合,所述標(biāo)志集合的每一個(gè)標(biāo)識(shí)多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型,所述處理器分配組件在宿主計(jì)算機(jī)上執(zhí)行。在宿主計(jì)算機(jī)上執(zhí)行的,與處理器分配組件通信的管理程序給至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集的一個(gè)的訪問(wèn)。在一個(gè)實(shí)施例中,多個(gè)物理處理器分布在多個(gè)物理機(jī)器上。又一個(gè)實(shí)施例中,該系統(tǒng)包括在所述至少一個(gè)虛擬機(jī)中的虛擬處理器,所述虛擬處理器僅實(shí)現(xiàn)由所述標(biāo)志集合所標(biāo)識(shí)的功能。
本發(fā)明的前述和其它目的、方面、特征和優(yōu)點(diǎn)通過(guò)參考下述結(jié)合附圖的描述將會(huì)更加明顯并更易于理解,其中圖IA是描述包括管理程序?qū)?、虛擬化層和硬件層的計(jì)算環(huán)境的實(shí)施例的框圖;圖IB和IC是描述連同此處所描述的方法和系統(tǒng)有用的計(jì)算裝置的實(shí)施例的框圖;圖2A是描述便于異構(gòu)處理器池虛擬化的系統(tǒng)的實(shí)施例的框圖;圖2B是描述便于由多個(gè)物理計(jì)算裝置提供的異構(gòu)處理器池虛擬化的系統(tǒng)的實(shí)施例的框圖;圖2C是描述便于由包括一個(gè)主計(jì)算裝置的多個(gè)物理計(jì)算裝置提供的異構(gòu)處理器池虛擬化的系統(tǒng)的實(shí)施例的框圖;以及圖3是描述便于異構(gòu)處理器池虛擬化的方法的實(shí)施例的流程圖。
具體實(shí)施例方式現(xiàn)參考圖1A,框圖描述了虛擬化環(huán)境的一個(gè)實(shí)施例。簡(jiǎn)而言之,計(jì)算裝置100包括管理程序?qū)?、虛擬化層和硬件層。管理程序?qū)影ü芾沓绦?01 (也稱為虛擬化管理器), 其通過(guò)在虛擬化層中執(zhí)行的至少一個(gè)虛擬機(jī)來(lái)分配和管理對(duì)硬件層中的多個(gè)物理資源的訪問(wèn)(例如處理器221和磁盤228)。虛擬化層包括至少一個(gè)操作系統(tǒng)110和分配給至少一個(gè)操作系統(tǒng)110的多個(gè)虛擬資源,虛擬資源可包括而不限于多個(gè)虛擬處理器132a、132b、 132c (總稱為132),和/或虛擬盤142a、142b、142c (總稱為142)??蓪⒍鄠€(gè)虛擬資源和操作系統(tǒng)110稱為虛擬機(jī)106。虛擬機(jī)106可包括控制操作系統(tǒng)105,該控制操作系統(tǒng)105與管理程序101通信,并用于執(zhí)行應(yīng)用以管理并配置計(jì)算裝置100上的其他虛擬機(jī)。現(xiàn)參考圖1A,具體而言,管理程序101可以以模擬可訪問(wèn)物理設(shè)備的操作系統(tǒng)的任何方式向操作系統(tǒng)提供虛擬資源。管理程序101可以向任一數(shù)量的客戶操作系統(tǒng)110a、 110b(總稱為110)提供虛擬資源。一些實(shí)施例中,計(jì)算裝置100執(zhí)行一種或多種管理程序。這些實(shí)施例中,管理程序可用于模擬虛擬硬件、劃分物理硬件、虛擬化物理硬件并執(zhí)行提供對(duì)計(jì)算環(huán)境的訪問(wèn)的虛擬機(jī)。管理程序可包括由加利福尼亞州Palo Alto的VMWare 公司制造的這些程序、XEN管理程序(一種開(kāi)源產(chǎn)品,其開(kāi)發(fā)由開(kāi)源Xen. org協(xié)會(huì)監(jiān)管)、由 Microsoft公司提供的HyperV、Virtual Server或虛擬PC管理程序,或其他。一些實(shí)施例中,計(jì)算裝置100執(zhí)行創(chuàng)建客戶操作系統(tǒng)可在其上執(zhí)行的虛擬機(jī)平臺(tái)的管理程序,該計(jì)算裝置100被稱為宿主服務(wù)器。在這些實(shí)施例的一個(gè)中,例如,計(jì)算裝置100是由位于佛羅里達(dá)州 Fort Lauderdale 的 Citrix Systems 公司提供的 XEN SERVER。一些實(shí)施例中,管理程序101在計(jì)算裝置上執(zhí)行的操作系統(tǒng)之內(nèi)執(zhí)行。在這些實(shí)施例的一個(gè)中,執(zhí)行操作系統(tǒng)和管理程序101的計(jì)算裝置可被視為具有宿主操作系統(tǒng)(在計(jì)算裝置上執(zhí)行的操作系統(tǒng))和客戶操作系統(tǒng)(在由管理程序101提供的計(jì)算資源分區(qū)內(nèi)執(zhí)行的操作系統(tǒng))。其他實(shí)施例中,管理程序101和計(jì)算裝置上的硬件直接交互而不是在宿主操作系統(tǒng)上執(zhí)行。在這些實(shí)施例的一個(gè)中,管理程序101可被視為是在“裸金屬(baremetal) ”上執(zhí)行,所述“裸金屬”指包括計(jì)算裝置的硬件。一些實(shí)施例中,管理程序101可以創(chuàng)建操作系統(tǒng)在其中執(zhí)行的虛擬機(jī)106a_c(總稱為106)。在這些實(shí)施例的一個(gè)中,管理程序101加載虛擬機(jī)映像以創(chuàng)建虛擬機(jī)106。在這些實(shí)施例的另一個(gè)中,管理程序101在虛擬機(jī)106內(nèi)執(zhí)行操作系統(tǒng)110。在這些實(shí)施例的另一個(gè)中,虛擬機(jī)106執(zhí)行操作系統(tǒng)110。一些實(shí) 施例中,管理程序101控制在計(jì)算裝置100上執(zhí)行的虛擬機(jī)106的處理器調(diào)度和內(nèi)存劃分。在這些實(shí)施例的一個(gè)中,管理程序101控制至少一個(gè)虛擬機(jī)106的執(zhí)行。 在這些實(shí)施例的另一個(gè)中,管理程序101向至少一個(gè)虛擬機(jī)106呈現(xiàn)由計(jì)算裝置100提供的至少一個(gè)硬件資源的抽象。其他實(shí)施例中,管理程序101控制是否以及如何把物理處理器能力呈現(xiàn)給虛擬機(jī)106??刂撇僮飨到y(tǒng)105可以執(zhí)行用于管理和配置客戶操作系統(tǒng)的至少一個(gè)應(yīng)用。一個(gè)實(shí)施例中,控制操作系統(tǒng)105可以執(zhí)行管理應(yīng)用,如包括如下用戶接口的應(yīng)用,該用戶接口為管理員提供對(duì)用于管理虛擬機(jī)執(zhí)行的功能的訪問(wèn),這些功能包括用于執(zhí)行虛擬機(jī)、終止虛擬機(jī)執(zhí)行或者識(shí)別要分配給虛擬機(jī)的物理資源類型的功能。另一個(gè)實(shí)施例中,管理程序 101在由管理程序101創(chuàng)建的虛擬機(jī)106內(nèi)執(zhí)行控制操作系統(tǒng)105。仍在另一個(gè)實(shí)施例中, 控制操作系統(tǒng)105在被授權(quán)直接訪問(wèn)計(jì)算裝置100上的物理資源的虛擬機(jī)106上執(zhí)行。一個(gè)實(shí)施例中,控制操作系統(tǒng)105在被授權(quán)與至少一個(gè)客戶操作系統(tǒng)110交互的虛擬機(jī)106上執(zhí)行。另一個(gè)實(shí)施例中,客戶操作系統(tǒng)110通過(guò)管理程序101與控制操作系統(tǒng)105通信,以請(qǐng)求訪問(wèn)盤或網(wǎng)絡(luò)。仍在另一個(gè)實(shí)施例中,客戶操作系統(tǒng)110和控制操作系統(tǒng)105可通過(guò)由管理程序101建立的通信信道通信,例如,通過(guò)由管理程序101提供的多個(gè)共享存儲(chǔ)器頁(yè)面。一些實(shí)施例中,控制操作系統(tǒng)105包括用于直接與由計(jì)算裝置100提供的網(wǎng)絡(luò)硬件通信的網(wǎng)絡(luò)后端驅(qū)動(dòng)器。在這些實(shí)施例的一個(gè)中,網(wǎng)絡(luò)后端驅(qū)動(dòng)器處理來(lái)自至少一個(gè)客戶操作系統(tǒng)110的至少一個(gè)虛擬機(jī)請(qǐng)求。其他實(shí)施例中,控制操作系統(tǒng)105包括用于與計(jì)算裝置100上的存儲(chǔ)單元通信的塊后端驅(qū)動(dòng)器。在這些實(shí)施例的一個(gè)中,塊后端驅(qū)動(dòng)器根據(jù)從客戶操作系統(tǒng)110接收的至少一個(gè)請(qǐng)求從存儲(chǔ)單元讀寫(xiě)數(shù)據(jù)。一個(gè)實(shí)施例,控制操作系統(tǒng)105包括工具堆棧104。其他實(shí)施例中,工具堆棧104提供如下功能和管理程序101交互、和其他控制操作系統(tǒng)105 (例如位于第二計(jì)算裝置IOOb 上)通信,或者管理計(jì)算裝置100上的虛擬機(jī)106b、106c。另一個(gè)實(shí)施例中,工具堆棧104 包括自定義應(yīng)用,其用于向虛擬機(jī)群的管理員提供改進(jìn)的管理功能。一些實(shí)施例中,工具堆棧104和控制操作系統(tǒng)105中的至少一個(gè)包括管理API,其提供用于遠(yuǎn)程配置并控制計(jì)算裝置100上運(yùn)行的虛擬機(jī)106的接口。其他實(shí)施例中,控制操作系統(tǒng)105通過(guò)工具堆棧104 和管理程序101通信。一個(gè)實(shí)施例中,管理程序101在由管理程序101創(chuàng)建的虛擬機(jī)106內(nèi)執(zhí)行客戶操作系統(tǒng)110。另一個(gè)實(shí)施例中,客戶操作系統(tǒng)110為計(jì)算裝置100的用戶提供對(duì)計(jì)算環(huán)境中的資源的訪問(wèn)。另一個(gè)實(shí)施例中,資源包括程序、應(yīng)用、文檔、文件、多個(gè)應(yīng)用、多個(gè)文件、 可執(zhí)行程序文件、桌面環(huán)境、計(jì)算環(huán)境或?qū)τ?jì)算裝置100的用戶可用的其他資源。另一個(gè)實(shí)施例中,可通過(guò)多個(gè)訪問(wèn)方法將資源傳送給計(jì)算裝置100,這些方法包括但不限于常規(guī)的直接安裝在計(jì)算裝置100上、通過(guò)應(yīng)用流的方法傳送給計(jì)算裝置100、將由在第二計(jì)算裝置100'上執(zhí)行資源產(chǎn)生的并通過(guò)表示層協(xié)議傳送給計(jì)算裝置100的輸出數(shù)據(jù)傳送給計(jì)算裝置100、將由在第二計(jì)算裝置100'上執(zhí)行的虛擬機(jī)執(zhí)行資源所產(chǎn)生的輸出數(shù)據(jù)傳送給計(jì)算裝置100、或者從連接到計(jì)算裝置100的移動(dòng)存儲(chǔ)裝置(例如USB設(shè)備)執(zhí)行,或者通過(guò)在計(jì)算裝置100上執(zhí)行的虛擬機(jī)執(zhí)行并且產(chǎn)生輸出數(shù)據(jù)。一些實(shí)施例中,計(jì)算裝置100把執(zhí)行資源產(chǎn)生的輸出數(shù)據(jù)傳輸給另一個(gè)計(jì)算裝置100'。一個(gè) 實(shí)施例中,客戶操作系統(tǒng)110和該客戶操作系統(tǒng)110在其上執(zhí)行的虛擬機(jī)結(jié)合形成完全虛擬化虛擬機(jī),該完全虛擬化虛擬機(jī)并不知道自己是虛擬機(jī),這樣的機(jī)器可稱為“Domain U HVM(硬件虛擬機(jī))虛擬機(jī)”。另一個(gè)實(shí)施例中,完全虛擬化機(jī)包括模擬基本輸入/輸出系統(tǒng)(BIOS)的軟件以便在完全虛擬化機(jī)中執(zhí)行操作系統(tǒng)。仍在另一個(gè)實(shí)施例中,完全虛擬化機(jī)可包括驅(qū)動(dòng)器,其通過(guò)和管理程序101通信提供功能。這樣的實(shí)施例中, 驅(qū)動(dòng)器通常意識(shí)到自己在虛擬化環(huán)境中執(zhí)行。另一個(gè)實(shí)施例中,客戶操作系統(tǒng)110和該客戶操作系統(tǒng)110在其上執(zhí)行的虛擬機(jī)結(jié)合形成超虛擬化虛擬機(jī)(paravirtualized),該超虛擬化虛擬機(jī)意識(shí)到自己是虛擬機(jī),這樣的機(jī)器可稱為“Domain U PV虛擬機(jī)”。另一個(gè)實(shí)施例中,超虛擬化機(jī)包括完全虛擬化機(jī)不包括的額外驅(qū)動(dòng)器。另一個(gè)實(shí)施例中,超虛擬化機(jī)包括如上所述的被包含在控制操作系統(tǒng)105中的網(wǎng)絡(luò)后端驅(qū)動(dòng)器和塊后端驅(qū)動(dòng)器。計(jì)算裝置100可以被部署為任何類型和形式的計(jì)算裝置和/或在其上執(zhí)行,例如能夠與任何類型和形式的網(wǎng)絡(luò)通信并且執(zhí)行此處所描述的操作的計(jì)算機(jī)、網(wǎng)絡(luò)裝置或設(shè)備。圖IB和IC描述了用于實(shí)施此處所描述的方法和系統(tǒng)的實(shí)施例的計(jì)算裝置100的框圖。 如圖IB和IC所示,計(jì)算裝置100包括中央處理單元121和主存儲(chǔ)器單元122。如圖IB所示,計(jì)算裝置100可包括存儲(chǔ)裝置128、安裝裝置116、網(wǎng)絡(luò)接口 118、I/O控制器123、顯示裝置124a-124n、鍵盤126和諸如鼠標(biāo)的指示裝置127。存儲(chǔ)裝置128可包括但不限于操作系統(tǒng)、軟件和客戶機(jī)代理120。如圖IC所示,每個(gè)計(jì)算裝置100也可包括另外的可選部件, 例如存儲(chǔ)器端口 103、橋170、一個(gè)或多個(gè)輸入/輸出裝置130a-130n(總的使用標(biāo)號(hào)130表示),以及與中央處理單元121通信的高速緩存存儲(chǔ)器140。中央處理單元121是響應(yīng)并處理從主存儲(chǔ)器單元122取出的指令的任何邏輯電路。在一些實(shí)施例中,中央處理單元121由微處理器單元提供,例如由加利福尼亞州Mountain View的Intel公司制造的微處理器單元;由伊利諾伊州Schaumburg的 Motorola公司制造的微處理器單元;由加利福尼亞州Santa Clara的Transmeta公司制造的微處理器單元;RS/6000處理器,由紐約州White Plains的International Business Machines (國(guó)際商業(yè)機(jī)器)公司制造的微處理器單元;或者由加利福尼亞州Sunnyvale的 AdvancedMicro Devices公司制造的微處理器單元。計(jì)算裝置100可以基于這些處理器中的任何一種,或者能夠按照這里所說(shuō)明的那樣運(yùn)行的任何其它處理器。主存儲(chǔ)器單元122可以是能夠存儲(chǔ)數(shù)據(jù)并允許微處理器121直接訪問(wèn)任何存儲(chǔ)位置的一個(gè)或多個(gè)存儲(chǔ)器芯片,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、Burst (突發(fā))SRAM 或SynchBurst SRAM (BSRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM、快速頁(yè)模式DRAM (FPM DRAM)、 增強(qiáng)DRAM (EDRAM)、擴(kuò)展數(shù)據(jù)輸出RAM (EDORAM)、擴(kuò)展數(shù)據(jù)輸出DRAM (EDO DRAM)、突發(fā)擴(kuò)展數(shù)據(jù)輸出 DRAM (BED0 DRAM)、同步 DRAM (SDRAM)、JEDEC SRAM、PClOO SDRAM、雙數(shù)據(jù)傳輸率 SDRAM (DDRSDRAM)、增強(qiáng) SDRAM (ESDRAM)、同步鏈路 DRAM (SLDRAM)、直接 RambusDRAM (DRDRAM)或鐵電RAM (FRAM)。主存儲(chǔ)器122可以基于上述存儲(chǔ)芯片的任何一種,或者能夠像這里所說(shuō)明的那樣運(yùn)行的任何其它可用存儲(chǔ)芯片。在圖IB中所示的實(shí)施例中處理器 121通過(guò)系統(tǒng)總線150 (在下面進(jìn)行更詳細(xì)的描述)與主存儲(chǔ)器122進(jìn)行通信。圖IC描述了在其中處理器通過(guò)存儲(chǔ)器端口 103直接與主存儲(chǔ)器122通信的計(jì)算裝置100的實(shí)施例。 例如,在圖IC中主存儲(chǔ)器122可以是DRDRAM。圖IC描述在其中主處理器121通過(guò)有時(shí)被稱為背側(cè)總線的次級(jí)總線直接與高速緩存存儲(chǔ)器140通信的實(shí)施例。其他實(shí)施例中,主處理器121使用系統(tǒng)總線150與高速緩存存儲(chǔ)器140通信。高速緩存存儲(chǔ)器140通常有比主存儲(chǔ)器122更快的響應(yīng)時(shí)間,并且通常由SRAM、BSRAM或EDRAM提供。在圖IC中所示的實(shí)施例中,處理器121通過(guò)本地系統(tǒng)總線 150與各種I/O裝置130進(jìn)行通信。可以使用各種不同的總線將中央處理單元121連接到任何I/O裝置130,包括VESA VL總線、ISA總線、EISA總線、微通道體系結(jié)構(gòu)(MCA)總線、 PCI總線、PCI-X總線、PCI-Express總線或NuBus。對(duì)于I/O裝置是視頻顯示器124的實(shí)施例,處理器121可以使用高級(jí)圖形端口(AGP)與顯示裝置124通信。圖IC描述了在其中主處理器121通過(guò)HYPERTRANSPORT,RAPIDI0,或INFINIBAND通信技術(shù)直接與I/O裝置130b 通信的計(jì)算機(jī)100的實(shí)施例。圖IC也描述了在其中本地總線和直接通信相混合的實(shí)施例 處理器121使用本地互連總線與I/O裝置130a通信同時(shí)直接與I/O裝置130b通信。計(jì)算裝置100中可以有多種I/O裝置130a-130n。輸入裝置包括鍵盤、鼠標(biāo)、觸控板、軌跡球、話筒、撥號(hào)盤和繪圖板。輸出裝置包括視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)和熱升華打印機(jī)。如圖IB所示,I/O裝置可以由I/O控制器123控制。I/O控制器可以控制一個(gè)或多個(gè)I/O裝置,例如鍵盤126和指示裝置127(如鼠標(biāo)或光筆)。此外,I/ 0裝置還可以為計(jì)算裝置100提供存儲(chǔ)和/或安裝介質(zhì)116。仍在其它實(shí)施例中,計(jì)算裝置 100可以提供USB連接(未示出)以接收手持USB存儲(chǔ)裝置,例如由位于加利福尼亞州Los Alamitos的Twintech Industry公司生產(chǎn)的設(shè)備的USB閃存驅(qū)動(dòng)器線。再次參考圖1B,計(jì)算裝置100可以支持任何適當(dāng)?shù)陌惭b裝置116,例如用于接收像 3. 5英寸、5. 25英寸磁盤或ZIP磁盤這樣的軟盤的軟盤驅(qū)動(dòng)器、⑶-ROM驅(qū)動(dòng)器、⑶-R/RW驅(qū)動(dòng)器、DVD-ROM驅(qū)動(dòng)器、閃速存儲(chǔ)驅(qū)動(dòng)器、多種格式的磁帶驅(qū)動(dòng)器、USB設(shè)備、硬盤驅(qū)動(dòng)器或適于安裝軟件和程序的任何其它設(shè)備。計(jì)算裝置100還可以包括存儲(chǔ)裝置,諸如一個(gè)或者多個(gè)硬盤驅(qū)動(dòng)器或者獨(dú)立磁盤冗余陣列,用于存儲(chǔ)操作系統(tǒng)和其它相關(guān)軟件,以及用于存儲(chǔ)諸如涉及客戶機(jī)代理120的任何程序的應(yīng)用軟件程序??蛇x地,也可以使用安裝裝置116 的任何一種作為存儲(chǔ)裝置。此外,操作系統(tǒng)和軟件可從例如可引導(dǎo)CD的可 引導(dǎo)介質(zhì)運(yùn)行, 諸如ΚΝ0ΡΡΙΧ,一種用于GNU/Linux的可引導(dǎo)CD,該可引導(dǎo)CD可自knoppix. net作為GNU/ Linux分發(fā)獲得。此外,計(jì)算裝置100可以包括網(wǎng)絡(luò)接口 118以通過(guò)多種連接來(lái)與網(wǎng)絡(luò)104對(duì)接,所述連接包括但不限于標(biāo)準(zhǔn)電話線路、LAN或WAN鏈路(例如802. 11,Tl,T3、56kb、 X. 25、SNA、DECNET)、寬帶連接(如ISDN、幀中繼、ATM、千兆以太網(wǎng)、SONET上以太網(wǎng) (Ethernet-over-SONET))、無(wú)線連接、或上述任何或全部的某種組合。也可使用多種通信協(xié)議(例如 TCP/IP、IPX、SPX、NetBIOS、Ethernet、ARCNET, SONET、SIDH、光纖分布數(shù)據(jù)接口 (FDDI)、RS232、IEEE802. 1UIEEE802. lla、IEEE802. llb、IEEE802. llg、CDMA、GSM、WiMax 禾口直接異步連接)來(lái)建立連接。在一個(gè)實(shí)施例中,計(jì)算裝置100可以通過(guò)任何類型和/或形式的網(wǎng)關(guān)或諸如安全套接字層(SSL)或傳輸層安全(TLS),或佛羅里達(dá)州Ft. Lauderdale的 Citrix Systems公司制造的Citrix網(wǎng)關(guān)協(xié)議的隧道協(xié)議來(lái)與其他計(jì)算裝置100’通信。網(wǎng)絡(luò)接口 118可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA網(wǎng)絡(luò)卡、卡總線網(wǎng)絡(luò)適配器、無(wú)線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器或適用于將計(jì)算裝置100對(duì)接到能夠通信并執(zhí)行這里所說(shuō)明的操作的任何類型的網(wǎng)絡(luò)的任何其它設(shè)備。在一些實(shí)施例中,計(jì)算裝置100可以包括多個(gè)顯示裝置124a-124n或與其相連,這些顯示裝置各自可以是相同或不同的類型和/或形式。因而,任何一種I/O裝置130a-130n 和/或I/O控制器123可以包括任一 類型和/或形式的適當(dāng)?shù)挠布?、軟件或硬件和軟件的組合,以支持、允許或提供通過(guò)計(jì)算裝置100連接和使用多個(gè)顯示裝置124a-124n。例如, 計(jì)算裝置100可以包括任何類型和/或形式的視頻適配器、視頻卡、驅(qū)動(dòng)器和/或庫(kù),以與顯示裝置124a-124n對(duì)接、通信、連接或以其他方式使用顯示裝置124a-124n。在一個(gè)實(shí)施例中,視頻適配器可以包括多個(gè)連接器以與多個(gè)顯示裝置124a-124n對(duì)接。在其它實(shí)施例中,計(jì)算裝置100可以包括多個(gè)視頻適配器,每個(gè)視頻適配器與顯示裝置124a-124n中的一個(gè)或多個(gè)連接。在一些實(shí)施例中,計(jì)算裝置100的操作系統(tǒng)的任一部分都可以被配置用于使用多個(gè)顯示器124a-124n。在其它實(shí)施例中,顯示裝置124a-124n中的一個(gè)或多個(gè)可以由一個(gè)或多個(gè)其它計(jì)算裝置提供,諸如(例如通過(guò)網(wǎng)絡(luò))與計(jì)算裝置100連接的計(jì)算裝置 IOOa和100b。這些實(shí)施例可以包括被設(shè)計(jì)和構(gòu)造來(lái)使用另一個(gè)計(jì)算機(jī)的顯示裝置作為計(jì)算裝置100的第二顯示裝置124a的任何類型的軟件。本領(lǐng)域的普通技術(shù)人員會(huì)認(rèn)識(shí)和意識(shí)到可以將計(jì)算裝置100配置成擁有多個(gè)顯示裝置124a-124n的各種方式和實(shí)施例。在進(jìn)一步的實(shí)施例中,I/O裝置130可以是系統(tǒng)總線150和外部通信總線之間的橋,所述外部通信總線如USB總線、Apple桌面總線、RS-232串行連接、SCSI總線、FireWire 總線、FireffireSOO總線、以太網(wǎng)總線、AppleTalk總線、千兆位以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超級(jí)HIPPI總線、SerialPlus總線、SCI/LAMP總線、光纖信道總線、串行 SCSI總線或HDMI總線。圖IB和IC中所描述的類型的計(jì)算裝置100通常地在操作系統(tǒng)的控制下運(yùn)行,操作系統(tǒng)控制任務(wù)的調(diào)度和對(duì)系統(tǒng)資源的訪問(wèn)。計(jì)算裝置100可運(yùn)行任一操作系統(tǒng),諸如任一版本的MICROSOFT WINDOWS的操作系統(tǒng);不同發(fā)行版本的Unix和Linux操作系統(tǒng);用于 Macintoch計(jì)算機(jī)的MAC OS的任何版本;任何嵌入式操作系統(tǒng);任何實(shí)時(shí)操作系統(tǒng);任何開(kāi)源操作系統(tǒng);任何專有操作系統(tǒng);任何用于移動(dòng)計(jì)算裝置的操作系統(tǒng),或者能夠在計(jì)算裝置上運(yùn)行且執(zhí)行此處所描述的操作的任何其它操作系統(tǒng)。典型的操作系統(tǒng)包括,但不限于WINDOWS 3. χ、WINDOWS 95、WINDOWS 98、WINDOWS 2000, WINDOffSNT 3. 51、WINDOWS NT 4. 0,WINDOWS CE,WINDOWS MOBILE,WINDOWS XP 禾Π WINDOWS VISTA,所有這些均由位于華盛頓Redmond的微軟公司出品;由位于加利福尼亞州Cupertino的蘋果計(jì)算機(jī)公司出品的Mac OS ;由位于紐約州Armonk的國(guó)際商業(yè)機(jī)器公司出品的OS";以及由位于猶他州Salt Lake City的Caldera公司發(fā)布的可自由使用的Linux操作系統(tǒng)或者任何類型和/或形式的Unix 操作系統(tǒng),以及其它。計(jì)算機(jī)系統(tǒng)100可以是任何工作站、電話、臺(tái)式計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、 服務(wù)器、手持計(jì)算機(jī)、移動(dòng)電話或其他便攜電信通信設(shè)備、媒體播放設(shè)備、游戲系統(tǒng)、移動(dòng)計(jì)算裝置,或能夠通信的任何其它類型和/或形式的計(jì)算、電信或者媒體裝置。計(jì)算機(jī)系統(tǒng)100有足夠的處理器能力和存儲(chǔ)容量以執(zhí)行此處所述的操作。例如,計(jì)算機(jī)系統(tǒng)100可包括由位于加利福尼亞州Cupertino的Apple Computer (蘋果計(jì)算機(jī))公司出品的IPOD系列設(shè)備、由位于日本Tokyo的索尼公司出品的PLAYSTATI0N2、PLAYSTATI0N3或PERSONAL PLAYSTATION PORTABLE (PSP)設(shè)備,由位于日本Kyoto的Nintendo有限公司出品的 NINTENDO DS,NINTENDO GAMEB0Y,NINTENDO GAMEB0YADVANCED 或 NINTENDO REVOLUTION 設(shè)備,或者由位于華盛頓Redmond的微軟公司出品的XBOX或XBOX 360設(shè)備。在一些實(shí)施例中,計(jì)算裝置100可以有不同的處理器、操作系統(tǒng)以及與該裝置一致的輸入設(shè)備。例如,在一個(gè)實(shí)施例中,計(jì)算裝置100是由Palm公司出品的Treol80、270、 600、650、680、700p、700w或750智能電話。在這些實(shí)施例的一些中,TREO智能電話是在 PalmOS操作系統(tǒng)的控制下操作并且包括筆輸入設(shè)備以及五向?qū)Ш皆O(shè)備。在其他實(shí)施例中,計(jì)算裝置100是移動(dòng)設(shè)備,例如,JAVA使能蜂窩電話或個(gè)人數(shù)字助理(PDA),諸如 i55sr,i58sr, i85s, i88s, i90c, i95cl 或 imllOO,以上這些均由位于伊利諾伊州Schaumburg的摩托羅拉公司制造;由位于日本Kyoto的Kyocera公司制造的6035或7135 ;或者由位于韓國(guó)首爾的Samsung電子有限公司制造的i300或i330。在一 些實(shí)施例中,計(jì)算裝置100是由位于芬蘭的諾基亞公司制造或由位于瑞典Limd的Sony EricssonMobile Communications AB 公司制造的移動(dòng)設(shè)備。仍在其他實(shí)施例中,計(jì)算裝置100是黑莓(Blackberry)手持或智能電話,諸如由Research In Motion有限公司制造的設(shè)備,包括黑莓7100系列、8700系列、7700系列、 7200系列、黑莓7520或黑莓PERAL 8100。仍在其他實(shí)施例中,計(jì)算裝置100是智能電話、 PocketPC,PocketPC 電話,或支持 Microsft Windows Mobile Software 的其它手持移動(dòng)設(shè)備。此外,計(jì)算裝置100可以是任何工作站、臺(tái)式計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、服務(wù)器、 手持計(jì)算機(jī)、移動(dòng)電話、任何其它計(jì)算機(jī)、或能夠通信并有足夠的處理器能力和存儲(chǔ)容量以執(zhí)行此處所述的操作的其它形式的計(jì)算或者電信設(shè)備。在一些實(shí)施例中,計(jì)算裝置100是數(shù)字音頻播放器。在這些實(shí)施例的一個(gè)中,計(jì)算裝置100是諸如由位于加利福尼亞州Cupertino的蘋果計(jì)算機(jī)公司制造的Apple IPOD, IPOD Touch、IPOD ΝΑΝΟ和IPOD SHUFFLE系列設(shè)備的數(shù)字音頻播放器。在這些實(shí)施例的又一個(gè)中,數(shù)字音頻播放器可作為便攜媒體播放器和作為大容量存儲(chǔ)裝置來(lái)工作。在其他實(shí)施例中,計(jì)算裝置100是諸如由位于新澤西州Ridgefield Park的Samsung Electronics America公司制造的DigitalAudio Player SelectMP3播放器,或由位于伊利諾伊州 Schaumburg的Motorola公司制造的Motorola m500或m25數(shù)字音頻播放器。仍在其他實(shí)施例中,計(jì)算裝置100是便攜媒體播放器,諸如ZEN VISION W,ZEN VISION系列、ZEN PORTABLE MEDIA CENTER設(shè)備或由CreativeTechnologies有限公司制造的MP3播放器的Digital MP3系列。仍在其他實(shí)施例中,計(jì)算裝置100是支持以下文件格式的便攜媒體播放器或數(shù)字音頻播放器,這些文件格式包括,但不限于MP3、WAV、M4A/AAC、WMA Protected AAC, AIFF, Audible 音頻書(shū)、Apple Lossless 音頻文件格式和.mov、. m4v 以及.mp4MPEG_4 (H. 264/ MPEG-4AVC)視頻文件格式。在一些實(shí)施例中,計(jì)算裝置100包括設(shè)備的組合,例如與數(shù)字音頻播放器或便攜媒體播放器相組合的移動(dòng)電話。在這些實(shí)施例的一個(gè)中,計(jì)算裝置100是智能電話,例如由蘋果計(jì)算機(jī)公司制造的iPhone,或由Research InMotion有限公司制造的黑莓設(shè)備。又一個(gè)實(shí)施例中,計(jì)算裝置100是裝有web瀏覽器和麥克風(fēng)與揚(yáng)聲器的系統(tǒng)(如電話耳機(jī))的筆記本電腦或臺(tái)式計(jì)算機(jī)。在這樣的實(shí)施例中,計(jì)算裝置100是web使能(web-enabled) 的并且能接聽(tīng)和啟動(dòng)電話呼叫。在其他實(shí)施例中,通信裝置100是組合數(shù)字音頻播放器和移動(dòng)電話的 Motorola RAZR 或 Motorola ROKR 系列。計(jì)算裝置100可以是文件服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)器、代理服務(wù)器、設(shè)備、網(wǎng)絡(luò)設(shè)備、網(wǎng)關(guān)、應(yīng)用網(wǎng)關(guān)、網(wǎng)關(guān)服務(wù)器、虛擬化服務(wù)器、部署服務(wù)器、SSL VPN服務(wù)器或防火墻。在一些實(shí)施例中,計(jì)算裝置100提供遠(yuǎn)程認(rèn)證撥入用戶服務(wù),并被稱為RADIUS服務(wù)器。 在其他實(shí)施例中,計(jì)算裝置100可以有作為應(yīng)用服務(wù)器或者作為主應(yīng)用服務(wù)器工作的能力。仍在其他實(shí)施例中,計(jì)算裝置100是刀片服務(wù)器。在一個(gè)實(shí)施例中,計(jì)算裝置100可包括活動(dòng)目錄。計(jì)算裝置100可以是應(yīng)用加速設(shè)備。對(duì)于其中計(jì)算裝置100是應(yīng)用加速設(shè)備的實(shí)施例,計(jì)算裝置100可提供包括防火墻功能、應(yīng)用防火墻功能,或負(fù)載平衡功能的功能。在一些實(shí)施例中,計(jì)算裝置100包括諸如由位于加利福尼亞州San Jose的Citrix Application Networking Group或位于加利福尼亞州Mountain View的Silver Peak Systems公司或位于力口禾Ij福尼亞州San Francisco 的Riverbed Technology公司或位于華盛頓Seattle的F5Networks或位于加利福尼亞州 Sunnyvale的Juniper Networks公司制造的設(shè)備系列中的一個(gè)的設(shè)備。在其他實(shí)施例中,計(jì)算裝置100可被稱為客戶機(jī)節(jié)點(diǎn)、客戶機(jī)器、端節(jié)點(diǎn)或端點(diǎn)。 在一些實(shí)施例中,客戶機(jī)100具有作為客戶機(jī)節(jié)點(diǎn)尋求訪問(wèn)服務(wù)器所提供的資源的能力以及作為服務(wù)器節(jié)點(diǎn)為其它客戶機(jī)提供對(duì)所寄載的資源訪問(wèn)的能力。在一些實(shí)施例中,第一客戶機(jī)計(jì)算裝置100a與第二服務(wù)器計(jì)算裝置100b通信。 在一個(gè)實(shí)施例中,客戶機(jī)與群38中的計(jì)算裝置100之一進(jìn)行通信。例如,通過(guò)網(wǎng)絡(luò),客戶機(jī)可以請(qǐng)求執(zhí)行群38中的計(jì)算裝置100所寄載的各種應(yīng)用以及接收應(yīng)用執(zhí)行的結(jié)果的輸出數(shù)據(jù)以用于顯示。在一個(gè)實(shí)施例中,客戶機(jī)執(zhí)行程序鄰近應(yīng)用(program neighborhood application)以與群38中的計(jì)算裝置100通信。
計(jì)算裝置100可以執(zhí)行、操作或者以其它方式提供應(yīng)用,該應(yīng)用可為任何類型和/ 或形式的軟件、程序或可執(zhí)行指令,諸如任何類型和/或形式的web瀏覽器、基于web的客戶機(jī)、客戶機(jī)_服務(wù)器應(yīng)用、瘦客戶端計(jì)算客戶機(jī)、ActiveX控件、或Java小程序,或者能夠在計(jì)算裝置100上執(zhí)行的任何其他類型和/或形式的可執(zhí)行指令。在一些實(shí)施例中,應(yīng)用可以是由第二計(jì)算裝置代表第一計(jì)算裝置的用戶執(zhí)行的基于服務(wù)器的或者基于遠(yuǎn)程的應(yīng)用。 在其他實(shí)施例中,第二計(jì)算裝置可使用任何瘦客戶端或遠(yuǎn)程顯示協(xié)議向第一客戶機(jī)計(jì)算裝置顯示輸出的數(shù)據(jù),所述協(xié)議如由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems公司制造的獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議;或由位于華盛頓Redmond的Microsoft公司制造的遠(yuǎn)程桌面協(xié)議(RDP) ;Xll協(xié)議;由At&T貝爾實(shí)驗(yàn)室制造的虛擬網(wǎng)絡(luò)計(jì)算(VNC)協(xié)議;由位于美國(guó)加利福尼亞州Sunnyvale和以色列Raanana的Qumranet公司制造的SPICE協(xié)議;由位于加利福尼亞州Milpitas的VESA公司制造的Net2Display協(xié)議;由位于B. C. Burnaby的 Teradici公司制造的PC-over-IP協(xié)議;由位于加利福尼亞州San Jose的Wyse Technology 公司制造的TCX協(xié)議;由位于紐約州NewYork的紐約市哥倫比亞大學(xué)開(kāi)發(fā)的THINC協(xié)議;或者由位于馬薩諸塞州Chelmsford的Desktone公司制造的Virtual-D協(xié)議。應(yīng)用可以使用任何類型的協(xié)議,并且其可以是,例如,HTTP客戶機(jī)、FTP客戶機(jī)、Oscar客戶機(jī)或Telnet客戶機(jī)。在其他實(shí)施例中,應(yīng)用包括與諸如軟IP電話的網(wǎng)絡(luò)電話(VoIP)通信有關(guān)的任何類型的軟件。在進(jìn)一步的實(shí)施例中,應(yīng)用包括與實(shí)時(shí)數(shù)據(jù)通信有關(guān)的任何應(yīng)用,例如用于流式傳輸視頻和/或音頻的應(yīng)用。一些實(shí)施例中,第一計(jì)算裝置IOOa代表客戶機(jī)計(jì)算裝置IOOb的用戶執(zhí)行應(yīng)用。 其他實(shí)施例中,計(jì)算裝置IOOa執(zhí)行虛擬機(jī),其提供執(zhí)行會(huì)話,在該會(huì)話中,代表客戶機(jī)計(jì)算裝置IOOb的用戶執(zhí)行應(yīng)用。這些實(shí)施例的一個(gè)中,執(zhí)行會(huì)話是寄載的桌面會(huì)話。另一個(gè)這樣的實(shí)施例中,計(jì)算裝置100執(zhí)行終端服務(wù)會(huì)話。終端服務(wù)會(huì)話可以提供寄載的桌面環(huán)境。 仍在另一個(gè)這樣的實(shí)施例中,執(zhí)行會(huì)話提供對(duì)計(jì)算環(huán)境的訪問(wèn),計(jì)算環(huán)境可包括以下的一個(gè)或多個(gè)應(yīng)用、多個(gè)應(yīng)用、桌面應(yīng)用以及在其中可執(zhí)行一個(gè)或多個(gè)應(yīng)用的桌面會(huì)話?,F(xiàn)參考圖2A,框圖描述便于 異構(gòu)處理器池虛擬化的系統(tǒng)的一個(gè)實(shí)施例。概括來(lái)講,該系統(tǒng)包括在虛擬機(jī)106a內(nèi)執(zhí)行的控制操作系統(tǒng)105、在虛擬機(jī)106b內(nèi)執(zhí)行的客戶操作系統(tǒng)110、虛擬CPU132、管理程序101、處理器分配組件210以及多個(gè)物理處理器221a, 221b (統(tǒng)稱為221)。處理器分配組件210識(shí)別可用于計(jì)算的多個(gè)物理處理器并確定標(biāo)志集合,所述標(biāo)志集合的每一個(gè)標(biāo)識(shí)所述多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型,處理器分配組件210在宿主計(jì)算機(jī)上執(zhí)行。在宿主計(jì)算機(jī)上執(zhí)行的且與處理器分配組件210通信的管理程序101給至少一個(gè)虛擬機(jī)分配對(duì)多個(gè)物理處理器的子集的一個(gè)的訪問(wèn)。管理程序101在計(jì)算裝置100的管理程序?qū)又袌?zhí)行。一些實(shí)施例中,處理器分配組件 210在計(jì)算裝置100的管理程序?qū)又袌?zhí)行。其他實(shí)施例中,處理器分配組件210在計(jì)算裝置100的虛擬化層中的控制操作系統(tǒng)105上執(zhí)行。在進(jìn)一步的實(shí)施例中,提供計(jì)算機(jī)可讀的介質(zhì),其包括便于異構(gòu)處理器池虛擬化的可執(zhí)行代碼。一些實(shí)施例中,控制操作系統(tǒng)105識(shí)別多個(gè)物理處理器221的每一個(gè)的可用的功能的子集。在這些實(shí)施例的一個(gè)中,子集小于物理處理器的至少一個(gè)的可用的功能的完全集。在這些實(shí)施例的又一個(gè)中,通過(guò)給虛擬機(jī)提供功能列表,該功能列表是所有物理處理器可用的公共子集,該方法確保所分配的物理處理器能提供虛擬機(jī)所請(qǐng)求的功能,而不管是哪個(gè)物理處理器被指派給虛擬機(jī)。在一些實(shí)施例中,資源包括可由虛擬機(jī)106使用的物理處理器221。然而,在其他實(shí)施例中,資源包括計(jì)算裝置100可用的任何資源,物理的或邏輯的資源,處理器或其他?,F(xiàn)參考圖2A,更具體地,處理器分配組件210識(shí)別可用于計(jì)算的多個(gè)物理處理器并確定標(biāo)志集合,該標(biāo)志集合的每一個(gè)標(biāo)識(shí)多個(gè)物理處理器的子集的每一個(gè)提供的功能的類型。一個(gè)實(shí)施例中,處理器分配組件210是在管理程序101內(nèi)部執(zhí)行的組件。又一個(gè)實(shí)施例中,處理器分配組件210是在管理程序?qū)又袌?zhí)行的組件并且與管理程序101通信。仍在又一個(gè)實(shí)施例中,處理器分配組件210是在控制操作系統(tǒng)105內(nèi)執(zhí)行的組件,所述控制操作系統(tǒng)105在虛擬機(jī)106內(nèi)執(zhí)行。又一個(gè)實(shí)施例中,處理器分配組件210作為企業(yè)管理應(yīng)用編程接口的一部分;例如,XEN API作為與XEN管理程序通信的控制操作系統(tǒng)105的一部分, 或者作為由位于佛羅里達(dá)州Fort Lauderdale的Citrix Systems公司提供的XEN SERVER 產(chǎn)品線的一部分。一些實(shí)施例中,處理器分配組件210包括接收器,所述接收器用于從控制操作系統(tǒng)105接收數(shù)據(jù)。在這些實(shí)施例的一個(gè)中,控制操作系統(tǒng)105識(shí)別可用于計(jì)算的多個(gè)物理處理器并且將該識(shí)別傳輸?shù)教幚砥鞣峙浣M件210。在其他實(shí)施例中,控制操作系統(tǒng) 105中的工具堆棧104識(shí)別可用于計(jì)算的多個(gè)物理處理器并且將該識(shí)別傳輸?shù)教幚砥鞣峙浣M件210。仍在其他實(shí)施例中,如下面 結(jié)合圖2B和2C更詳細(xì)地描述,處理器分配組件210 通過(guò)控制操作系統(tǒng)105和管理程序101與計(jì)算裝置IOOb通信以便檢索對(duì)計(jì)算裝置IOOb所提供的可用的多個(gè)物理處理器的識(shí)別。在一個(gè)實(shí)施例中,多個(gè)物理處理器包括物理處理器221。在又一個(gè)實(shí)施例中,多個(gè)物理處理器包括如與圖1B-1C有關(guān)的上文所描述的物理處理器121。仍在又一個(gè)實(shí)施例中, 多個(gè)物理處理器包括至少一個(gè)微處理器。仍在又一個(gè)實(shí)施例中,多個(gè)物理處理器分布在多個(gè)物理機(jī)器上。又一個(gè)實(shí)施例中,多個(gè)物理處理器的一個(gè)物理處理器支持所確定的標(biāo)志集合的超集。多個(gè)物理處理器中的一個(gè)物理處理器維護(hù)存儲(chǔ)至少一個(gè)處理器標(biāo)志的寄存器; 該寄存器可被稱為標(biāo)志寄存器或狀態(tài)寄存器。處理器標(biāo)志可存儲(chǔ)處理器所提供的功能的標(biāo)識(shí)。一個(gè)實(shí)施例中,例如,但不限于,標(biāo)志可標(biāo)識(shí)一類處理器所提供的支持多媒體的功能的擴(kuò)展,例如“3DN0W”或“3DN0WEXT”標(biāo)志,其標(biāo)識(shí)處理器包括由位于加利福尼亞州 Sunnyvale的Advance MicroDevice(AMD)公司所創(chuàng)建的多媒體擴(kuò)展。又一個(gè)實(shí)施例中,例如,但不限于,標(biāo)志可標(biāo)識(shí)處理器提供并行執(zhí)行功能,例如HTT/HT超線程標(biāo)志,其表明由位于加利福尼亞州Santa Clara的Intel公司提供的處理器提供允許在單一處理器上準(zhǔn)并行 (quasi-parallel)執(zhí)行不同指令的技術(shù)。在宿主計(jì)算機(jī)上執(zhí)行的且與處理器分配組件210通信的管理程序101給至少一個(gè)虛擬機(jī)分配對(duì)多個(gè)物理處理器的子集的一個(gè)的訪問(wèn)。一些實(shí)施例中,管理程序101所提供的虛擬機(jī)在初始化進(jìn)程期間查詢管理程序101以識(shí)別所分配的物理資源。在這些實(shí)施例的一個(gè)中,虛擬機(jī)在初始化進(jìn)程之后通常不向管理程序101查詢所分配的物理資源的識(shí)別。 在這些實(shí)施例的又一個(gè)中,在虛擬機(jī)內(nèi)部執(zhí)行的資源(例如操作系統(tǒng)或應(yīng)用)在初始化進(jìn)程之后開(kāi)始執(zhí)行并且請(qǐng)求訪問(wèn)虛擬資源所提供的功能。仍在這些實(shí)施例的又一個(gè)中,虛擬機(jī)訪問(wèn)所分配的物理資源以便給執(zhí)行的資源提供對(duì)所請(qǐng)求的功能的訪問(wèn),并且使用所分配資源的識(shí)別來(lái)確定所請(qǐng)求的功能是否是可用的。仍在這些實(shí)施例的又一個(gè)中,如果虛擬機(jī)在初始化進(jìn)程之后已遷移到第二計(jì)算裝置,由于虛擬機(jī)還未向管理程序查詢對(duì)所分配的物理資源的識(shí)別的更新,假設(shè)第二計(jì)算裝置不提供最初識(shí)別的資源,那么虛擬機(jī)可能試圖提供對(duì)不再可用的功能的訪問(wèn)。因此,在一些實(shí)施例中,此處所描述的方法和系統(tǒng)允許管理程序101向虛擬機(jī)提供對(duì)所分配的將會(huì)是可用的功能的標(biāo)識(shí)而不考慮虛擬機(jī)是否之后會(huì)從第一計(jì)算裝置遷移到第二計(jì)算裝置,這是因?yàn)楣芾沓绦?01僅識(shí)別多個(gè)計(jì)算裝置的每一個(gè)上的共同的功能。現(xiàn)參考圖2B,框圖描述了便于由多個(gè)物理計(jì)算裝置提供的異構(gòu)處理器池虛擬化的系統(tǒng)的實(shí)施例。如圖2B所示,該系統(tǒng)包括多個(gè)計(jì)算裝置100,每個(gè)計(jì)算裝置使至少一個(gè)物理處理器221可用于計(jì)算。計(jì)算裝置IOOa上的控制操作系統(tǒng)105a可通過(guò)管理程序IOla和管理程序IOlb之間的通信來(lái)與計(jì)算裝置IOOb上的控制操作系統(tǒng)105b交換數(shù)據(jù)。一個(gè)實(shí)施例中,控制操作系統(tǒng)105a可向控制操作系統(tǒng)105b提供計(jì)算裝置IOOa所提供的至少一個(gè)物理處理器的識(shí)別,所述至少一個(gè)物理處理器可由在計(jì)算裝置IOOb上執(zhí)行的虛擬機(jī)106使用。在一些實(shí)施例中,控制操作系統(tǒng)105a不通過(guò)管理程序101與控制操作系統(tǒng)105b通信, 而是可以在存儲(chǔ)元件250中存儲(chǔ)可用的物理處理器的識(shí)別,所述存儲(chǔ)元件250可由控制操作系統(tǒng)105b訪問(wèn)。盡管如2B只描述了兩臺(tái)計(jì)算裝置IOOa和IOOb以及一個(gè)存儲(chǔ)元件250,但應(yīng)該理解該系統(tǒng)可提供多個(gè)任何上述組件或上述組件的每一個(gè)。
如圖2B所描述的,計(jì)算裝置IOOa上的控制操作系統(tǒng)105a可通過(guò)管理程序IOla 和管理程序IOlb之間的通信來(lái)與計(jì)算裝置IOOb上的控制操作系統(tǒng)105b交換數(shù)據(jù)。這樣, 一個(gè)或多個(gè)計(jì)算裝置100可以與一個(gè)或多個(gè)其他計(jì)算裝置100交換關(guān)于資源池中可用的處理器和其他物理資源的數(shù)據(jù)。在一個(gè)這樣的實(shí)施例中,每個(gè)計(jì)算裝置100維護(hù)與其他計(jì)算裝置100的每一個(gè)相關(guān)聯(lián)的數(shù)據(jù),所述數(shù)據(jù)包括每個(gè)計(jì)算裝置100所提供的至少一個(gè)物理處理器的識(shí)別,所述物理處理器可由在另一個(gè)計(jì)算裝置100上執(zhí)行的虛擬機(jī)106使用。在又一個(gè)實(shí)施例中,該系統(tǒng)識(shí)別分布在多個(gè)物理機(jī)器100上的多個(gè)物理處理器。現(xiàn)參考圖2C,框圖描述了便于由包括一個(gè)主計(jì)算裝置的多個(gè)物理計(jì)算裝置提供的異構(gòu)處理器池虛擬化的系統(tǒng)的實(shí)施例。在一些實(shí)施例中,多個(gè)物理計(jì)算裝置100可通過(guò)網(wǎng)絡(luò)通信,例如局域網(wǎng)(LAN)例如公司內(nèi)網(wǎng),城域網(wǎng)(MAN),或者廣域網(wǎng)(WAN)例如因特網(wǎng)或萬(wàn)維網(wǎng)。在一些實(shí)施例中,在計(jì)算裝置100之間有多個(gè)網(wǎng)絡(luò)。網(wǎng)絡(luò)可以是任何類型和/或形式的網(wǎng)絡(luò),并且可包括任何下述網(wǎng)絡(luò)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),廣播網(wǎng)絡(luò),廣域網(wǎng),局域網(wǎng),電信網(wǎng)絡(luò),數(shù)據(jù)通信網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),ATM(異步傳輸模式)網(wǎng)絡(luò),S0NET(同步光纖網(wǎng)絡(luò))網(wǎng)絡(luò),SDH(同步數(shù)字體系)網(wǎng)絡(luò),無(wú)線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)。在一些實(shí)施例中,網(wǎng)絡(luò)可以包括無(wú)線鏈路,諸如紅外信道或者衛(wèi)星頻帶。網(wǎng)絡(luò)的拓?fù)淇蔀榭偩€型、星型或環(huán)型網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)和網(wǎng)絡(luò)拓?fù)淇梢允菍?duì)于本領(lǐng)域普通技術(shù)人員所熟知的、可以支持此處描述的操作的任何這樣的網(wǎng)絡(luò)或網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)可包括利用用于移動(dòng)設(shè)備間通信的任一或一些協(xié)議的移動(dòng)電話網(wǎng)絡(luò),這些協(xié)議包括AMPS、TDMA、CDMA、GSM、 GPRS或UMTS。在一些實(shí)施例中,不同類型的數(shù)據(jù)可以通過(guò)不同協(xié)議傳輸。在其他實(shí)施例中, 同一類型的數(shù)據(jù)可通過(guò)不同協(xié)議傳輸。在一個(gè)實(shí)施例中,系統(tǒng)可包括多個(gè)邏輯分組的計(jì)算裝置100。在這些實(shí)施例中,月艮務(wù)器的邏輯分組可以被稱為群38或者計(jì)算裝置100的池。在其中一些實(shí)施例中,計(jì)算裝置 100可為地理上分散的。在一些情況下,群38可以作為單個(gè)實(shí)體被管理。在其他實(shí)施例中, 服務(wù)器群38包括多個(gè)服務(wù)器群38。在一個(gè)實(shí)施例中,服務(wù)器群代表一個(gè)或多個(gè)客戶計(jì)算裝置執(zhí)行一個(gè)或多個(gè)應(yīng)用。每個(gè)群38中的計(jì)算裝置100可以是異構(gòu)的。一個(gè)或多個(gè)計(jì)算裝置100可根據(jù)一種類型的操作系統(tǒng)平臺(tái)(例如,由位于華盛頓Redmond的Microsoft公司制造的WINDOWS NT)操作,而一個(gè)或多個(gè)其它計(jì)算裝置100可根據(jù)另一類型的操作系統(tǒng)平臺(tái)(例如,Unix或 Linux)操作。每個(gè)群38中的計(jì)算裝置100不必與同一群38中的另一個(gè)服務(wù)器106在物理上接近。因而,邏輯上分組為群38的服務(wù)器106組可以是使用廣域網(wǎng)(WAN)或城域網(wǎng)(MAN)連接來(lái)互聯(lián)的。例如,群38可包括物理上位于不同大陸或某個(gè)大陸、國(guó)家、州、城市、校園或房間的不同區(qū)域的服務(wù)器106。如果服務(wù)器106使用局域網(wǎng)(LAN)連接或一些直連形式進(jìn)行連接,則可增加群38中的服務(wù)器106間的數(shù)據(jù)傳輸速度。如圖2C所示,該系統(tǒng)包括多個(gè)計(jì)算裝置100,每個(gè)計(jì)算裝置使至少一個(gè)物理處理器221可用于計(jì)算并且其中一個(gè)計(jì)算裝置已經(jīng)被指定為主計(jì)算裝置。與圖2B所描述的實(shí)施例不同,在圖2B中,每個(gè)計(jì)算裝置IOOa上的每個(gè)控制操作系統(tǒng)105b將數(shù)據(jù)傳輸?shù)矫總€(gè)控制操作系統(tǒng)105b,圖2C描述的實(shí)施例中,控制操作系統(tǒng)105a和105b與主計(jì)算裝置IOOc及其控制操作系統(tǒng)105c通信。在這個(gè)實(shí)施例中,主計(jì)算裝置IOOc維護(hù)可由計(jì)算裝置池中每個(gè)計(jì)算裝置100使用的資源的統(tǒng)一視圖。在一些實(shí)施例中,主計(jì)算裝置IOOc匯集整個(gè)計(jì)算裝置池的可利用資源的列舉,并確定池中可利用資源的公共子集。在其他實(shí)施例中,主計(jì)算裝置IOOc匯集計(jì)算裝置池中每個(gè)計(jì)算裝置提供的資源類型所提供的功能的列舉(例如, 通過(guò)列舉每個(gè)計(jì)算裝置提供的每個(gè)物理處理器所提供的功能),并且確定池中資源提供的功能的公共子集。在一些實(shí)施例中,多個(gè)計(jì)算裝置100中的計(jì)算裝置100選出計(jì)算裝置中的一個(gè)來(lái)提供主計(jì)算裝置IOOc的功能。在其他實(shí)施例中,多個(gè)計(jì)算裝置100中的計(jì)算裝置 100選出計(jì)算裝置中的子集來(lái)提供主計(jì)算裝置的功能。仍在其他實(shí)施例中,計(jì)算裝置100與主計(jì)算裝置IOOc交換狀態(tài)數(shù)據(jù)以便給每個(gè)計(jì)算裝置100提供該主計(jì)算裝置IOOc所存儲(chǔ)的數(shù)據(jù)快照;在這個(gè)實(shí)施例中,如果主計(jì)算裝置IOOc失效同時(shí)另一個(gè)計(jì)算裝置IOOn被選出作為新的主計(jì)算裝置,那么新選出的計(jì)算裝置IOOn可訪問(wèn)數(shù)據(jù)快照以便減少故障切換過(guò)程的影響?,F(xiàn)參考圖3,流程圖描述便于異構(gòu)處理器池虛擬化的方法的一個(gè)實(shí)施例。概括而言,該方法包括識(shí)別可用于計(jì)算的多個(gè)物理處理器(302)。該方法包括確定標(biāo)志集合,該標(biāo)志集合的每一個(gè)標(biāo)識(shí)多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型( 304)。該方法包括由管理程序給至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集的一個(gè)的訪問(wèn) (306)?,F(xiàn)參考圖3,更具體地,識(shí)別可用于計(jì)算的多個(gè)物理處理器(302)。一個(gè)實(shí)施例中, 處理器分配組件210識(shí)別可用于計(jì)算的多個(gè)物理處理器。又一個(gè)實(shí)施例中,管理程序101 識(shí)別可用于計(jì)算的多個(gè)物理處理器。仍在又一個(gè)實(shí)施例中,控制操作系統(tǒng)105查詢管理程序以識(shí)別由計(jì)算裝置100提供的任何物理資源,并且控制操作系統(tǒng)105將所識(shí)別的物理資源傳輸?shù)教幚砥鞣峙浣M件210。又一個(gè)實(shí)施例中,工具堆棧104提供用于查詢管理程序的功能并且向處理器分配組件210傳輸所識(shí)別的物理資源。一些實(shí)施例中,工具堆棧104查詢計(jì)算裝置100的內(nèi)核以識(shí)別可用于計(jì)算的多個(gè)物理處理器。確定標(biāo)志集合,該標(biāo)志集合的每一個(gè)標(biāo)識(shí)多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型(304)。在一個(gè)實(shí)施例中,該標(biāo)志集合是標(biāo)志集合的子集;例如標(biāo)志的超集可包括標(biāo)識(shí)僅由一個(gè)物理處理221a所提供的功能的標(biāo)志以及標(biāo)識(shí)由物理處理器221a和第二物理處理器221d所提供的功能的標(biāo)志,而且該集合可以只包括標(biāo)識(shí)物理處理器221a和 221d所提供的功能的標(biāo)志。又一個(gè)實(shí)施例中,標(biāo)志的整個(gè)超集標(biāo)識(shí)多個(gè)物理微處理器的每一個(gè)所提供的功能;在這樣的實(shí)施例中,該集合可包括所有標(biāo)志。在一些實(shí)施例中,主計(jì)算裝置IOOc上的控制操作系統(tǒng)105c從控制操作系統(tǒng)105a 接收標(biāo)識(shí)計(jì)算裝置IOOa上可用的物理處理器221a所提供的功能的標(biāo)志集合,同時(shí)主計(jì)算裝置IOOc從控制操作系統(tǒng)105b接收標(biāo)識(shí)計(jì)算裝置IOOb上可用的物理處理器221b所提供的功能的標(biāo)志集合。在控制操作系統(tǒng)IOOc中執(zhí)行的組件(例如處理器分配組件210c)可確定物理處理器221a和221b所提供的功能的公共集;該公共集可以是標(biāo)志的整體組合集或者標(biāo)志的整體組合集的子集。例如,控制操作系105c可將所確定的標(biāo)志的公共集傳輸?shù)接?jì)算裝置IOOb的控制操作系統(tǒng)105b以用于將資源分配給可能最終會(huì)從計(jì)算裝置IOOb遷移到計(jì)算裝置IOOa的虛擬機(jī)106b。在一些實(shí)施例中,當(dāng)在計(jì)算裝置池中加入或從其中刪除新的計(jì)算裝置IOOd時(shí),或者新的物理處理器221變?yōu)榭衫玫幕蛘卟辉倏捎脮r(shí),控制操作系統(tǒng)105c確定更新的標(biāo)志集合并且將所更新的標(biāo)志集合傳輸?shù)接?jì)算裝置池中的每個(gè)計(jì)算裝置100。其他實(shí)施例中,計(jì)算裝置IOOa的控制操作系統(tǒng)105a和計(jì)算裝置IOOb的控制操作系統(tǒng)105b互相之間直接通信,而不是通過(guò)主計(jì)算裝置IOOc通信。例如,如與圖2B有關(guān)的上文所描述的,控制操作系統(tǒng)105a和105b可通過(guò)管理程序101a、IOlb通信,或者通過(guò)使用存儲(chǔ)元件250來(lái)交換數(shù)據(jù)。一個(gè)這樣的實(shí)施例中,每個(gè)控制操作系統(tǒng)105確定標(biāo)志集合。管理程序給至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集的一個(gè)的訪問(wèn) (306)。在一個(gè)實(shí)施例中,管理程序101從控制操作系統(tǒng)105接收對(duì)所確定的標(biāo)志集合的識(shí)另IJ。又一個(gè)實(shí)施例中,管理程序101接收對(duì)所確定的標(biāo)志集合的識(shí)別以及執(zhí)行虛擬機(jī)106 的指令。仍在又一個(gè)實(shí)施例中,管理程序101接收對(duì)所確定的標(biāo)志集合的識(shí)別,以及給虛擬機(jī)106中的虛擬處理器分配對(duì)物理處理器子集中的一個(gè)物理處理器221的訪問(wèn)的指令。又一個(gè)實(shí)施例中,管理程序101提供所述至少一個(gè)虛擬機(jī)中的虛擬處理器,所述虛擬處理器僅實(shí)現(xiàn)由標(biāo)志集合所標(biāo)識(shí)的功能。例如,管 理程序101可產(chǎn)生虛擬處理器132,其能給在虛擬機(jī)106中執(zhí)行的資源(例如客戶操作系統(tǒng)110)僅提供所標(biāo)識(shí)的功能。在一些實(shí)施例中,管理程序101攔截虛擬機(jī)106內(nèi)組件(例如虛擬處理器132或客戶操作系統(tǒng)110)對(duì)所確定的標(biāo)志集合未標(biāo)識(shí)的功能訪問(wèn)的請(qǐng)求,然后管理程序101用所分配的物理處理器的該功能不可用的指示來(lái)響應(yīng)該請(qǐng)求。在這些實(shí)施例的一個(gè)中,多個(gè)物理處理器的子集中所分配的物理處理器提供所請(qǐng)求的功能(例如,該物理處理器可能實(shí)現(xiàn)所確定的標(biāo)志集合的超集所標(biāo)識(shí)的功能)而不是子集中所有物理處理器都提供該功能。因此,防止虛擬機(jī)106訪問(wèn)非所有物理處理器提供的功能致使可在計(jì)算裝置之間遷移的虛擬機(jī)106的執(zhí)行,其提供對(duì)異構(gòu)物理處理器的訪問(wèn)。在一些實(shí)施例中,所述識(shí)別和確定作為用于執(zhí)行虛擬機(jī)106的進(jìn)程的一部分而發(fā)生。在這些實(shí)施例的一個(gè)中,例如,計(jì)算裝置100上的控制操作系統(tǒng)105可從一個(gè)或多個(gè)計(jì)算裝置100檢索可利用的多個(gè)物理處理器的識(shí)別,確定標(biāo)識(shí)多個(gè)物理處理器的每一個(gè)所提供的功能的標(biāo)志集合,以及指示計(jì)算裝置100上的管理程序101執(zhí)行虛擬機(jī)106并給虛擬機(jī)106分配虛擬資源,所述虛擬機(jī)資源僅實(shí)現(xiàn)標(biāo)志的子集所標(biāo)識(shí)的功能。在其他實(shí)施例中, 通過(guò)確定標(biāo)識(shí)多個(gè)物理處理器公共功能的標(biāo)志集合,以及通過(guò)給虛擬機(jī)106分配僅對(duì)所標(biāo)識(shí)的功能的訪問(wèn),虛擬機(jī)106將不會(huì)試圖訪問(wèn)由第一計(jì)算裝置的第一物理處理器而不是由第二計(jì)算裝置的第二物理處理器所提供的功能;在這樣的實(shí)施例中,虛擬機(jī)106可能在兩個(gè)計(jì)算裝置之間遷移而沒(méi)有由于試圖訪問(wèn)不支持的功能所引起的錯(cuò)誤。一些實(shí)施例中,多個(gè)物理處理器的至少一個(gè)提供未被所確定的標(biāo)志集合中的標(biāo)志所標(biāo)識(shí)的額外的功能。這些實(shí)施例的一個(gè)中,通過(guò)僅提供對(duì)多個(gè)物理處理器的每一個(gè)所提供的功能的公共子集的訪問(wèn)(或包括提供額外的功能的至少一個(gè)物理處理器的物理處理器子集的每一個(gè)),被分配訪問(wèn)至少一個(gè)物理處理器的虛擬機(jī)106可以不接收額外功能的標(biāo)識(shí)而且也不使用額外的功能。因此,這些實(shí)施例的又一個(gè)中,該系統(tǒng)可提供機(jī)制,通過(guò)該機(jī)制用戶可選擇虛擬機(jī)106是否應(yīng)該被分配訪問(wèn)功能的公共子集,從而使在虛擬機(jī)106可能從一個(gè)計(jì)算裝置遷移到另一個(gè)的環(huán)境中的遷移更容易,或者可選擇虛擬機(jī)106是否應(yīng)該被分配訪問(wèn)特定物理處理器所提供的所有功能,從而由于虛擬機(jī)106使用額外的功能引起性能的提高。在這樣的實(shí)施例中,系統(tǒng)響應(yīng)于從用戶接收的命令來(lái)確定標(biāo)志集合。仍在這些實(shí)施例的又一個(gè)中,用戶(例如管理員)可以為第一虛擬機(jī)106a選擇更容易的遷移,同時(shí)為第二虛擬機(jī)106b選擇提高性能。仍在又一個(gè)實(shí)施例中,允許用戶有選擇地應(yīng)用此處所描述的機(jī)制給用戶在多個(gè)虛擬機(jī)的管理中提供了更好的控制和靈活性。又一個(gè)實(shí)施例中, 系統(tǒng)包括允許用戶為每個(gè)虛擬機(jī)指定自定義的選項(xiàng)的用戶接口,例如,控制操作系統(tǒng)可提供該用戶接口。應(yīng)該理解,此處描述的系統(tǒng)可提供多個(gè)任何上述組件或上述組件的每一個(gè)并且這些組件可以在單獨(dú)機(jī)器上提供,或者在一些實(shí)施例中,可在分布式系統(tǒng)的多個(gè)機(jī)器上提供。 此外,上述系統(tǒng)和方法可作為一件或多件產(chǎn)品上所體現(xiàn)的或在其中的一個(gè)或多個(gè)計(jì)算機(jī)可讀程序而被提供。所述產(chǎn)品可以是軟盤、硬盤、CD-ROM,閃存卡、PROM、RAM、ROM或磁帶。通常,計(jì)算機(jī)可讀 程序可以任何編程語(yǔ)言來(lái)實(shí)現(xiàn),如LISP、PERL、C、C++、C#、PROLOG,或者諸如 JAVA的任何字節(jié)碼語(yǔ)言。軟件程序可以作為目標(biāo)代碼被存儲(chǔ)在一件或多件產(chǎn)品上或其中。已經(jīng)描述了用于便于異構(gòu)處理器池虛擬化的方法和系統(tǒng)的某些實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員而言,顯而易見(jiàn)可以使用包含所述實(shí)施例的概念的其他實(shí)施例。因此本發(fā)明應(yīng)該不限于某些實(shí)施例,而是應(yīng)由下列權(quán)利要求的主旨和范圍進(jìn)行限制。
權(quán)利要求
1.一種便于異構(gòu)處理器池虛擬化的方法,所述方法包括識(shí)別可用于計(jì)算的多個(gè)物理處理器;確定標(biāo)志集合,所述標(biāo)志集合的每一個(gè)標(biāo)識(shí)所述多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型;以及由管理程序給至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集的一個(gè)的訪問(wèn)。
2.根據(jù)權(quán)利要求1所述的方法,還包括由管理程序提供所述至少一個(gè)虛擬機(jī)中的虛擬處理器,所述虛擬處理器僅實(shí)現(xiàn)由所述標(biāo)志集合所標(biāo)識(shí)的功能。
3.根據(jù)權(quán)利要求1所述的方法,其中識(shí)別還包括識(shí)別分布在多個(gè)物理機(jī)器上的多個(gè)物理處理器。
4.根據(jù)權(quán)利要求1所述的方法,其中確定還包括確定標(biāo)志集合,所述標(biāo)志集合的每一個(gè)標(biāo)識(shí)所述多個(gè)物理處理器的每一個(gè)所提供的功能的類型。
5.根據(jù)權(quán)利要求1所述的方法,其中確定還包括響應(yīng)于從用戶所接收的命令來(lái)確定所述標(biāo)志集合。
6.根據(jù)權(quán)利要求1所述的方法,其中分配還包括由管理程序給所述至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集中一個(gè)物理處理器的訪問(wèn),該物理處理器實(shí)現(xiàn)所確定的標(biāo)志集合的超集所標(biāo)識(shí)的功能。
7.一種在其上具有指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)執(zhí)行所述指令時(shí)提供便于異構(gòu)處理器池虛擬化的方法,所述計(jì)算機(jī)可讀介質(zhì)包括用于識(shí)別可用于計(jì)算的多個(gè)物理處理器的指令;用于確定標(biāo)志集合的指令,所述標(biāo)志集合的每一個(gè)標(biāo)識(shí)所述多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型;以及用于由管理程序給至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集的一個(gè)的訪問(wèn)的指令。
8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),還包括用于由管理程序提供所述至少一個(gè)虛擬機(jī)中的虛擬處理器的指令,所述虛擬處理器僅實(shí)現(xiàn)由所述標(biāo)志集合所標(biāo)識(shí)的功能。
9.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),還包括用于識(shí)別分布在多個(gè)物理機(jī)器上的多個(gè)物理處理器的指令。
10.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),還包括用于確定標(biāo)志集合的指令,所述標(biāo)志集合的每一個(gè)標(biāo)識(shí)所述多個(gè)物理處理器的每一個(gè)所提供的功能的類型。
11.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),還包括用于響應(yīng)于從用戶所接收的命令來(lái)確定所述標(biāo)志集合的指令。
12.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),還包括用于由管理程序給所述至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集中一個(gè)物理處理器的訪問(wèn)的指令,所述物理處理器實(shí)現(xiàn)由所確定的標(biāo)志集合的超集所標(biāo)識(shí)的功能。
13.一種便于異構(gòu)處理器池虛擬化的系統(tǒng),所述系統(tǒng)包括處理器分配組件,其識(shí)別可用于計(jì)算的多個(gè)物理處理器并確定標(biāo)志集合,所述標(biāo)志集合的每一個(gè)標(biāo)識(shí)所述多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型,所述處理器分配組件在宿主計(jì)算機(jī)上執(zhí)行;以及管理程序,其在所述宿主計(jì)算機(jī)上執(zhí)行并與所述處理器分配組件通信,給至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集的一個(gè)的訪問(wèn)。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中處理器分配組件在宿主計(jì)算機(jī)上的虛擬機(jī)內(nèi)執(zhí)行。
15.根據(jù)權(quán)利要求13所述的系統(tǒng),其中處理器分配組件還包括用于從在所述宿主計(jì)算機(jī)上的虛擬機(jī)內(nèi)執(zhí)行的控制操作系統(tǒng)接收所述多個(gè)物理處理器的標(biāo)識(shí)的裝置。
16.根據(jù)權(quán)利要求13所述的系統(tǒng),還包括第二宿主計(jì)算機(jī),其向所述處理器分配組件傳輸所確定的標(biāo)志集合的標(biāo)識(shí)。
17.根據(jù)權(quán)利要求13所述的系統(tǒng),還包括在所述至少一個(gè)虛擬機(jī)中的虛擬處理器,所述虛擬處理器僅實(shí)現(xiàn)由所述標(biāo)志集合所標(biāo)識(shí)的功能。
18.根據(jù)權(quán)利要求13所述的系統(tǒng),其中處理器分配組件還包括用于識(shí)別分布在多個(gè)物理機(jī)器上的多個(gè)物理處理器的裝置。
全文摘要
一種便于異構(gòu)處理器池虛擬化的系統(tǒng)包括處理器分配組件和管理程序,各自在宿主計(jì)算機(jī)上執(zhí)行。處理器分配組件識(shí)別可用于計(jì)算的多個(gè)物理處理器并確定標(biāo)志集合,該標(biāo)志集合的每一個(gè)標(biāo)識(shí)多個(gè)物理處理器的子集的每一個(gè)所提供的功能的類型。與處理器分配組件通信的管理程序給至少一個(gè)虛擬機(jī)分配對(duì)所述多個(gè)物理處理器的子集的一個(gè)的訪問(wèn)。
文檔編號(hào)G06F9/455GK102272726SQ200980154163
公開(kāi)日2011年12月7日 申請(qǐng)日期2009年11月19日 優(yōu)先權(quán)日2008年12月1日
發(fā)明者D·J·斯科特, J·J·魯?shù)吕? R·W·夏普, V·漢奎茲 申請(qǐng)人:思杰系統(tǒng)有限公司