欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

面向多核平臺的虛擬機監(jiān)控器非對稱調度器及其調度方法

文檔序號:6585035閱讀:224來源:國知局
專利名稱:面向多核平臺的虛擬機監(jiān)控器非對稱調度器及其調度方法
技術領域
本發(fā)明涉及一種多核或眾核平臺調度技術,具體來說是面向多核平臺的虛擬機監(jiān)
控器非對稱調度器及其調度方法,屬于計算機操作系統(tǒng)和虛擬化技術領域。
背景技術
系統(tǒng)虛擬化技術是指利用虛擬機監(jiān)視器(Virtual Machine Monitor,簡稱VMM)這個系統(tǒng)軟件層,管理系統(tǒng)平臺的處理器外設等資源,為客戶操作系統(tǒng)提供一個虛擬硬件執(zhí)行環(huán)境,這些虛擬的硬件執(zhí)行環(huán)境成為一個虛擬機(Virtual Machine,簡稱VM)。每個虛擬機(VM),都包含處理器、存儲器及設備等虛擬硬件資源,而同一臺物理主機上可以支持多個VM同時運行。該技術起源于20世紀60年代,IBM公司最早在360系列計算機系統(tǒng)中使用了虛擬化技術,其目的是讓用戶可以共享計算資源,而在隨后的三十年間,大型機上的虛擬化技術不斷趨于完善,并且一直是高效利用大型機強大計算資源的基礎技術。到了二十世紀90年代,隨著x86處理器性能的不斷提高, 一些基于x86處理器中低檔服務器甚至PC機的計算能力越來越強,大量的數(shù)據(jù)中心和PC機都出現(xiàn)了系統(tǒng)資源利用率低,計算資源嚴重浪費的問題。在這種背景下,以前主要用于大型機的系統(tǒng)虛擬化技術受到工業(yè)界和學術界的廣泛關注,基于x86處理器的虛擬化技術得到了長足的發(fā)展,并在世界各地的數(shù)據(jù)中心,PC機用戶上得到了廣泛的應用。虛擬化技術不僅可以提高系統(tǒng)資源的利用率,減少了數(shù)據(jù)中心的裝機量和相應的電源成本,并且為一些傳統(tǒng)需求提供了新的簡單的實現(xiàn)手段,比如基于系統(tǒng)遷移技術的負載平衡,容錯備份。除此之外,虛擬化技術也為PC機用戶提供了更方便的使用多樣性操作系統(tǒng)的方法,為許多操作系統(tǒng)等系統(tǒng)軟件開發(fā)和測試人員提供了前所未有的便利。 和本發(fā)明密切相關另外一個背景技術是近年來多核技術的持續(xù)發(fā)展。傳統(tǒng)的多路服務器是直接在一個主板上支持多個物理處理器插槽,也就是對稱多處理器系統(tǒng)。而隨著SMT(Simultaneous Multi-Threading,艮卩同時多線程)、CMP(Chip multiprocessors,即片上多處理器核)的發(fā)展,單個芯片上集成的處理器核會越來越多,2007年在Intel實驗室中已經(jīng)研制成功了集成80個核的單個芯片。在未來一段時間內(nèi),四核、八核處理器等都會漸漸被廣泛使用,硬件平臺正在進入多核時代。與之相應的是,軟件的發(fā)展,尤其是系統(tǒng)軟件的發(fā)展和硬件平臺的發(fā)展相比,顯得有些滯后,很多情況下都是硬件的處理能力提高了,或者提供了新的功能,但是軟件棧的革新速度較為緩慢,使得許多新的硬件特性無法被廣泛使用,造成了計算資源、電源等的大量浪費。隨著多核平臺的發(fā)展,操作系統(tǒng)以及應用程序迫切需要快速革新,適應新的強大的計算平臺。除此之外,異構處理器核在中低端服務器和PC機上也會被大量使用,最典型的例子是現(xiàn)在已經(jīng)很流行的圖形處理器GPU(GraphicProcessing Unit),網(wǎng)絡處理器NP (Network Processor,簡稱NP),甚至不日將會上市的Intel的GPU Larrabee。 新一輪的虛擬化技術最初是因為高效使用系統(tǒng)過剩的計算資源而迅速發(fā)展起來,而現(xiàn)在隨著單一硬件平臺上集成的處理器核持續(xù)增多,系統(tǒng)虛擬化技術將得到持續(xù)的關注
5和發(fā)展,虛擬化技術將會在充分使用平臺提供的強大計算能力發(fā)揮更加重要的作用。目前已經(jīng)有服務器廠商將虛擬化放在BIOS中,為系統(tǒng)軟件提供了更加透明的虛擬化平臺,類似于大型機上的分區(qū)技術,虛擬化技術最典型的用處就是對大量處理器核進行分區(qū),而每個分區(qū)中都可以安裝傳統(tǒng)的操作系統(tǒng),這樣既可以充分使用了較新的硬件平臺,又充分利用了更新周期較長的操作系統(tǒng)和應用程序,為計算機系統(tǒng)平臺的持續(xù)發(fā)展提供了可行的解決方案??傊?,系統(tǒng)虛擬化技術的發(fā)展和多核技術的發(fā)展是目前硬件和系統(tǒng)軟件發(fā)展中最顯著的兩樣技術,同時這兩樣技術在互相影響,互相促進,多核的設計和實現(xiàn)中會考慮系統(tǒng)虛擬化技術對平臺的使用,而系統(tǒng)虛擬化技術也必然隨著多核的發(fā)展而不斷革新,最有效的使用平臺上集成的更多的同構處理器核以及各種異構處理器核。 系統(tǒng)虛擬化技術研究如何把處理器、內(nèi)存、外設等資源分配給客戶機使用,它是虛擬化技術的一種,所抽象的對象是整個計算機。系統(tǒng)虛擬化技術對處理器的抽象,以及對虛擬處理器的調度是虛擬化技術中的重要組成部分,目前的虛擬機監(jiān)控器VMM從處理器虛擬化的技術上劃分主要有三種方式,一種是二進制翻譯,這種主要情況下,客戶操作系統(tǒng)中的特權指令是通過解釋執(zhí)行的;第二種是類虛擬化,即修改客戶操作系統(tǒng)把客戶操作系統(tǒng)中需要執(zhí)行的特權指令修改成對虛擬機監(jiān)控器的調用,當然這種技術一般和客戶操作系統(tǒng)執(zhí)行特權指令導致異常然后陷入到VMM中從而由V匪接管執(zhí)行相結合;第三種就是硬件輔助的完全虛擬化技術,使用帶有硬件虛擬化支持的處理器,比如Intel VT-x或者AMD的SVM,客戶操作系統(tǒng)執(zhí)行所有的敏感指令和特權指令時都會陷入到VMM中,VMM代為處理完畢后,會返回到客戶操作系統(tǒng)中。以上幾種方法各有利弊,其中第三種硬件輔助虛擬化方法目前的性能并不好,原因是客戶機因為執(zhí)行特權指令而導致的VM exit(虛擬機退出)數(shù)量過多,而且VMM中處理這些退出的時間長,導致HVM(硬件虛擬機)Domain (域)的性能不高。此外目前的VMM實現(xiàn)中對多核的支持基本都是延續(xù)了傳統(tǒng)上Li皿x對SMP平臺的支持方式,對vcpu(虛擬處理器)的調度也是采用對稱調度的方法,即調度器并不區(qū)分處于不同封裝上的處理器核心,也不支持專門用于某種特殊需求的VMM任務和處理器核的綁定。

