專利名稱:多核處理器操作系統(tǒng)設(shè)計(jì)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及操作系統(tǒng)設(shè)計(jì)領(lǐng)域,更具體地說(shuō),本發(fā)明涉及一種多核處理器操作系統(tǒng)設(shè)計(jì)方法。
背景技術(shù):
多核處理器的結(jié)構(gòu)日益復(fù)雜。從對(duì)稱多核處理器CMP (Chip multiprocessors,單芯片多處理器),到異構(gòu)多核處理器以及類NUMA (Non Uniform Memory AccessAchitecture,非一致性內(nèi)存訪問(wèn))多核處理器,操作系統(tǒng)的設(shè)計(jì)需要耗費(fèi)更多的精力對(duì)復(fù)雜結(jié)構(gòu)進(jìn)行相應(yīng)優(yōu)化。與此同時(shí),多核處理器的核心數(shù)量也在迅速增長(zhǎng),擴(kuò)展的“摩爾定律”預(yù)言并證實(shí)了核心數(shù)量的指數(shù)增長(zhǎng)速率。傳統(tǒng)多核操作系統(tǒng)(如Linux、Windows等宏內(nèi)核架構(gòu))的可擴(kuò)展性受到鎖競(jìng)爭(zhēng)與Cache (高速緩沖存儲(chǔ)器)缺失的限制。以類NUMA結(jié)構(gòu)多核處理器為例。類NUMA結(jié)構(gòu)處理器的特點(diǎn)是不同核心(或核組)非共享Cache,核(或核組)間Cache易于缺失,因而核(或核組)間的內(nèi)存訪問(wèn)效率較低,這給操作系統(tǒng)的設(shè)計(jì)帶來(lái)了困難,目前面向該結(jié)構(gòu)的已有傳統(tǒng)多核操作系統(tǒng)性能較低。在未來(lái)處理器核數(shù)增長(zhǎng)的情況下,操作系統(tǒng)還需依賴于調(diào)整鎖粒度以適應(yīng)新的處理器,鎖設(shè)計(jì)的復(fù)雜度與開(kāi)銷都將隨之進(jìn)一步增大,使設(shè)計(jì)周期更長(zhǎng),性能與可擴(kuò)展能力進(jìn)一步受到限制??梢?jiàn),對(duì)于復(fù)雜結(jié)構(gòu)多核處理器,設(shè)計(jì)傳統(tǒng)多核操作系統(tǒng)的工作量大,性能提高也較為有限。因此,需要有一種新的操作系統(tǒng)設(shè)計(jì)方法,以適應(yīng)未來(lái)核數(shù)迅速增長(zhǎng),真正將硬件性能增長(zhǎng)轉(zhuǎn)化為操作系統(tǒng)性能提高。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)中存在上述缺陷,提供一種適應(yīng)復(fù)雜多核處理器核數(shù)增長(zhǎng)的操作系統(tǒng)設(shè)計(jì)方法。根據(jù)本發(fā)明,提供了一種多核處理器操作系統(tǒng)設(shè)計(jì)方法,其包括:第一步驟:用于建立基于資源劃分的多系統(tǒng)架構(gòu);第二步驟:用于建立全局資源管理機(jī)制。優(yōu)選地,在第一步驟中,將處理器和內(nèi)存按照同構(gòu)和緊耦合的原則進(jìn)行劃分,以使得每個(gè)核單獨(dú)運(yùn)行一份操作系統(tǒng)鏡像,并且每個(gè)核獨(dú)立擁有部分CPU核資源和所劃分的內(nèi)存資源。優(yōu)選地,在第一步驟中,設(shè)備資源根據(jù)資源類型劃分使用或通過(guò)設(shè)備虛擬化共享給多個(gè)操作系統(tǒng)鏡像。優(yōu)選地,在第二步驟中,在多個(gè)操作系統(tǒng)鏡像的基礎(chǔ)上,通過(guò)內(nèi)核數(shù)據(jù)分布式共享方式,將操作系統(tǒng)核心數(shù)據(jù)共享為多個(gè)操作系統(tǒng)鏡像可見(jiàn),并且通過(guò)應(yīng)用一致性協(xié)議來(lái)保證多個(gè)操作系統(tǒng)鏡像之間核心數(shù)據(jù)的一致性。優(yōu)選地,在第二步驟中,通過(guò)網(wǎng)絡(luò)虛擬化和遠(yuǎn)程通信接口封裝在多個(gè)操作系統(tǒng)鏡像之間建立統(tǒng)一和透明的通信機(jī)制。優(yōu)選地,在第二步驟中,通過(guò)內(nèi)核數(shù)據(jù)分布式共享技術(shù)及遠(yuǎn)程通信接口封裝技術(shù)等建立起的全局資源管理機(jī)制,將分布的多個(gè)操作系統(tǒng)鏡像統(tǒng)一起來(lái),對(duì)外體現(xiàn)為單一操作系統(tǒng)映像。根據(jù)本發(fā)明的多核處理器操作系統(tǒng)設(shè)計(jì)方法的優(yōu)點(diǎn)在于能夠充分利用多核資源并達(dá)到較好的可擴(kuò)展性,該方法通過(guò)數(shù)據(jù)分布合理規(guī)避了鎖競(jìng)爭(zhēng)以及Cache缺失等限制,創(chuàng)造出一種新的操作系統(tǒng)可擴(kuò)展途徑。采用該設(shè)計(jì)方法實(shí)現(xiàn)的多核操作系統(tǒng)具有良好的性能和可擴(kuò)展性,該操作系統(tǒng)設(shè)計(jì)方法能夠適應(yīng)未來(lái)核數(shù)迅速增長(zhǎng)的復(fù)雜多核處理器,將硬件性能增長(zhǎng)轉(zhuǎn)化為操作系統(tǒng)性能提高。
結(jié)合附圖,并通過(guò)參考下面的詳細(xì)描述,將會(huì)更容易地對(duì)本發(fā)明有更完整的理解并且更容易地理解其伴隨的優(yōu)點(diǎn)和特征,其中:圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的多核處理器操作系統(tǒng)設(shè)計(jì)方法的流程圖。圖2示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的多核處理器操作系統(tǒng)設(shè)計(jì)方法的具體示例的示意圖。需要說(shuō)明的是,附圖用于說(shuō)明本發(fā)明,而非限制本發(fā)明。注意,表示結(jié)構(gòu)的附圖可能并非按比例繪制。并且,附圖中,相同或者類似的元件標(biāo)有相同或者類似的標(biāo)號(hào)。
具體實(shí)施例方式為了使本發(fā)明的內(nèi)容更加清楚和易懂,下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明的內(nèi)容進(jìn)行詳細(xì)描述。本發(fā)明基于“分而治之再合而為一”的思想,提出并設(shè)計(jì)了一種適應(yīng)復(fù)雜多核處理器核數(shù)增長(zhǎng)的多核操作系統(tǒng)設(shè)計(jì)方法。該方法的設(shè)計(jì)思路來(lái)源于分布式計(jì)算,具體思路為首先將操作系統(tǒng)分割成彼此相對(duì)獨(dú)立的各子系統(tǒng),彼此基于消息通信,然后松散耦合成數(shù)據(jù)一致性要求較低的整體系統(tǒng)。該設(shè)計(jì)方法具體實(shí)現(xiàn)時(shí)可充分利用分布處理以及虛擬化等技術(shù)手段。具體地說(shuō),圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的多核處理器操作系統(tǒng)設(shè)計(jì)方法的流程圖。更具體地說(shuō),如圖1所示,根據(jù)本發(fā)明優(yōu)選實(shí)施例的多核處理器操作系統(tǒng)設(shè)計(jì)方法包括:第一步驟S1:用于建立基于資源劃分的多系統(tǒng)架構(gòu);具體地說(shuō),為更加靈活地使用多核資源,將處理器和內(nèi)存按照同構(gòu)和緊耦合的原則進(jìn)行劃分,以使得每個(gè)核(組)單獨(dú)運(yùn)行一份操作系統(tǒng)鏡像,并且每個(gè)核(組)獨(dú)立擁有部分CPU核資源和所劃分的內(nèi)存資源。此夕卜,優(yōu)選地,諸如網(wǎng)卡之類的除處理器與內(nèi)存之外的其它設(shè)備的設(shè)備資源則根據(jù)資源類型劃分使用或通過(guò)設(shè)備虛擬化共享給多個(gè)操作系統(tǒng)鏡像。虛擬化技術(shù)是多操作系統(tǒng)鏡像的支撐手段,虛擬機(jī)管理器統(tǒng)一管理資源的仲裁使用,能很好地保證該模式系統(tǒng)運(yùn)行的正確性、穩(wěn)定性和可靠性。第一步驟Si實(shí)現(xiàn)了 “分而治之”。
第二步驟S2:用于建立全局資源管理機(jī)制;具體地說(shuō),在多個(gè)操作系統(tǒng)鏡像的基礎(chǔ)上,通過(guò)內(nèi)核數(shù)據(jù)分布式共享方式,將操作系統(tǒng)核心數(shù)據(jù)共享為多個(gè)操作系統(tǒng)鏡像可見(jiàn),通過(guò)應(yīng)用一致性協(xié)議來(lái)保證多個(gè)操作系統(tǒng)鏡像之間核心數(shù)據(jù)的一致性;此外,優(yōu)選地,例如通過(guò)網(wǎng)絡(luò)虛擬化和遠(yuǎn)程通信接口封裝或者其它適當(dāng)技術(shù),在多個(gè)操作系統(tǒng)鏡像之間建立統(tǒng)一和透明的通信機(jī)制,即將分布的多個(gè)操作系統(tǒng)鏡像統(tǒng)一起來(lái),對(duì)外體現(xiàn)為單一操作系統(tǒng)映像。基于上述技術(shù)手段建立起全局資源管理機(jī)制,將分布的多個(gè)操作系統(tǒng)鏡像統(tǒng)一起來(lái),對(duì)外體現(xiàn)為單一操作系統(tǒng)映像。第二步驟S2實(shí)現(xiàn)了 “合而為一”。下文將參考圖2以類NUMA結(jié)構(gòu)多核處理器為例,詳細(xì)描述根據(jù)本發(fā)明優(yōu)選實(shí)施例的多核處理器操作系統(tǒng)設(shè)計(jì)方法。圖2示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的多核處理器操作系統(tǒng)設(shè)計(jì)方法的具體示例的示意圖。具體地說(shuō),在第一步驟中,建立基于資源劃分的多系統(tǒng)架構(gòu)。將處理器和內(nèi)存按照同構(gòu)和緊耦合的原則進(jìn)行劃分,使得第一處理器核組CGO (CG,core group)單獨(dú)運(yùn)行第一操作系統(tǒng)鏡像0S0,第二處理器核組CGl單獨(dú)運(yùn)行第二操作系統(tǒng)鏡像0S1,第三處理器核組CG2單獨(dú)運(yùn)行第三操作系統(tǒng)鏡像0S2,第四處理器核組CG3單獨(dú)運(yùn)行第四操作系統(tǒng)鏡像0S3 ;而且,第一處理器核組CGO獨(dú)立擁有第一內(nèi)存區(qū)域MO,第二處理器核組CGl獨(dú)立擁有第二內(nèi)存區(qū)域M1,第三處理器核組CG2獨(dú)立擁有第三內(nèi)存區(qū)域M2,第四處理器核組CG3獨(dú)立擁有第四內(nèi)存區(qū)域M3 ;再者,四個(gè)操作系統(tǒng)鏡像OS (第一操作系統(tǒng)鏡像0S1、第二操作系統(tǒng)鏡像0S1、第三操作系統(tǒng)鏡像0S2和第四操作系統(tǒng)鏡像0S3)根據(jù)不同設(shè)備資源的特征,劃分或共享的使用設(shè)備資源;最后,四個(gè)操作系統(tǒng)鏡像分別擁有用于統(tǒng)一管理資源的第一虛擬機(jī)管理器VMMO、第二虛擬機(jī)管理器VMMl、第三虛擬機(jī)管理器VMM2和第四虛擬機(jī)管理器VMM3。在第二步驟中,建立全局資源管理機(jī)制??梢栽诘谝徊僮飨到y(tǒng)鏡像0S1、第二操作系統(tǒng)鏡像0S1、第三操作系統(tǒng)鏡像0S2和第四操作系統(tǒng)鏡像0S3的基礎(chǔ)上,通過(guò)內(nèi)核數(shù)據(jù)分布式共享方式,將操作系統(tǒng)核心數(shù)據(jù)共享為多個(gè)操作系統(tǒng)鏡像可見(jiàn),其中通過(guò)應(yīng)用一致性協(xié)議來(lái)保證多個(gè)操作系統(tǒng)鏡像之間核心數(shù)據(jù)的一致性;此外,通過(guò)網(wǎng)絡(luò)虛擬化和遠(yuǎn)程通信接口封裝,在多個(gè)操作系統(tǒng)鏡像之間建立統(tǒng)一和透明的通信機(jī)制。全局資源管理(進(jìn)程,內(nèi)存,設(shè)備)將分布的多個(gè)操作系統(tǒng)鏡像統(tǒng)一起來(lái),對(duì)外體現(xiàn)為單一操作系統(tǒng)映像。由此,即使第一用戶O、第二用戶1、第三用戶2和第四用戶3分別占用第一處理器核組CG0、第二處理器核組CG1、第三處理器核組CG2和第四處理器核組CG3,而第一處理器核組CG0、第二處理器核組CG1、第三處理器核組CG2和第四處理器核組CG3分別單獨(dú)運(yùn)行第一操作系統(tǒng)鏡像0S0、第二操作系統(tǒng)鏡像0S1、第三操作系統(tǒng)鏡像0S2和第四操作系統(tǒng)鏡像0S3,多核處理器整體也對(duì)第一用戶O、第二用戶1、第三用戶2和第四用戶3體現(xiàn)為單一操作系統(tǒng)。根據(jù)本發(fā)明優(yōu)選實(shí)施例的多核處理器操作系統(tǒng)設(shè)計(jì)方法的優(yōu)點(diǎn)在于能夠充分利用多核資源并達(dá)到較好的可擴(kuò)展性。該方法通過(guò)數(shù)據(jù)分布合理規(guī)避了鎖競(jìng)爭(zhēng)以及Cache缺失等限制,創(chuàng)造出一種新的操作系統(tǒng)可擴(kuò)展途徑。實(shí)際測(cè)試表明,用該設(shè)計(jì)方法實(shí)現(xiàn)的多核操作系統(tǒng)具有良好的性能和可擴(kuò)展性,該操作系統(tǒng)設(shè)計(jì)方法能夠適應(yīng)未來(lái)核數(shù)迅速增長(zhǎng)的復(fù)雜多核處理器,將硬件性能增長(zhǎng)轉(zhuǎn)化為操作系統(tǒng)性能提高。此外,需要說(shuō)明的是,除非特別指出,否則說(shuō)明書(shū)中的術(shù)語(yǔ)“第一”、“第二”、“第三”等描述僅僅用于區(qū)分說(shuō)明書(shū)中的各個(gè)組件、元素、步驟等,而不是用于表示各個(gè)組件、元素、步驟之間的邏輯關(guān)系或者順序關(guān)系等??梢岳斫獾氖?,雖然本發(fā)明已以較佳實(shí)施例披露如上,然而上述實(shí)施例并非用以限定本發(fā)明。對(duì)于任何熟悉本領(lǐng)域的技術(shù)人員而言,在不脫離本發(fā)明技術(shù)方案范圍情況下,都可利用上述揭示的技術(shù)內(nèi)容對(duì)本發(fā)明技術(shù)方案作出許多可能的變動(dòng)和修飾,或修改為等同變化的等效實(shí)施例。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所做的任何簡(jiǎn)單修改、等同變化及修飾,均仍屬于本發(fā)明技術(shù)方案保護(hù)的范圍內(nèi)。
權(quán)利要求
1.一種多核處理器操作系統(tǒng)設(shè)計(jì)方法,其特征在于包括: 第一步驟:用于建立基于資源劃分的多系統(tǒng)架構(gòu); 第二步驟:用于建立全局資源管理機(jī)制。
2.根據(jù)權(quán)利要求1所述的多核處理器操作系統(tǒng)設(shè)計(jì)方法,其特征在于,在第一步驟中,將處理器和內(nèi)存按照同構(gòu)和緊耦合的原則進(jìn)行劃分,以使得每個(gè)核單獨(dú)運(yùn)行一份操作系統(tǒng)鏡像,并且每個(gè)核獨(dú)立擁有部分CPU核資源和所劃分的內(nèi)存資源。
3.根據(jù)權(quán)利要求2所述的多核處理器操作系統(tǒng)設(shè)計(jì)方法,其特征在于,在第一步驟中,設(shè)備資源根據(jù)資源類型劃分使用或通過(guò)設(shè)備虛擬化共享給多個(gè)操作系統(tǒng)鏡像。
4.根據(jù)權(quán)利要求2或3所述的多核處理器操作系統(tǒng)設(shè)計(jì)方法,其特征在于,在第二步驟中,在多個(gè)操作系統(tǒng)鏡像的基礎(chǔ)上,通過(guò)內(nèi)核數(shù)據(jù)分布式共享方式,將操作系統(tǒng)核心數(shù)據(jù)共享為多個(gè)操作系統(tǒng)鏡像可見(jiàn),并且通過(guò)應(yīng)用一致性協(xié)議來(lái)保證多個(gè)操作系統(tǒng)鏡像之間核心數(shù)據(jù)的一致性。
5.根據(jù)權(quán)利要求2或3所述的多核處理器操作系統(tǒng)設(shè)計(jì)方法,其特征在于,在第二步驟中,通過(guò)網(wǎng)絡(luò)虛擬化和遠(yuǎn)程通信接口封裝等技術(shù),在多操作系統(tǒng)之間建立統(tǒng)一和透明的通信機(jī)制。
6.根據(jù)權(quán)利要求4或5所述的多核處理器操作系統(tǒng)設(shè)計(jì)方法,其特征在于,在第二步驟中,通過(guò)內(nèi)核數(shù)據(jù)分布式共享技術(shù)及遠(yuǎn)程通信接口封裝技術(shù)等建立起的全局資源管理機(jī)制,將分布的多操作系統(tǒng)統(tǒng)一起來(lái),對(duì)外體現(xiàn)為單一操作系統(tǒng)映像。
全文摘要
一種多核處理器操作系統(tǒng)設(shè)計(jì)方法,包括第一步驟,用于建立基于資源劃分的多系統(tǒng)架構(gòu);第二步驟,用于建立全局資源管理機(jī)制。在第一步驟中,將處理器和內(nèi)存按照同構(gòu)和緊耦合的原則進(jìn)行劃分,以使得每個(gè)核單獨(dú)運(yùn)行一份操作系統(tǒng)鏡像,并且每個(gè)核獨(dú)立擁有部分CPU核資源和所劃分的內(nèi)存資源;設(shè)備資源根據(jù)資源類型劃分使用或通過(guò)設(shè)備虛擬化共享給多個(gè)操作系統(tǒng)鏡像。在第二步驟中,在多個(gè)操作系統(tǒng)鏡像的基礎(chǔ)上,通過(guò)內(nèi)核數(shù)據(jù)分布式共享技術(shù)及遠(yuǎn)程通信接口封裝技術(shù)等,建立起全局資源管理機(jī)制,將分布的多操作系統(tǒng)統(tǒng)一起來(lái),對(duì)外體現(xiàn)為單一操作系統(tǒng)映像。
文檔編號(hào)G06F9/50GK103150217SQ20131010400
公開(kāi)日2013年6月12日 申請(qǐng)日期2013年3月27日 優(yōu)先權(quán)日2013年3月27日
發(fā)明者梁榮曉, 郭毅, 石良軍, 于穎超, 劉了 申請(qǐng)人:無(wú)錫江南計(jì)算技術(shù)研究所