發(fā)明內(nèi)容
本發(fā)明針對目前多核平臺VMM中對稱調度方法不能充分使用多核處理能力,并且不能為不同的客戶機提供靈活的定制性的服務的問題,提出了一種面向多核平臺的虛擬機監(jiān)控器非對稱調度器及其調度方法。 本發(fā)明設計的面向多核平臺的虛擬機監(jiān)控器非對稱調度器,其在結構上除了包括VMM中已有的通用調度模塊外,還包括以下新添加的模塊管理域中的服務核請求解析模塊;V匪中的Domain特定服務核配置模塊、系統(tǒng)頂級調度器模塊、服務調度器模塊、共享內(nèi)存機制模塊及請求查詢模塊,其中系統(tǒng)頂級調度器模塊中包含平臺處理器核拓撲識別和分析子模塊以及服務核分配和回收子模塊;HVM Domain中的混合虛擬化模塊。V匪運行在多核或眾核系統(tǒng)平臺上,向下管理著底層的硬件平臺,向上支撐運行著管理域和HVMDomain。
服務核請求解析模塊,用于HVM Domain創(chuàng)建時服務核的配置,負責將HVM Domain也就是客戶機創(chuàng)建時的配置文件中指明的服務核的類型和數(shù)量解析,向V匪發(fā)出服務核的創(chuàng)建請求; Domain特定服務核配置模塊則負責初步解析服務核請求解析模塊發(fā)過的HVMDomain的服務核創(chuàng)建請求然后發(fā)送給系統(tǒng)頂級調度器模塊,并在整個HVM Domain的生命周期內(nèi)管理其服務核相關的信息; 系統(tǒng)頂級調度器模塊主要用來管理計算機平臺中能用的處理器核,并在全局范圍內(nèi)對通用調度器模塊和服務調度器模塊的能用處理器核資源位圖進行調整,負責完成來自Domain特定服務核配置模塊中的請求,根據(jù)平臺處理器核拓撲識別和分析子模塊中的拓撲信息,使用服務核分配和回收子模塊創(chuàng)建服務核或者回收服務核;平臺處理器核拓撲識別和分析子模塊負責對系統(tǒng)中擁有的處理器核資源進行識別,處理器核在被識別之后加入頂級調度器使用和管理的能用處理器核資源位圖中,初始化之后頂級調度器開始在這些處理器核上運行;服務核分配和回收子模塊負責服務核的創(chuàng)建或者回收,從系統(tǒng)能用處理器核資源位圖中區(qū)分出服務核,并添入服務調度器模塊的能用處理器核資源位圖中,或者從服務調度器模塊的能用處理器核資源位圖中刪除服務核;
服務調度器模塊負責服務核的管理和調度; 共享內(nèi)存機制模塊負責響應HVM Domain的映射請求,并在共享內(nèi)存建立之后,觸發(fā)請求查詢模塊; 混合虛擬化模塊首先向VMM請求映射共享內(nèi)存,共享內(nèi)存機制模塊響應HVMDomain的映射請求,在VMM中建立共享內(nèi)存區(qū)域;在共享內(nèi)存建立之后,混合虛擬化模塊發(fā)出HVMDomain對服務核的服務請求,這些請求被寫在共享內(nèi)存區(qū)域內(nèi);
請求查詢模塊負責查詢HVM Domain所屬的共享內(nèi)存區(qū)域內(nèi)的對服務核的服務請求,并把這些請求發(fā)送到服務調度器模塊。 所述系統(tǒng)頂級調度器模塊在系統(tǒng)初始化、HVM Domain創(chuàng)建、服務核創(chuàng)建請求、服務核回收、HVM Domain銷毀、通用核和服務核比例調整、全局范圍內(nèi)的負載調整等場合才會被觸發(fā)。 本發(fā)明設計的面向多核平臺的虛擬機監(jiān)控器非對稱調度方法,具體步驟包括
步驟l,客戶機創(chuàng)建啟動和服務核的創(chuàng)建請求發(fā)出; HVM Domain客戶機創(chuàng)建時,在管理域中會有一個對應的客戶機的創(chuàng)建配置文件,該文件中會指明客戶機使用的vcpu的數(shù)量,以及與物理處理器核的綁定信息,同時該配置文件中也會指明所需的服務核的類型和數(shù)量,具體的類型由不同的實施例中特殊指定和實現(xiàn);管理域中的服務核請求解析模塊將該配置文件中的服務核的類型和數(shù)量解析,并將創(chuàng)建需求轉變成對VMM的超調用Hypercall,并將該超調用傳輸給VMM中的Domain特定服務核配置模塊,而Domain特定服務核配置模塊在接管超調用Hypercall后,采用一個結構體管理新創(chuàng)建的HVM Domain的所有信息,包括服務核的配置信息,并初步解析超調用Hypercall,然后觸發(fā)VMM中的系統(tǒng)頂級調度器模塊運行;其中vcpu代表虛擬處理器,Hypercall代表超級調用; 步驟2,處理器核拓撲識別和分析以及服務核的分配; 系統(tǒng)頂級調度器模塊中的處理器核拓撲識別和分析子模塊會對系統(tǒng)中擁有的處理器核資源進行識別,處理器核在被識別之后加入系統(tǒng)頂級調度器模塊使用和管理的能用處理器核資源位圖中,初始化之后系統(tǒng)頂級調度器模塊開始在這些處理器核上運行,直到這些處理器核被劃分給VMM中的通用調度器模塊或者被分配成服務核接受VMM中的服務調度器模塊的調度;
系統(tǒng)初始化時,系統(tǒng)頂級調度器模塊被初始化,系統(tǒng)頂級調度器模塊接到創(chuàng)建服務核的請求后,首先根據(jù)平臺處理器核拓撲和分析子模塊得到平臺處理器核的拓撲信息,采用就近原則選擇和HVM Domain的vcpu綁定的物理處理器核相鄰的處理器核,如果vcpu沒有設定需要綁定物理處理器核,則按照系統(tǒng)的整體策略,是性能優(yōu)先還是節(jié)能優(yōu)先的預定策略進行選擇,性能優(yōu)先時,優(yōu)先選擇空閑的處理器核作為服務核,而節(jié)能優(yōu)先時則優(yōu)先選擇超線程或者同一封裝內(nèi)的處理器核作為服務核; 服務核選定之后,由系統(tǒng)頂級調度器模塊中的服務核分配和回收子模塊負責服務核的最終創(chuàng)建過程,服務核分配和回收子模塊從系統(tǒng)能用處理器核資源位圖中區(qū)分出服務核,并添入服務調度器模塊的能用處理器核資源位圖中,然后通過處理器間中斷IPI喚醒服務核,并使它從指定的函數(shù)開始執(zhí)行;服務核被創(chuàng)建并開始執(zhí)行時,并未真正開始提供服務,直到HVMDomain申請創(chuàng)建共享內(nèi)存區(qū)域之后,服務核才會被真正激活,主動到共享內(nèi)存區(qū)域輪詢?nèi)蝿?,或者被服務調度器模塊調度時才被激活提供服務;服務核的回收是在服務核所屬的HVMDomain被銷毀時觸發(fā)的,與創(chuàng)建的過程類似,系統(tǒng)頂級調度器模塊調用服務核分配和回收子模塊進行回收,并將回收的服務核進行重新分配,根據(jù)系統(tǒng)的配置策略,將空閑的服務核,加入到通用調度器模塊的能用處理器核資源位圖中,或加入到系統(tǒng)空閑資源中; 步驟3,兩級調度器對通用核和服務核調度; VMM啟動初期,計算機平臺內(nèi)的所有處理器核都是由系統(tǒng)頂級處理器模塊管理和調度的,隨著HVM Domain以及對應的vcpu的創(chuàng)建,通用調度器模塊有了調度對象,被初始化并在所管理的通用核上運行; 服務核創(chuàng)建之后,服務調度器模塊開始對服務核進行調度,它會輪詢各個HVM
Domain與VMM的共享內(nèi)存區(qū)域的服務請求,調用請求查詢模塊獲得新的服務任務發(fā)送到服
務調度器模塊,服務調度器模塊根據(jù)任務所屬的服務核,將任務插入到該服務核的任務隊
列,并觸發(fā)服務核的運行;如果服務核創(chuàng)建時被指定為直接輪詢模式,則不需要服務調度器
模塊將任務派發(fā)給服務核,服務核直接輪詢共享內(nèi)存區(qū)域獲得服務請求; 步驟4,客戶機發(fā)出服務請求及對應服務核響應客戶機的請求; HVM Domain被創(chuàng)建并啟動后,裝載HVM Domain中的混合虛擬化模塊,混合虛擬化
模塊向VMM發(fā)出映射共享內(nèi)存的請求,VMM中的共享內(nèi)存機制模塊響應請求,在VMM的空間
中映射共享內(nèi)存區(qū)域,并將共享內(nèi)存區(qū)域的起始地址以及大小信息寫入Domain特定服務
核配置模塊管理的信息結構體中,共享內(nèi)存映射成功后對應的服務核上的服務代碼開始運
行; 混合虛擬化模塊通過寫共享內(nèi)存的方式發(fā)送服務請求,服務請求也能夠由運行在用戶態(tài)的特定應用程序發(fā)出,通過將現(xiàn)有操作系統(tǒng)用戶態(tài)、內(nèi)核態(tài)模塊數(shù)據(jù)和控制方法交由混合虛擬化模塊代理發(fā)送,服務請求發(fā)送后,VMM中的請求查詢模塊將會按照一定頻率查詢這些請求,并把這些請求交由服務調度器模塊派發(fā)到對應的服務核,服務核會根據(jù)服務調度器模塊中的調度策略執(zhí)行自己的任務隊列,也能夠采用一種服務核直接輪詢對應的共享內(nèi)存區(qū)域的方式, 一旦有請求,直接執(zhí)行,這種情況適用于實時性要求比較高的服務,或者頻繁執(zhí)行并決定著系統(tǒng)整體性能的關鍵服務;當服務核將服務請求執(zhí)行完畢后,把處理結果通過共享內(nèi)存機制模塊寫回共享內(nèi)存,混合虛擬化模塊或者HVM Domain中的其他內(nèi)核模塊就能讀到返回的服務執(zhí)行結果。 所述的面向多核平臺的虛擬機監(jiān)控器非對稱調度方法,其特征在于,所述步驟2 中處理器核拓撲識別和分析子模塊會對平臺中擁有的處理器核資源進行識別,識別的主要 根據(jù)為,是否在一個封裝內(nèi),是否共享二級緩存,是否是同一個核上的超線程。
所述的面向多核平臺的虛擬機監(jiān)控器非對稱調度方法,其特征在于,步驟2中所 述服務核的分配采用就近原則,具體為如果vcpu是一個超線程,則服務核從最鄰近的超 線程優(yōu)先選擇,如果vcpu綁定到了一個處理器核,則服務核優(yōu)先從同處于一個封裝內(nèi)的其 它處理器核分配,更進一步,如果同一封裝內(nèi)有些處理器核和vcpu綁定的處理器核共享二 級緩存,另一些不共享,則優(yōu)先選擇共享二級緩存的處理器核。 所述的面向多核平臺的虛擬機監(jiān)控器非對稱調度方法,其特征在于,所述步驟4 中HVMDomain與V匪之間建立的共享內(nèi)存,在V匪中有統(tǒng)一的地址空間,在HVM Domain系 統(tǒng)內(nèi)部也有自己的映射空間,VMM中對這些共享內(nèi)存中的請求區(qū)域是統(tǒng)一管理的,對請求的 管理采用輪詢的同步通訊方式,或采用消息傳遞的方式。 本發(fā)明提出的面向多核平臺的虛擬機監(jiān)控器非對稱調度器及其調度方法,具有下 述技術優(yōu)點和效果 (1)服務核的存在滿足了客戶操作系統(tǒng)特殊的需求 目前的大多數(shù)虛擬機監(jiān)控器的性能瓶頸都在IO,原因主要就是V匪的架構不能適
應多個客戶操作系統(tǒng)并發(fā)訪問io設備的需求,服務核的存在就可以為客戶操作系統(tǒng)提供
特定IO訪問的加速。另外,客戶操作系統(tǒng)的特殊需求不僅體現(xiàn)在某些性能需求上,還體現(xiàn) 在某些功能性需求上,比如某個客戶操作系統(tǒng)屬于硬件輔助虛擬機,但是想采用混合虛擬 化方法,加速某些驅動,而服務核也可以輔助客戶操作系統(tǒng)完成這些任務??傊蘸耸且?種使用虛擬化架構的一種機制,而這種機制的存在為虛擬化環(huán)境提供了新的客戶操作系統(tǒng) 到V匪之間的交互方式,通過這種請求和服務模式的模型,可以滿足很多種客戶操作系統(tǒng) 和VMM的交互需求。 (2)服務核的分配適應平臺的處理器拓撲結構 傳統(tǒng)的針對SMP系統(tǒng)的調度器已經(jīng)不能適應日益復雜的基于x86處理器的平臺, 而現(xiàn)在流行的虛擬機監(jiān)控器軟件主要是面向流行的處理器配置,也沒有充分考慮到平臺的 眾多處理器核的拓撲結構。本發(fā)明中的非對稱調度器在分配服務核時充分考慮了服務核以 及所服務的客戶操作系統(tǒng)虛擬處理器vcpu所運行的物理處理器核的拓撲關系,對于目前 的計算機平臺已經(jīng)顯示出一些優(yōu)勢,比如能夠減少cache缺失率,提高了系統(tǒng)的整體性能, 對于未來眾核平臺和存在大量異構核的平臺,這種服務核分配模式會表現(xiàn)出更明顯的優(yōu) 勢,比如圖形處理器GPU適合進行矩陣運算,可以為需要密集矩陣運算的客戶操作系統(tǒng)提 供GPU作為服務核。 (3)非對稱的兩級調度器模型為整個系統(tǒng)提供了靈活性和可配置性 本發(fā)明中使用的兩級的非對稱調度器,不僅為客戶操作系統(tǒng)的特殊需求提供了更
為靈活的服務,同時也方便對多核或者未來眾核平臺中的豐富的處理器核資源進行利用。
以非對稱的兩級調度器為中心,對上適應客戶操作系統(tǒng)的個性化需求,對下充分利用平臺
的計算資源,并可以方便地擴展進行異構處理器核的調度使用。通用調度器兼容現(xiàn)有的大
多虛擬機監(jiān)控器采用的對稱調度模型,而服務調度器為客戶操作系統(tǒng)的各種特殊需求提供了可用的方便的支持。二者協(xié)同起來,并由頂級調度器做全局的分配以及運行時的動態(tài)調 整,大大提高了整個系統(tǒng)的靈活性。 可配置性的提高主要是因為服務核的提供可以由管理域基于單個虛擬機配置,并 且服務核的分配過程也是根據(jù)平臺的拓撲結構優(yōu)化分配。除此之外頂級調度器的動態(tài)調整 策略也是可以由管理域指定,比如按照性能優(yōu)先或者節(jié)能優(yōu)先策略分別配置時,頂級調度 器對通用調度器和服務調度器的可用處理器核位圖的調整就是不同的。節(jié)能優(yōu)先時,不用 的服務核會進入低能耗狀態(tài),性能優(yōu)先時,回收的服務核會被頂級調度器加入到通用調度 器的可用處理器資源位圖中,被通用調度器用來調度客戶操作系統(tǒng)的vcpu。本發(fā)明中對靈 活性和可配置性的改善也適合正在不斷革新中的硬件平臺的新趨勢。


圖1是面向多核平臺的虛擬機監(jiān)控器非對稱調度器的模塊結構示意圖;
圖2是面向多核平臺的虛擬機監(jiān)控器非對稱調度方法的步驟流程圖。
具體實施例方式
在下述具體實施示例中,結合附圖對本發(fā)明進行進一步的詳細說明。
如圖1所示,VMM 10運行在多核或眾核系統(tǒng)平臺上,向下管理著底層的硬件平臺 12,向上支撐運行著管理域9和HVM Domainll。本發(fā)明設計的面向多核平臺的虛擬機監(jiān)控 器非對稱調度器,其在結構上除了包括V匪10中已有的通用調度模塊4夕卜,還包括以下新 添加的模塊管理域9中的服務核請求解析模塊1 ;V匪10中的Domain特定服務核配置模塊 2、系統(tǒng)頂級調度器模塊3、服務調度器模塊5、共享內(nèi)存機制模塊7及請求查詢模塊8,其中 系統(tǒng)頂級調度器模塊3中包含平臺處理器核拓撲識別和分析子模塊301以及服務核分配和 回收子模塊302 ;HVM Domainll中的混合虛擬化模塊6。 HVM Domainl 1是承載計算任務的Domain,管理域9根據(jù)V匪IO提供的機制對HVM Domainll進行控制。管理域9中服務核請求解析模塊1負責將客戶機創(chuàng)建時的配置文件 中指明的服務核的類型和數(shù)量解析,向V匪IO發(fā)出服務核的創(chuàng)建請求。V匪IO中的Domain 特定服務核配置模塊2則負責初步解析請求解析模塊1發(fā)來的服務核創(chuàng)建請求然后發(fā)送 給系統(tǒng)頂級調度器模塊3,并在整個HVM Domainll的生命周期內(nèi)管理其服務核相關的信 息。系統(tǒng)頂級調度器模塊3主要用來管理系統(tǒng)中的可用的處理器核,并在全局范圍內(nèi)對通 用調度器模塊4和服務調度器模塊5的能用處理器核資源位圖進行調整,負責具體完成來 自Domain特定服務核配置模塊2中的請求,根據(jù)平臺處理器核拓撲識別和分析子模塊301 中的拓撲信息,使用服務核分配和回收子模塊302創(chuàng)建服務核或者回收服務核;平臺處理 器核拓撲識別和分析子模塊301負責對系統(tǒng)中擁有的處理器核資源進行識別,服務核分配 和回收子模塊302負責服務核的創(chuàng)建或者回收,從系統(tǒng)能用處理器核資源位圖中區(qū)分出服 務核,并添入服務調度器模塊5的能用處理器核資源位圖中,或者從服務調度器模塊5的能 用處理器核資源位圖中刪除服務核。主要是正常運行狀態(tài)下的系統(tǒng),通用調度器模塊4負 責HVMDomainll的虛擬處理器vcpu在通用核上的調度,而服務調度器模塊5負責服務核的 管理和調度。 共享內(nèi)存機制模塊7負責響應HVM Domain的映射請求,并在共享內(nèi)存建立之后,觸發(fā)請求查詢模塊8。 HVM Domainll中的混合虛擬化模塊6負責向V匪IO請求映射共享內(nèi)存,而V匪IO 中的共享內(nèi)存機制模塊7負責響應HVM Domainll的映射請求;在共享內(nèi)存建立之后,HVM Domainll對服務核的服務請求通過混合虛擬化模塊6發(fā)出,同時共享內(nèi)存機制模塊7觸發(fā) 請求查詢模塊8。 請求查詢模塊8負責查詢HVM Domainll所屬的共享內(nèi)存區(qū)域內(nèi)的對服務核的服 務請求,并把這些請求發(fā)送到服務調度器模塊5,由服務調度器模塊5負責服務的調度。
面向多核平臺的虛擬機監(jiān)控器非對稱調度器包括系統(tǒng)頂級調度器模塊3及其下 屬的通用核調度器模塊4和服務核調度器模塊5兩級,系統(tǒng)頂級調度器模塊3負責處理器 核的角色劃分,服務核的創(chuàng)建和回收,根據(jù)運行負載的變化,調整通用調度器模塊4所管理 的通用核以及服務調度器模塊5管理的服務核的數(shù)量,實現(xiàn)計算機處理器核作為通用核和 作為服務核的角色轉換。 本發(fā)明提出的面向多核平臺的虛擬機監(jiān)控器非對稱調度器,它與現(xiàn)有的調度器的 區(qū)別的主要表現(xiàn)在非對稱性調度上首先,對計算機平臺的處理器核不使用傳統(tǒng)的對稱調 度方法,而是采用了將某些核作為服務核,運行專門的VMM服務;其次,服務核的分配既考 慮上層HVM Domainll的需求,也對計算機平臺的處理器核拓撲結構有所考慮,系統(tǒng)頂級調 度器模塊3根據(jù)創(chuàng)建HVM Domainll的配置文件中的vcpu綁定信息和服務核的類型數(shù)量等 信息,采用就近原則分配服務核,如果vcpu沒有設定需要綁定物理處理器核,則按照系統(tǒng) 的整體策略,是性能優(yōu)先還是節(jié)能優(yōu)先的預定策略進行選擇,性能優(yōu)先時,優(yōu)先選擇空閑的 處理器核作為服務核,而節(jié)能優(yōu)先時則優(yōu)先選擇超線程或者同一封裝內(nèi)的處理器核作為服 務核。 本發(fā)明提出的面向多核平臺的虛擬機監(jiān)控器非對稱調度方法在系統(tǒng)實施中主要
分為4個步驟,即客戶機創(chuàng)建啟動和服務核的創(chuàng)建請求發(fā)出、處理器核拓撲識別和分析以
及服務核的分配、兩級調度器對通用核和服務核調度以及客戶機發(fā)出服務請求及對應服務
核響應客戶機的請求。結合附2,具體步驟如下 步驟1 :客戶機創(chuàng)建啟動和服務核的創(chuàng)建請求發(fā)出; HVM Domainll創(chuàng)建時,在管理域9中會有一個對應的客戶機的創(chuàng)建配置文件,該 文件中會指明客戶機使用的vcpu的數(shù)量,以及與物理處理器核的綁定信息,同時該配置文 件中也會指明所需的服務核的類型和數(shù)量(比如文件系統(tǒng)服務、調試服務、IO服務,或者 像頁表遍歷這樣的具體操作的加速請求),具體的類型可以由不同的實施例中特殊指定和 實現(xiàn)。管理域9中的服務核請求解析模塊1將該配置文件中的服務核的類型和數(shù)量解析, 并將創(chuàng)建需求轉變成對V匪IO的超調用Hypercall,并將該超調用傳輸給Domain特定服 務核配置模塊2,而Domain特定服務核配置模塊2在接管超調用Hypercall后,采用一個 結構體管理新創(chuàng)建的HVM Domain的所有信息,包括服務核的配置信息,并初步解析超調用 Hypercall,然后觸發(fā)系統(tǒng)頂級調度器模塊3運行。
步驟2,處理器核拓撲識別和分析以及服務核的分配; 處理器核拓撲識別和分析子模塊301會對系統(tǒng)中擁有的處理器核資源進行識別, 主要根據(jù)是否在一個封裝內(nèi),是否共享二級緩存,是否是同一個核上的超線程,處理器核在 被識別之后加入系統(tǒng)頂級調度器模塊3使用和管理的能用處理器核資源位圖中;初始化之
11后系統(tǒng)頂級調度器模塊3開始在這些處理器核上運行,直到這些處理器核被劃分給通用調 度器模塊4或者被分配成服務核接受服務調度器模塊5的調度。 系統(tǒng)初始化時,V匪IO中的系統(tǒng)頂級調度器模塊3被初始化,系統(tǒng)頂級調度器模塊 3在接受請求分配服務核時,從系統(tǒng)可用的處理器核資源中找到合適的處理器核,并對這個 處理器核初始化使之成為運行HVM Domain需要的功能(比如文件系統(tǒng)服務,10設備服務, 調試服務服務,IO仿真服務)的服務核,然后服務核被創(chuàng)建。系統(tǒng)頂級調度器模塊3接到 創(chuàng)建服務核的請求后,首先根據(jù)平臺處理器核拓撲和分析子模塊301得到平臺處理器核的 拓撲信息,選擇和HVM Domainll的vcpu綁定的物理處理器核相鄰的處理器核,具體為系 統(tǒng)頂級調度器模塊3根據(jù)創(chuàng)建HVM Domainll的配置文件中的vcpu綁定信息和服務核的類 型數(shù)量等信息,采用就近原則分配服務核,比如如果vcpu是一個超線程,則服務核從最鄰 近的超線程優(yōu)先選擇,如果vcpu綁定到了一個處理器核,則服務核優(yōu)先從同處于一個封裝 內(nèi)的其它核分配,更進一步,如果同一封裝內(nèi)有些處理器核和vcpu綁定的處理器核共享二 級緩存,另一些不共享,則優(yōu)先選擇共享二級緩存的處理器核。如果vcpu沒有設定需要綁 定物理處理器核,則按照系統(tǒng)的整體策略,是性能優(yōu)先還是節(jié)能優(yōu)先的預定策略進行選擇, 性能優(yōu)先時,優(yōu)先選擇空閑的處理器核作為服務核,而節(jié)能優(yōu)先時則優(yōu)先選擇超線程或者 同一封裝內(nèi)的處理器核作為服務核。 服務核選定之后,由服務核分配和回收子模塊302負責服務核的最終創(chuàng)建過程。 服務核分配和回收子模塊302主要是從系統(tǒng)能用處理器核資源位圖中區(qū)分出服務核,并 添入服務調度器模塊5的能用處理器核資源位圖中,然后通過處理器間中斷IPI (inter processor interrupt)喚醒服務核,并使它從指定的函數(shù)開始執(zhí)行。服務核被創(chuàng)建并開始執(zhí) 行時,并未真正開始提供服務,直到HVM Domainll申請創(chuàng)建共享內(nèi)存區(qū)域之后,服務核才會 被真正激活,主動到共享內(nèi)存區(qū)域輪詢?nèi)蝿眨蛘弑环照{度器模塊5調度時才被激活提 供服務。 服務核的回收是在服務核所屬的HVM Domainll被銷毀時觸發(fā)的,與創(chuàng)建的過程類 似,系統(tǒng)頂級調度器模塊3調用服務核分配和回收子模塊302進行回收,并將回收的服務核 進行重新分配,根據(jù)系統(tǒng)的配置策略,將空閑的服務核,可以加入到通用調度器模塊4的能 用處理器核資源位圖中,也可以加入到系統(tǒng)空閑資源中。
步驟3 :兩級調度器對通用核和服務核調度; V匪10啟動初期,平臺內(nèi)的所有處理器核都是由系統(tǒng)頂級處理器模塊3管理和調 度的,隨著HVM Domainll以及對應的vcpu的創(chuàng)建,通用調度器模塊4有了調度對象,被初 始化并在所管理的通用核上運行。 服務核創(chuàng)建之后,服務調度器模塊5開始對服務核進行調度,傳統(tǒng)的vcpu的調度 則由通用核調度器模塊4負責。通用調度器模塊4具有調度vcpu以及平衡所屬的處理器 核之間負載的功能,其能用處理器核資源位圖中的每個處理器核上都會像傳統(tǒng)調度器一樣 周期性的運行通用調度器模塊4的代碼。服務調度器模塊5會輪詢各個HVM Domainll與 VMM10的共享內(nèi)存區(qū)域的服務請求,即調用請求查詢模塊8獲得新的服務任務發(fā)送到服務 調度器模塊5,服務調度器模塊5根據(jù)任務所屬的服務核,將任務插入到該服務核的任務隊 列,并觸發(fā)服務核的運行。如果服務核創(chuàng)建時被指定為直接輪詢模式,則不需要服務調度器 模塊5將任務派發(fā)給服務核,服務核直接輪詢共享內(nèi)存區(qū)域獲得服務請求。
步驟4 :客戶機發(fā)出服務請求及對應服務核響應客戶機的請求; 步驟1和步驟2完成了對服務核的創(chuàng)建,以及對服務核的初始化,并能夠使服務核 通過兩級的調度器進行調度。當HVM Domainll被創(chuàng)建并啟動起來后,這時它所屬的服務核 也就已經(jīng)就緒了,此時服務核處于等待狀態(tài),等待服務調度器模塊5接到請求后調度服務 核執(zhí)行。服務核真正投入運行是在HVM Domainll中的混合虛擬化模塊6對服務核發(fā)出服 務請求后。HVM Domainll被創(chuàng)建并啟動后,裝載混合虛擬化模塊6,混合虛擬化模塊6向 V匪10發(fā)出映射共享內(nèi)存的請求,V匪10中的共享內(nèi)存機制模塊7在V匪10的空間中映射共 享內(nèi)存,并將共享區(qū)域的起始地址以及大小等信息寫入Domain特定服務核配置模塊2管理
的信息結構,共享內(nèi)存映射成功后對應的服務核上的服務代碼開始運行。 HVM Domainll中的混合虛擬化模塊6通過寫共享內(nèi)存的方式發(fā)送服務請求,服務
請求也可以由運行在用戶態(tài)的特定應用程序發(fā)出,通過將現(xiàn)有操作系統(tǒng)用戶態(tài)、內(nèi)核態(tài)模
塊數(shù)據(jù)和控制方法交由混合虛擬化模塊6代理發(fā)送。服務請求發(fā)送后,V匪10中的請求查詢
模塊8將會按照一定頻率查詢這些請求,并把這些請求交由服務調度器模塊5派發(fā)到對應
的服務核。服務核會根據(jù)服務調度器模塊5中的調度策略執(zhí)行自己的任務隊列,當服務核
將服務請求執(zhí)行完畢后,把處理結果通過共享內(nèi)存機制模塊7寫回共享內(nèi)存。HVM Domain 11
中的混合虛擬化模塊6或者其他內(nèi)核模塊就可以讀到返回的服務執(zhí)行結果。 客戶機為了使用V匪10的服務核提供的服務,首先需要與V匪10之間建立共享內(nèi)
存。位于HVM Domainll中的混合虛擬化模塊6向VMM10發(fā)送共享內(nèi)存映射的請求,V匪10
處理請求,并且建立了 V匪10與服務核共享的一塊內(nèi)存區(qū)域。 客戶機的請求和數(shù)據(jù)都是通過共享內(nèi)存機制傳遞給V匪10的,在共享內(nèi)存被創(chuàng)
建之前,服務核處于就緒狀態(tài),并不真正開始提供服務,而一旦共享內(nèi)存創(chuàng)建成功,服務調
度器就會通過服務請求查詢模塊查詢新到的請求,同時會把合適的請求派發(fā)到服務核上。
HVMDomainll中的混合虛擬化模塊6不僅負責映射共享內(nèi)存,而且也負責發(fā)送實際的服務
請求,HVM Domainll中可以擴展該機制,即HVM Domainll的用戶態(tài)程序可以和安裝在內(nèi)核
態(tài)的混合虛擬化模塊6交互,使混合虛擬化模塊6代為執(zhí)行來自用戶態(tài)的特殊服務請求。
HVM Domainll與V匪10之間建立的共享內(nèi)存,在VMM 10中有統(tǒng)一的地址空間,在客戶機各
自操作系統(tǒng)內(nèi)部也有自己的映射空間,V匪IO中對這些共享內(nèi)存中的請求區(qū)域是統(tǒng)一管理
的,本發(fā)明中是采用了輪詢的同步通訊方式,也可以采用消息傳遞的方式。 HVM Domainll通過共享內(nèi)存發(fā)出服務請求后,服務調度器模塊5會通過請求查詢
模塊8對各個共享內(nèi)存區(qū)域的請求進行查詢,并按照請求所屬的區(qū)域和類型派發(fā)到合適的
服務核,于是服務請求會被對應的服務核執(zhí)行。大多數(shù)情況下,請求是由服務調度器模塊5
向服務核調度派發(fā)的,但是本發(fā)明實踐中也可以采用一種服務核直接輪詢對應的共享內(nèi)存
區(qū)域, 一旦有請求,直接執(zhí)行,這種情況適用于實時性要求比較高的服務,或者頻繁執(zhí)行并
決定著系統(tǒng)整體性能的關鍵服務。
權利要求
面向多核平臺的虛擬機監(jiān)控器非對稱調度器,包括VMM中的通用調度器模塊,其特征在于,還包括管理域中的服務核請求解析模塊,VMM中的Domain特定服務核配置模塊、系統(tǒng)頂級調度器模塊、服務調度器模塊、共享內(nèi)存機制模塊及請求查詢模塊,HVMDomain中的混合虛擬化模塊,其中系統(tǒng)頂級調度器模塊中又包含平臺處理器核拓撲識別和分析子模塊以及服務核分配和回收子模塊;服務核請求解析模塊,用于HVM Domain創(chuàng)建時服務核的配置,負責將HVM Domain也就是客戶機創(chuàng)建時的配置文件中指明的服務核的類型和數(shù)量解析,向VMM發(fā)出服務核的創(chuàng)建請求;Domain特定服務核配置模塊則負責初步解析服務核請求解析模塊發(fā)來的HVMDomain的服務核創(chuàng)建請求然后發(fā)送給系統(tǒng)頂級調度器模塊,并在整個HVM Domain的生命周期內(nèi)管理其服務核相關的信息;系統(tǒng)頂級調度器模塊主要用來管理計算機平臺中能用的處理器核,并在全局范圍內(nèi)對通用調度器模塊和服務調度器模塊的能用處理器核資源位圖進行調整,負責完成來自Domain特定服務核配置模塊中的請求,根據(jù)平臺處理器核拓撲識別和分析子模塊中的拓撲信息,使用服務核分配和回收子模塊創(chuàng)建服務核或者回收服務核;平臺處理器核拓撲識別和分析子模塊負責對系統(tǒng)中擁有的處理器核資源進行識別,處理器核在被識別之后加入頂級調度器使用和管理的能用處理器核資源位圖中,初始化之后頂級調度器開始在這些處理器核上運行;服務核分配和回收子模塊負責服務核的創(chuàng)建或者回收,從系統(tǒng)能用處理器核資源位圖中區(qū)分出服務核,并添入服務調度器模塊的能用處理器核資源位圖中,或者從服務調度器模塊的能用處理器核資源位圖中刪除服務核;服務調度器模塊負責服務核的管理和調度;共享內(nèi)存機制模塊負責響應HVM Domain的映射請求,并在共享內(nèi)存建立之后,觸發(fā)請求查詢模塊;混合虛擬化模塊首先向VMM請求映射共享內(nèi)存,共享內(nèi)存機制模塊響應HVM Domain的映射請求,在VMM中建立共享內(nèi)存區(qū)域;在共享內(nèi)存建立之后,混合虛擬化模塊發(fā)出HVMDomain對服務核的服務請求,這些請求被寫在共享內(nèi)存區(qū)域內(nèi);請求查詢模塊負責查詢HVM Domain所屬的共享內(nèi)存區(qū)域內(nèi)的對服務核的服務請求,并把這些請求發(fā)送到服務調度器模塊;其中,VMM代表虛擬監(jiān)控器,HVM代表硬件虛擬管理器,Domain代表域。
2. 根據(jù)權利要求1所述的面向多核平臺的虛擬機監(jiān)控器非對稱調度器,其特征在于, 所述系統(tǒng)頂級調度器模塊在系統(tǒng)初始化、HVM Domain創(chuàng)建、服務核創(chuàng)建請求、服務核回收、 HVM Domain銷毀、通用核和服務核比例調整、全局范圍內(nèi)的負載調整場合時被觸發(fā)。
3. 應用權利要求1所述的面向多核平臺的虛擬機監(jiān)控器非對稱調度器的調度方法,其 特征在于,包括如下步驟步驟l,客戶機創(chuàng)建啟動和服務核的創(chuàng)建請求發(fā)出;HVM Domain客戶機創(chuàng)建時,在管理域中會有一個對應的客戶機的創(chuàng)建配置文件,該文 件中會指明客戶機使用的vcpu的數(shù)量,以及與物理處理器核的綁定信息,同時該配置文件 中也會指明所需的服務核的類型和數(shù)量,具體的類型由不同的實施例中特殊指定和實現(xiàn); 管理域中的服務核請求解析模塊將該配置文件中的服務核的類型和數(shù)量解析,并將創(chuàng)建需求轉變成對VMM的超調用Hypercall,并將該超調用傳輸給VMM中的Domain特定服務核配 置模塊,而Domain特定服務核配置模塊在接管超調用Hypercall后,采用一個結構體管理 新創(chuàng)建的HVM Domain的所有信息,包括服務核的配置信息,并初步解析超調用Hypercall, 然后觸發(fā)VMM中的系統(tǒng)頂級調度器模塊運行;其中vcpu代表虛擬處理器,Hypercall代表 超級調用;步驟2,處理器核拓撲識別和分析以及服務核的分配;系統(tǒng)頂級調度器模塊中的處理器核拓撲識別和分析子模塊會對系統(tǒng)中擁有的處理器 核資源進行識別,處理器核在被識別之后加入系統(tǒng)頂級調度器模塊使用和管理的能用處理 器核資源位圖中,初始化之后系統(tǒng)頂級調度器模塊開始在這些處理器核上運行,直到這些 處理器核被劃分給VMM中的通用調度器模塊或者被分配成服務核接受VMM中的服務調度器 模塊的調度;系統(tǒng)初始化時,系統(tǒng)頂級調度器模塊被初始化,系統(tǒng)頂級調度器模塊接到創(chuàng)建服務核 的請求后,首先根據(jù)平臺處理器核拓撲和分析子模塊得到平臺處理器核的拓撲信息,采用 就近原則選擇和HVM Domain的vcpu綁定的物理處理器核相鄰的處理器核,如果vcpu沒有 設定需要綁定物理處理器核,則按照系統(tǒng)的整體策略,是性能優(yōu)先還是節(jié)能優(yōu)先的預定策 略進行選擇,性能優(yōu)先時,優(yōu)先選擇空閑的處理器核作為服務核,而節(jié)能優(yōu)先時則優(yōu)先選擇 超線程或者同一封裝內(nèi)的處理器核作為服務核;服務核選定之后,由系統(tǒng)頂級調度器模塊中的服務核分配和回收子模塊負責服務核的 最終創(chuàng)建過程,服務核分配和回收子模塊從系統(tǒng)能用處理器核資源位圖中區(qū)分出服務核, 并添入服務調度器模塊的能用處理器核資源位圖中,然后通過處理器間中斷IPI喚醒服務 核,并使它從指定的函數(shù)開始執(zhí)行;服務核被創(chuàng)建并開始執(zhí)行時,并未真正開始提供服務, 直到HVMDomain申請創(chuàng)建共享內(nèi)存區(qū)域之后,服務核才會被真正激活,主動到共享內(nèi)存區(qū) 域輪詢?nèi)蝿?,或者被服務調度器模塊調度時才被激活提供服務;服務核的回收是在服務核 所屬的HVMDomain被銷毀時觸發(fā)的,與創(chuàng)建的過程類似,系統(tǒng)頂級調度器模塊調用服務核 分配和回收子模塊進行回收,并將回收的服務核進行重新分配,根據(jù)系統(tǒng)的配置策略,將空 閑的服務核,加入到通用調度器模塊的能用處理器核資源位圖中,或加入到系統(tǒng)空閑資源 中;步驟3,兩級調度器對通用核和服務核調度;VMM啟動初期,計算機平臺內(nèi)的所有處理器核都是由系統(tǒng)頂級處理器模塊管理和調度 的,隨著HVM Domain以及對應的vcpu的創(chuàng)建,通用調度器模塊有了調度對象,被初始化并 在所管理的通用核上運行;服務核創(chuàng)建之后,服務調度器模塊開始對服務核進行調度,它會輪詢各個HVM Domain 與VMM的共享內(nèi)存區(qū)域的服務請求,調用請求查詢模塊獲得新的服務任務發(fā)送到服務調度 器模塊,服務調度器模塊根據(jù)任務所屬的服務核,將任務插入到該服務核的任務隊列,并觸 發(fā)服務核的運行;如果服務核創(chuàng)建時被指定為直接輪詢模式,則不需要服務調度器模塊將 任務派發(fā)給服務核,服務核直接輪詢共享內(nèi)存區(qū)域獲得服務請求;步驟4,客戶機發(fā)出服務請求及對應服務核響應客戶機的請求;HVM Domain被創(chuàng)建并啟動后,裝載HVM Domain中的混合虛擬化模塊,混合虛擬化模塊 向VMM發(fā)出映射共享內(nèi)存的請求,VMM中的共享內(nèi)存機制模塊響應請求,在VMM的空間中映射共享內(nèi)存區(qū)域,并將共享內(nèi)存區(qū)域的起始地址以及大小信息寫入Domain特定服務核配 置模塊管理的信息結構體中,共享內(nèi)存映射成功后對應的服務核上的服務代碼開始運行;混合虛擬化模塊通過寫共享內(nèi)存的方式發(fā)送服務請求,服務請求也能夠由運行在用戶 態(tài)的特定應用程序發(fā)出,通過將現(xiàn)有操作系統(tǒng)用戶態(tài)、內(nèi)核態(tài)模塊數(shù)據(jù)和控制方法交由混 合虛擬化模塊代理發(fā)送,服務請求發(fā)送后,VMM中的請求查詢模塊將會按照一定頻率查詢這 些請求,并把這些請求交由服務調度器模塊派發(fā)到對應的服務核,服務核會根據(jù)服務調度 器模塊中的調度策略執(zhí)行自己的任務隊列,也能夠采用一種服務核直接輪詢對應的共享內(nèi) 存區(qū)域的方式, 一旦有請求,直接執(zhí)行,這種情況適用于實時性要求比較高的服務,或者頻 繁執(zhí)行并決定著系統(tǒng)整體性能的關鍵服務;當服務核將服務請求執(zhí)行完畢后,把處理結果 通過共享內(nèi)存機制模塊寫回共享內(nèi)存,混合虛擬化模塊或者HVM Domain中的其他內(nèi)核模塊 就能讀到返回的服務執(zhí)行結果。
4. 根據(jù)權利要求3中所述的面向多核平臺的虛擬機監(jiān)控器非對稱調度方法,其特征在 于,所述步驟2中處理器核拓撲識別和分析子模塊會對平臺中擁有的處理器核資源進行識 別,識別的主要根據(jù)為,是否在一個封裝內(nèi),是否共享二級緩存,是否是同一個核上的超線 程。
5. 根據(jù)權利要求3中所述的面向多核平臺的虛擬機監(jiān)控器非對稱調度方法,其特征在 于,步驟2中所述服務核的分配采用就近原則,具體為如果vcpu是一個超線程,則服務核 從最鄰近的超線程優(yōu)先選擇,如果vcpu綁定到了一個處理器核,則服務核優(yōu)先從同處于一 個封裝內(nèi)的其它處理器核分配,更進一步,如果同一封裝內(nèi)有些處理器核和vcpu綁定的處 理器核共享二級緩存,另一些不共享,則優(yōu)先選擇共享二級緩存的處理器核。
6. 根據(jù)權利要求3中所述的面向多核平臺的虛擬機監(jiān)控器非對稱調度方法,其特征在 于,所述步驟4中HVM Domain與V匪之間建立的共享內(nèi)存,在VMM中有統(tǒng)一的地址空間,在 HVM Domain系統(tǒng)內(nèi)部也有自己的映射空間,VMM中對這些共享內(nèi)存中的請求區(qū)域是統(tǒng)一管 理的,對請求的管理采用輪詢的同步通訊方式,或采用消息傳遞的方式。
全文摘要
本發(fā)明公開了一種面向多核或眾核平臺的虛擬機監(jiān)控器非對稱調度器及其調度方法,基于現(xiàn)有的虛擬機監(jiān)控器VMM,為客戶操作系統(tǒng)提供了滿足特殊高性能需求的專門的服務核。本發(fā)明包括管理域中的服務核請求解析模塊,VMM中的Domain特定服務核配置模塊、系統(tǒng)頂級調度器模塊、服務調度器模塊、共享內(nèi)存機制模塊及請求查詢模塊,HVM Domain中的混合虛擬化模塊。本發(fā)明中的非對稱調度器不僅可以針對上層Domain的需求提供不同的服務核,而且在服務核的分配時考慮到物理平臺的拓撲結構,比傳統(tǒng)的調度器提供了更強的靈活性和可擴展性,同時為客戶操作系統(tǒng)提供了特定應用類型的加速機制,改善了整個平臺的使用效率。
文檔編號G06F9/455GK101727351SQ20091024183
公開日2010年6月9日 申請日期2009年12月14日 優(yōu)先權日2009年12月14日
發(fā)明者張炯, 文成建, 白躍斌, 賀俊, 高小鵬, 龍翔 申請人:北京航空航天大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
周宁县| 建阳市| 江永县| 咸阳市| 新乐市| 兴城市| 枞阳县| 民和| 博爱县| 兴安县| 错那县| 法库县| 应城市| 常宁市| 石首市| 新丰县| 化州市| 金平| 汨罗市| 临西县| 麻城市| 黄浦区| 夏河县| 昌吉市| 镇远县| 来宾市| 中江县| 泗阳县| 玉门市| 闵行区| 枣强县| 手机| 西充县| 阿拉善左旗| 永川市| 安阳市| 宝坻区| 罗江县| 南汇区| 寻乌县| 遵义县|