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

操作系統(tǒng)解耦的異構(gòu)計(jì)算的制作方法

文檔序號(hào):6495515閱讀:302來源:國(guó)知局
操作系統(tǒng)解耦的異構(gòu)計(jì)算的制作方法
【專利摘要】本發(fā)明描述了異構(gòu)處理系統(tǒng),該異構(gòu)處理系統(tǒng)提供軟件管理程序以跨大核和小核來自主地控制操作系統(tǒng)線程調(diào)度,而無需操作系統(tǒng)知曉或參與,以提高能量效率或滿足其他處理目標(biāo)。該系統(tǒng)向操作系統(tǒng)呈現(xiàn)虛擬化計(jì)算核的有限集,其中系統(tǒng)將線程調(diào)度到這些虛擬化計(jì)算核以供執(zhí)行。隨后,管理程序智能地控制對(duì)于哪個(gè)或哪些核執(zhí)行每一線程進(jìn)行物理分配和選擇,以管理能量使用或其他處理要求。通過使用軟件管理程序來抽象底層的大和小的計(jì)算機(jī)體系結(jié)構(gòu),這些核之間的性能和功率操作差異保持對(duì)操作系統(tǒng)不透明。該固有的間接性還將具有新能力的硬件的發(fā)行與操作系統(tǒng)發(fā)行時(shí)間表解耦。
【專利說明】操作系統(tǒng)解耦的異構(gòu)計(jì)算
[0001]背景
[0002]從移動(dòng)電話到數(shù)據(jù)中心,能量效率越來越成為重要的區(qū)別之處。顧客愿意為更持久的移動(dòng)設(shè)備體驗(yàn)支付額外費(fèi)用,而且渴望從這些相同設(shè)備獲取提升的性能。在該規(guī)模的另一端,數(shù)據(jù)中心繼續(xù)擴(kuò)大計(jì)算能力,然而面臨對(duì)于什么可被有效地冷卻的熱限制。另外,公眾越來越意識(shí)到能量使用和能量使用的環(huán)境影響。因此,在許多類型的計(jì)算系統(tǒng)中,對(duì)能力進(jìn)行高效使用是較高優(yōu)先級(jí)的設(shè)計(jì)目標(biāo)。
[0003]這些技術(shù)上相對(duì)的議程(給予更多性能但使用更少功率)導(dǎo)致使用異構(gòu)設(shè)計(jì)來進(jìn)行工業(yè)實(shí)驗(yàn),異構(gòu)設(shè)計(jì)中在單個(gè)系統(tǒng)或硅芯片內(nèi),“大”計(jì)算核緊密耦合有“小”計(jì)算核,在這里被稱為異構(gòu)核或處理。大核(big core)被設(shè)計(jì)成以較大功率包絡(luò)提供高性能,而小核(little core)被設(shè)計(jì)成以較小功率包絡(luò)提供較低性能。常規(guī)做法是操作系統(tǒng)的調(diào)度器隨后將取決于工作負(fù)載來在大核或小核上選擇性地調(diào)度線程。在一天中至少某些時(shí)間期間,操作系統(tǒng)可能能夠完全關(guān)閉大核并且依賴省電的小核。
[0004]大核和小核可以或可以不共享相同指令集或特征。例如,小核可包括精簡(jiǎn)指令集或涉及由操作系統(tǒng)作出進(jìn)一步?jīng)Q定以在兼容核上調(diào)度進(jìn)程的其他不同。一個(gè)傳統(tǒng)示例是包括中央處理單、元(CPU)和圖形處理單元(GPU)且在其空閑或未被充分利用時(shí)允許GPU被用于計(jì)算任務(wù)的系統(tǒng)。
[0005]現(xiàn)有和當(dāng)前的解決方案取決于修改操作系統(tǒng)內(nèi)核,以便“啟發(fā)”操作系統(tǒng)有大核和小核存在、它們相應(yīng)的性能和功率特性、以及操作系統(tǒng)可監(jiān)視系統(tǒng)中的哪些設(shè)施(例如,CPU性能計(jì)數(shù)器、高速緩存未命中/命中計(jì)數(shù)器、總線活動(dòng)計(jì)數(shù)器等)來確定在哪個(gè)或哪些核上調(diào)度特定線程。這一方法具有若干缺點(diǎn):1)該方法涉及針對(duì)所有被支持的操作系統(tǒng)修改內(nèi)核,2)該方法需要經(jīng)修改的內(nèi)核跨潛在不同的體系結(jié)構(gòu)(例如,支持N個(gè)不同實(shí)現(xiàn))來理解大/小設(shè)計(jì)中的不同,以及3)該方法將操作系統(tǒng)內(nèi)核的發(fā)行時(shí)間表與底層計(jì)算機(jī)體系結(jié)構(gòu)緊密地耦合。于是,計(jì)算機(jī)體系結(jié)構(gòu)的改變涉及在內(nèi)核能支持市場(chǎng)上的新核(或反之亦然)之前,等待下一所調(diào)度的操作系統(tǒng)發(fā)行(即,可能若干年或更久)。

【發(fā)明內(nèi)容】

[0006]本文描述了異構(gòu)處理系統(tǒng),該異構(gòu)處理系統(tǒng)提供軟件管理程序以跨大核和小核來自主地控制操作系統(tǒng)線程調(diào)度,而無需操作系統(tǒng)知曉或參與,以提高能量效率或滿足其他處理目標(biāo)。該系統(tǒng)向操作系統(tǒng)呈現(xiàn)虛擬化計(jì)算核的有限集,其中系統(tǒng)將線程調(diào)度到這些虛擬化計(jì)算核以供執(zhí)行。隨后,在表面下,管理程序智能地控制對(duì)于哪個(gè)或哪些核(大或小)執(zhí)行每一線程進(jìn)行物理分配和選擇,以管理能量使用或其他處理要求。通過使用軟件管理程序來抽象底層的大和小的計(jì)算機(jī)體系結(jié)構(gòu),這些核之間的性能和功率操作差異保持對(duì)操作系統(tǒng)不透明。該固有的間接性還將具有新能力的硬件的發(fā)行與操作系統(tǒng)發(fā)行時(shí)間表解耦。硬件供應(yīng)商可發(fā)行更新的管理程序,并且允許新硬件與供應(yīng)商選擇的任何操作系統(tǒng)版本一起工作。
[0007]提供本
【發(fā)明內(nèi)容】
是為了以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的選擇的概念。本
【發(fā)明內(nèi)容】
并不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。
【專利附圖】

【附圖說明】
[0008]圖1是示出在一個(gè)實(shí)施例中的異構(gòu)處理系統(tǒng)的各組件的框圖。
[0009]圖2是示出在一個(gè)實(shí)施例中的異構(gòu)處理系統(tǒng)用于使用異構(gòu)處理核與操作系統(tǒng)之間的管理程序來初始化具有這些核的計(jì)算設(shè)備的處理的流程圖。
[0010]圖3是示出在一個(gè)實(shí)施例中的異構(gòu)處理系統(tǒng)用于通過管理異構(gòu)處理核的管理程序來調(diào)度一個(gè)或多個(gè)處理系統(tǒng)線程的處理的流程圖。
[0011]圖4是示出在一個(gè)實(shí)施例中的異構(gòu)處理系統(tǒng)的操作環(huán)境的框圖。
[0012]詳細(xì)描述
[0013]本文描述了異構(gòu)處理系統(tǒng),該異構(gòu)處理系統(tǒng)提供軟件管理程序以跨大核和小核來自主地控制操作系統(tǒng)線程調(diào)度,而無需操作系統(tǒng)知曉或參與來提高能量效率或滿足其他處理目標(biāo)。該系統(tǒng)向操作系統(tǒng)呈現(xiàn)虛擬化計(jì)算核的有限集,其中系統(tǒng)將線程調(diào)度到這些虛擬核計(jì)算核以供執(zhí)行。隨后,在表面下,管理程序智能地控制對(duì)于哪個(gè)或哪些核(大或小)執(zhí)行每一線程進(jìn)行物理分配和選擇,以管理能量使用或其他處理要求。通過使用軟件管理程序來抽象底層的大和小的計(jì)算機(jī)體系結(jié)構(gòu),這些核之間的性能和功率操作差異保持對(duì)操作系統(tǒng)不透明。該固有的間接性還將具有新能力的硬件的發(fā)行與操作系統(tǒng)發(fā)行時(shí)間表解耦。硬件供應(yīng)商可發(fā)行更新的管理程序,并且允許新硬件與供應(yīng)商選擇的任何操作系統(tǒng)版本一起工作。
[0014]管理程序?qū)崿F(xiàn)被緊密地耦合到底層計(jì)算機(jī)體系結(jié)構(gòu),并且使用可用的系統(tǒng)反饋(例如,CPU利用率、總線/高速緩存活動(dòng)等)來自主地為所請(qǐng)求的工作負(fù)載分配適當(dāng)?shù)暮?。這一方法允許底層計(jì)算機(jī)體系結(jié)構(gòu)與軟件管理程序協(xié)作來頻繁改變,并且將這一進(jìn)展與上述操作系統(tǒng)解耦。異構(gòu)處理系統(tǒng)提供簡(jiǎn)單、粗粒度的功率管理,而無需修改操作系統(tǒng)內(nèi)核本身。由此,異構(gòu)處理系統(tǒng)允許更迅速的硬件革新,且允許現(xiàn)有數(shù)據(jù)中心和其他安裝如今從可用的異構(gòu)處理硬件中受益。
[0015]異構(gòu)計(jì)算是工業(yè)中的新興領(lǐng)域,其目標(biāo)是基于系統(tǒng)中可用的不同類型的計(jì)算核(例如,CPU、GPU、加速器等)來優(yōu)化工作負(fù)載的執(zhí)行。優(yōu)化可以是性能、功率、等待時(shí)間或其他目標(biāo)。盡管適用于這些更一般的情況,但異構(gòu)處理系統(tǒng)在具有相同功能等效性但不同性能/功率操作特征的核的系統(tǒng)處也是可作為目標(biāo)的。通常,這些系統(tǒng)具有一個(gè)或多個(gè)大核以及一個(gè)或多個(gè)小核。這些大核通常具有深流水線、無序執(zhí)行、大高速緩存、高時(shí)鐘速度,并且使用較高泄漏處理(例如,40G)來制造。這些小核通常具有較短的流水線、較小的高速緩存、較低的時(shí)鐘速度、各種功率級(jí),并且使用低的泄漏處理(例如,40LP )來制造。
[0016]在某些實(shí)施例中,大核和小核可具有體系結(jié)構(gòu)等效性、微體系結(jié)構(gòu)等效性、全局中斷控制器、相干性和虛擬化。體系結(jié)構(gòu)等效性可包括相同的指令集體系結(jié)構(gòu)(ISA)、單指令多數(shù)據(jù)(SIMD)、浮點(diǎn)(FP)、協(xié)同處理器(co-processor)可用性、ISA擴(kuò)展。微體系結(jié)構(gòu)等效性可包括性能上的不同,但相同的可配置特征(例如,高速緩存線長(zhǎng)度)。全局中斷控制器提供管理、處理中斷以及將中斷轉(zhuǎn)發(fā)到所有核的能力。相干性意味著所有核可存取(高速緩存)來自其他核的數(shù)據(jù),并在所需時(shí)進(jìn)行轉(zhuǎn)發(fā)。虛擬化是針對(duì)切換/遷移來自/去往核的負(fù)載。
[0017]在某些實(shí)施例中,異構(gòu)處理系統(tǒng)可以能夠處理核中的微小差異。例如,不支持單指令多數(shù)據(jù)(SMD)流擴(kuò)展(SSE)(現(xiàn)在存在于四個(gè)迭代中:SSE1、SSE2、SSE3和SSE4)的小核仍然可處理其他基于Intel x86的軟件代碼。管理程序可檢測(cè)指令流中不被支持的指令,并且喚醒向其分配這些流的適當(dāng)?shù)暮?。其他指令流可在任何核上忠?shí)地操作。在某些情況下,諸如其中使用了一些不被支持的指令,管理程序可包括某一級(jí)的仿真來對(duì)可用指令集上不被支持的指令進(jìn)行仿真。例如,諸如向量數(shù)學(xué)之類的操作通??杀环纸獠⑶沂褂脴?biāo)準(zhǔn)數(shù)據(jù)指令以較低的效率來實(shí)現(xiàn)。
[0018]在操作系統(tǒng)(OS)初始化之前,軟件管理程序在設(shè)備引導(dǎo)過程期間安裝其自身。在完成指定硬件配置(即,配置存儲(chǔ)器、初始化虛擬化設(shè)施等)之后,管理程序隨后通過策略配置安裝在計(jì)算設(shè)備中的大處理核和小處理器。例如,如果設(shè)備是移動(dòng)電話,則策略可規(guī)定管理程序以最少量的可用性能來開始,并且針對(duì)電池壽命優(yōu)化;管理程序隨后會(huì)將操作系統(tǒng)線程調(diào)度到一個(gè)或多個(gè)小核。或者,如果設(shè)備是數(shù)據(jù)中心刀片,則策略可規(guī)定管理程序以最大量的可用性能來開始,并且犧牲能量效率;管理程序隨后會(huì)將操作系統(tǒng)線程調(diào)度到可用的大核一以及可能地,小核(取決于可用的熱預(yù)算)。在實(shí)現(xiàn)初始化之后,軟件管理程序加載操作系統(tǒng)引導(dǎo)管理器,該操作系統(tǒng)引導(dǎo)管理器隨后加載操作系統(tǒng)。
[0019]在運(yùn)行時(shí)期間,異構(gòu)處理系統(tǒng)向操作系統(tǒng)呈現(xiàn)虛擬化的內(nèi)核集。這些核之間的操作特性和區(qū)別對(duì)操作系統(tǒng)不透明,并且由軟件管理程序基于定義的操作策略來私下地管理。操作策略可在系統(tǒng)初始化期間被設(shè)置或在運(yùn)行時(shí)期間被動(dòng)態(tài)地設(shè)置。
[0020]管理程序使用操作策略結(jié)合可用系統(tǒng)設(shè)施(例如,CPU性能計(jì)數(shù)器、高速緩存未命中/命中計(jì)數(shù)器、總線活動(dòng)計(jì)數(shù)器等)來確定要將操作系統(tǒng)線程調(diào)度到哪些核。管理程序?qū)⑹褂迷撔畔砝斫釩PU核利用率、隨時(shí)間的趨勢(shì)、信息位置、以及輸入/輸出(I/O)模式。根據(jù)該信息,管理程序在適當(dāng)時(shí)可動(dòng)態(tài)地且推測(cè)性地跨大核和小核遷移操作系統(tǒng)線程。另夕卜,取決于系統(tǒng)實(shí)現(xiàn),管理程序還可代表操作系統(tǒng)來控制動(dòng)態(tài)頻率和電壓縮放(DFVS)。
[0021]這里是管理程序可控制的可用操作策略的取樣:最小功率(MiPo),最大性能(MaPe),最小功率、按需性能(MiPoD),以及最大性能、空閑時(shí)斷電(MaPeI)。這些中的每一者在以下段落中描述。然而,附加的、更高級(jí)的操作策略可在由任何特定實(shí)現(xiàn)選擇時(shí)被實(shí)現(xiàn)。
[0022]最小功率(MiPo)將線程調(diào)度到核的最小集合。通常這將意味著管理程序?qū)⒕€程調(diào)度到小核,并且在需要時(shí)使用DVFS針對(duì)該核來控制功率和性能操作點(diǎn)??稍谛枰獣r(shí)對(duì)附加的小核供電并且調(diào)度。
[0023]最大性能(MaPe)將線程調(diào)度到核的最大集合。通常這將意味著管理程序?qū)⒕€程調(diào)度到所有的可用核(以大核開始),并且在需要時(shí)使用DVFS針對(duì)這些核來控制功率和性能操作點(diǎn)。如可用熱預(yù)算所允許的那樣多的小核也被供電并被調(diào)度。
[0024]最小功率、按需性能(MiPoD)通常以最低可用功率狀態(tài)(例如,在一個(gè)或多個(gè)小核上)操作,但按工作負(fù)載所需來提升性能。這通常被稱為操作的“渦輪(turbo)”或“加速(boost)”模式,并且通過動(dòng)態(tài)地分配以及調(diào)度到大核來啟用。一旦完成工作負(fù)載,系統(tǒng)就返回到最小功率狀態(tài)(例如,在小核上)。
[0025]最大性能、空閑時(shí)斷電(MaPeI)通常以最大可用性能狀態(tài)來操作(例如,在一個(gè)或多個(gè)大核上),然而一旦達(dá)到空閑閾值就默許較低功率狀態(tài)。在這種情況下,空閑閾值通常不是接近零的CPU利用率,而是可以以某種Dhrystone每秒百萬條指令(DMIPS)任意地定義的,或是由策略定義的CPU利用率百分比。當(dāng)進(jìn)入空閑時(shí),管理程序動(dòng)態(tài)地分配并調(diào)度到小核,并且將未使用的大核置于待機(jī)/停放狀態(tài)。策略和/或未來的工作負(fù)載確定系統(tǒng)何時(shí)返回到最大可用性能狀態(tài)(例如,在大核上)。
[0026]圖1是示出在一個(gè)實(shí)施例中的異構(gòu)處理系統(tǒng)的各組件的框圖。系統(tǒng)100包括一個(gè)或多個(gè)中央處理單元110、操作系統(tǒng)接口組件120、虛擬核管理組件130、策略引擎組件140、策略數(shù)據(jù)存儲(chǔ)150、調(diào)度組件160、能力管理組件170、以及硬件接口組件180。這些組件中的每個(gè)都在此予以更詳細(xì)討論??稍谖挥诓僮飨到y(tǒng)與計(jì)算設(shè)備的硬件資源之間的軟件管理程序中實(shí)現(xiàn)以下組件。
[0027]一個(gè)或多個(gè)中央處理單元110包括具有異構(gòu)處理能力和功率概況(powerprofiles)的一個(gè)或多個(gè)處理核。通常,每一 CPU復(fù)合體位于單個(gè)娃模(silicon die)上,并且CPU復(fù)合體的每一核共享一個(gè)硅模。硬件可在針對(duì)各種類型的設(shè)備的各種封裝中被實(shí)現(xiàn)。例如,出于兩者之間的高效通信以及較低的功率使用,較新的移動(dòng)設(shè)備以及甚至某些新近的桌面處理器在同一芯片上包括CPU和GPU。每一 CPU復(fù)合體可包括一個(gè)或多個(gè)大核和小核。另選地或另外地,一個(gè)CPU復(fù)合體可包括所有的大核,而另一 CPU復(fù)合體包括所有的小核。這里使用的CPU復(fù)合體適用于GPU以及可執(zhí)行軟件指令的其他硬件。
[0028]操作系統(tǒng)接口組件120在管理程序與操作系統(tǒng)之間進(jìn)行通信,以接收用于向硬件資源遞送以及用于接收來自硬件資源的輸出的指令。操作系統(tǒng)可調(diào)度線程,提供指向指令流的指針(例如,程序計(jì)數(shù)器(PC)),寫入將指令傳遞到硬件的存儲(chǔ)器區(qū)域等等。操作系統(tǒng)通常在計(jì)算設(shè)備上與硬件直接交互。然而,出于各種目的,管理程序在操作系統(tǒng)與硬件之間插入間接層。通常,管理程序被用于提供虛擬化,使得多個(gè)操作系統(tǒng)可同時(shí)運(yùn)行在相同硬件上。管理程序還可被用于向操作系統(tǒng)呈現(xiàn)虛擬硬件,虛擬硬件不同于計(jì)算設(shè)備上所安裝的實(shí)際硬件。在異構(gòu)處理系統(tǒng)100的情況下,這可包括使大核和小核對(duì)操作系統(tǒng)而言看上去是一樣的。系統(tǒng)100甚至可向操作系統(tǒng)呈現(xiàn)與設(shè)備上實(shí)際存在的相比不同數(shù)量的核。
[0029]虛擬核管理組件130管理由管理程序向操作系統(tǒng)呈現(xiàn)的一個(gè)或多個(gè)虛擬核。虛擬核對(duì)于操作系統(tǒng)而言看上去像是CPU核,但虛擬核與計(jì)算設(shè)備上可用的物理硬件在特征上可以有所不同。例如,虛擬核可隱藏在處理或功率能力上與操作系統(tǒng)的差異,使得未被設(shè)計(jì)成與異構(gòu)大核和小核一起工作的操作系統(tǒng)能夠以操作系統(tǒng)被設(shè)計(jì)的方式來操作。在這些情況下,管理程序提供利用該異構(gòu)計(jì)算環(huán)境所需的任何專用編程,使得操作系統(tǒng)無需被修改。
[0030]策略引擎組件140基于可用的一個(gè)或多個(gè)中央處理單元來管理用于調(diào)度操作系統(tǒng)線程以及向操作系統(tǒng)呈現(xiàn)虛擬核的一個(gè)或多個(gè)策略。策略引擎組件140可包括專用于特定管理程序?qū)崿F(xiàn)的硬編碼策略,或者可包括可被修改以適合特定安裝目標(biāo)的管理員可配置策略。策略可確定首先調(diào)度哪些核,功率使用與處理目標(biāo)之間的折衷,如何關(guān)閉和喚醒核以節(jié)省功率、如何向操作系統(tǒng)呈現(xiàn)虛擬核等等。
[0031]策略數(shù)據(jù)存儲(chǔ)150將一個(gè)或多個(gè)策略存儲(chǔ)在管理程序在引導(dǎo)和執(zhí)行時(shí)可訪問的存儲(chǔ)設(shè)施中。策略數(shù)據(jù)存儲(chǔ)150可包括一個(gè)或多個(gè)文件、文件系統(tǒng)、硬盤驅(qū)動(dòng)器、數(shù)據(jù)庫(kù)、或用于跨系統(tǒng)100的執(zhí)行會(huì)話來持久存儲(chǔ)數(shù)據(jù)的其他存儲(chǔ)設(shè)施。在某些實(shí)施例中,管理員執(zhí)行設(shè)置步驟,該設(shè)置步驟通過配置階段使得系統(tǒng)100存儲(chǔ)策略的初始集合供管理程序使用。
[0032]調(diào)度組件160將作為線程從操作系統(tǒng)接收到的一個(gè)或多個(gè)指令流調(diào)度到計(jì)算設(shè)備上所安裝的中央處理單元中的一個(gè)或多個(gè)。調(diào)度組件從操作系統(tǒng)接收標(biāo)識(shí)虛擬核的虛擬核標(biāo)識(shí),操作系統(tǒng)請(qǐng)求將線程調(diào)度到該虛擬核。調(diào)度組件160檢查調(diào)度請(qǐng)求并且確定在其上調(diào)度要執(zhí)行的線程的物理核。例如,組件160可確定功率或處理對(duì)于該線程是否更相關(guān),并且作為響應(yīng)調(diào)度到合適的小核或大核。在某些情況下,組件160可避免將線程調(diào)度到特定核來允許那些核被斷電以節(jié)省功率。
[0033]能力管理組件170可任選地管理大處理核與小處理核之間的一個(gè)或多個(gè)差異。在某些情況下,系統(tǒng)100可僅在其中大核和小核共享相同能力的處理單元上操作,而不需要能力管理組件170。在其他情況下,系統(tǒng)100處理可用處理核之間的次要或主要差異。例如,系統(tǒng)100可監(jiān)視某些核不支持的指令,并且調(diào)度的確支持那些指令的核上的對(duì)應(yīng)線程。在更復(fù)雜的實(shí)現(xiàn)中,組件170可在小核上虛擬化或仿真大核能力(或反之亦然),以滿足功率或其他概況的目標(biāo)。
[0034]硬件接口組件180在管理程序與中央處理單元之間進(jìn)行通信,以調(diào)度軟件指令來在可用物理核上運(yùn)行。硬件接口組件180可包括對(duì)其他組件隱藏且尤其對(duì)管理程序所管理的客操作系統(tǒng)隱藏的、真實(shí)存儲(chǔ)器地址或用于訪問真實(shí)硬件的其他設(shè)施。
[0035]其上實(shí)現(xiàn)異構(gòu)處理系統(tǒng)的計(jì)算設(shè)備可包括中央處理單元、存儲(chǔ)器、輸入設(shè)備(例如,鍵盤和定點(diǎn)設(shè)備)、輸出設(shè)備(例如,顯示設(shè)備)和存儲(chǔ)設(shè)備(例如,盤驅(qū)動(dòng)器或其他非易失性存儲(chǔ)介質(zhì))。存儲(chǔ)器和存儲(chǔ)設(shè)備是可以是編碼有實(shí)現(xiàn)或啟用該系統(tǒng)的計(jì)算機(jī)可執(zhí)行指令(如軟件)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。此外,數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)可被存儲(chǔ)或經(jīng)由諸如通信鏈路上的信號(hào)等數(shù)據(jù)傳輸介質(zhì)傳送。可以使用各種通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點(diǎn)對(duì)點(diǎn)撥號(hào)連接、蜂窩電話網(wǎng)絡(luò)等。
[0036]該系統(tǒng)的實(shí)施例可以在各種操作環(huán)境中實(shí)現(xiàn),這些操作環(huán)境包括個(gè)人計(jì)算機(jī)、月艮務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)電子產(chǎn)品、數(shù)碼相機(jī)、網(wǎng)絡(luò)PC、小型計(jì)算`機(jī)、大型計(jì)算機(jī)、包括上述系統(tǒng)或設(shè)備等中任一種的分布式計(jì)算環(huán)境、機(jī)頂盒、片上系統(tǒng)(SOC)等。計(jì)算機(jī)系統(tǒng)可以是蜂窩電話、個(gè)人數(shù)字助理、智能電話、個(gè)人計(jì)算機(jī)、可編程消費(fèi)電子設(shè)備、數(shù)碼相機(jī)等。
[0037]該系統(tǒng)可以在由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。通常,程序模塊的功能可在各個(gè)實(shí)施例中按需進(jìn)行組合或分布。
[0038]圖2是示出在一個(gè)實(shí)施例中的異構(gòu)處理系統(tǒng)用于使用異構(gòu)處理核與操作系統(tǒng)之間的管理程序來初始化具有這些核的計(jì)算設(shè)備的處理的流程圖。
[0039]在框210開始,系統(tǒng)接收啟動(dòng)請(qǐng)求以初始化計(jì)算設(shè)備。例如,基本輸入/輸出系統(tǒng)(BIOS)、可擴(kuò)展固件接口(EFI)、引導(dǎo)加載器、或其他初始設(shè)備軟件可加載并調(diào)用實(shí)現(xiàn)異構(gòu)計(jì)算系統(tǒng)的管理程序。在某些情況下,管理員會(huì)在先前已執(zhí)行安裝階段以便將管理程序安裝在計(jì)算設(shè)備上,盡管系統(tǒng)也可支持網(wǎng)絡(luò)引導(dǎo)以及其他通常為計(jì)算設(shè)備提供的非安裝場(chǎng)

-5^ O
[0040]在框220繼續(xù),系統(tǒng)枚舉計(jì)算設(shè)備的兩個(gè)或更多個(gè)物理處理核。在某些實(shí)現(xiàn)中,至少兩個(gè)核提供不同的性能和功率使用特性。然而,當(dāng)不存在不對(duì)稱的情況下,也可使用該系統(tǒng)。例如,使用針對(duì)功率管理的軟件管理程序在以下場(chǎng)景中仍然適用:其中模具中具有N個(gè)物理CPU,但基于諸如環(huán)境溫度、機(jī)殼形狀因數(shù)、可用功率的成本之類的外在性,僅有K個(gè)可被操作。在引導(dǎo)時(shí),管理程序可使用這一“策略”信息向操作系統(tǒng)報(bào)告K個(gè)核的虛擬化集合,并且這可根據(jù)每一引導(dǎo)循環(huán)而變化。在這一場(chǎng)景中,管理程序會(huì)為對(duì)稱的核執(zhí)行相同的任務(wù)。系統(tǒng)可調(diào)用BIOS或其他底層以確定計(jì)算設(shè)備已安裝多少處理器以及什么類型的處理器,并且可執(zhí)行CPUID或其他類似指令以確定與處理器的處理能力有關(guān)的信息。在某些實(shí)施例中,系統(tǒng)可包括可擴(kuò)展性接口,通過可擴(kuò)展性接口能夠?qū)崿F(xiàn)驅(qū)動(dòng)程序或其他管理程序的擴(kuò)展,并且可擴(kuò)展性接口可由管理程序制造者或第三方添加以便為管理程序添加對(duì)新的處理硬件的支持,而不必更新管理程序本身。
[0041]在框230繼續(xù),系統(tǒng)確定每一所枚舉的處理核的能力。這些能力可包括每一核所提供的一個(gè)或多個(gè)功率概況,每一核所支持的一個(gè)或多個(gè)指令,每一核的性能特性等等。系統(tǒng)可利用核自身的信息接口(諸如先前提到的CPWD指令)或者由驅(qū)動(dòng)程序或其他擴(kuò)展提供給管理程序的信息,來確定每一核的能力。系統(tǒng)使用所確定的能力來向每一核分配與該核兼容的線程,并且以與收到策略和處理目標(biāo)一致的方式來執(zhí)行調(diào)度。
[0042]在框240繼續(xù),系統(tǒng)標(biāo)識(shí)一個(gè)或多個(gè)操作系統(tǒng),管理程序?qū)樵撘粋€(gè)或多個(gè)操作系統(tǒng)管理針對(duì)所枚舉的物理核的訪問和調(diào)度。系統(tǒng)可訪問硬盤驅(qū)動(dòng)器、閃存驅(qū)動(dòng)器、或計(jì)算設(shè)備的其他存儲(chǔ),以確定在管理程序被初始化之后要調(diào)用哪個(gè)操作系統(tǒng)。管理程序可使用與各個(gè)操作系統(tǒng)有關(guān)的信息來設(shè)計(jì),并且可包括可擴(kuò)展性,使得新的操作系統(tǒng)可被支持,而無需更新管理程序本身。每一操作系統(tǒng)和操作系統(tǒng)版本可具有不同的調(diào)度語義或其他細(xì)微差別,管理程序處理這些不同的調(diào)度語義或其他細(xì)微差別以允許操作系統(tǒng)正確地在虛擬化處理資源上執(zhí)行。在某些情況下,可向管理程序請(qǐng)求允許多個(gè)操作系統(tǒng)共享所枚舉的物理處理核,并且策略可指示該共享是如何被處理的。
[0043]在框250繼續(xù),系統(tǒng)訪問管理程序策略信息,該管理程序策略信息指定用于在所枚舉的物理處理核上調(diào)度操作系統(tǒng)線程的一個(gè)或多個(gè)目標(biāo)。這些目標(biāo)可包括性能目標(biāo),功率使用目標(biāo),或用于確定要在哪個(gè)或那些核上執(zhí)行操作系統(tǒng)線程的其他指引。策略可被存儲(chǔ)在與計(jì)算設(shè)備相關(guān)聯(lián)的存儲(chǔ)設(shè)備中,被硬編碼到管理程序?qū)崿F(xiàn)中等等。管理程序可通過提供給管理員的管理界面來接收對(duì)策略的更新。
[0044]在框260繼續(xù),系統(tǒng)創(chuàng)建一個(gè)或多個(gè)虛擬核以便展示給所標(biāo)識(shí)的操作系統(tǒng),其中每一虛擬核將操作系統(tǒng)與所確定的、物理處理核之間在能力上的差別相隔離。例如,異構(gòu)處理系統(tǒng)可將兩個(gè)或更多個(gè)大核和小核作為單個(gè)類型的統(tǒng)一虛擬核呈現(xiàn)給操作系統(tǒng)。在從操作系統(tǒng)接收到在虛擬核上執(zhí)行線程的調(diào)度請(qǐng)求后,系統(tǒng)基于所訪問的管理程序策略來確定要為該作業(yè)選擇哪個(gè)物理核。管理程序策略可指定管理程序呈現(xiàn)與物理核相比不同數(shù)量的虛擬核,諸如當(dāng)目標(biāo)是能夠使至少某一較高功率需求的核無縫地?cái)嚯娨灾С质褂幂^低功率需求的核的情況?;蛘?,系統(tǒng)仍然可使操作系統(tǒng)知曉的核斷電,但在操作系統(tǒng)選擇使用它們或使用由較低功率的核無法單獨(dú)滿足的一定量的核情況下喚醒這些核。
[0045]在框270繼續(xù),系統(tǒng)調(diào)用所標(biāo)識(shí)的操作系統(tǒng),并且向操作系統(tǒng)呈現(xiàn)所創(chuàng)建的虛擬核,同時(shí)將所標(biāo)識(shí)的操作系統(tǒng)與所枚舉的物理處理核相隔離。調(diào)用操作系統(tǒng)可包括調(diào)用操作系統(tǒng)加載器,并且呈現(xiàn)管理程序來代替通常的BIOS或操作系統(tǒng)下面的其他層。如這里描述的,操作系統(tǒng)像它正在物理硬件上直接運(yùn)行那樣操作,但管理程序位于操作系統(tǒng)與物理硬件之間以執(zhí)行調(diào)度邏輯,而無需操作系統(tǒng)知道。在框270之后,這些步驟結(jié)束。
[0046]圖3是不出在一個(gè)實(shí)施例中的異構(gòu)處理系統(tǒng)用于通過管理異構(gòu)處理核的管理程序來調(diào)度一個(gè)或多個(gè)處理系統(tǒng)線程的處理的流程圖。
[0047]在框310開始,系統(tǒng)從操作系統(tǒng)接收對(duì)于在管理程序所呈現(xiàn)的標(biāo)識(shí)出的虛擬核上運(yùn)行線程的指令的線程調(diào)度請(qǐng)求,其中虛擬核將操作系統(tǒng)與計(jì)算設(shè)備可訪問的兩個(gè)或更多個(gè)物理處理核之間的一個(gè)或多個(gè)能力差別相隔離。操作系統(tǒng)通常包括針對(duì)每一所檢測(cè)的處理核的空閑循環(huán),其中操作系統(tǒng)可調(diào)度并放置操作系統(tǒng)想在該核上運(yùn)行的任何指令。操作系統(tǒng)可以對(duì)要在特定處理核上運(yùn)行的多個(gè)應(yīng)用線程進(jìn)行時(shí)間片操作。不管操作系統(tǒng)選擇用于執(zhí)行線程的特定虛擬核如何,管理程序可根據(jù)一個(gè)或多個(gè)管理程序策略來選擇任何特定的物理處理核以執(zhí)行該線程。
[0048]在框320繼續(xù),系統(tǒng)確定接收到的調(diào)度請(qǐng)求的處理需求。例如,系統(tǒng)可確定被調(diào)度的線程所使用的特定指令集(例如,一個(gè)或多個(gè)指令集擴(kuò)展、協(xié)同處理器、或其他能力是否被請(qǐng)求),該線程的性能要求,該線程是否適于以較低功率使用的較慢執(zhí)行,該線程是否可被延遲直到附加處理資源可用等等。系統(tǒng)可使用與特定操作系統(tǒng)或通過策略接收到的指令有關(guān)的專用知識(shí)來確定特定線程的處理需求。例如,系統(tǒng)可標(biāo)識(shí)與操作系統(tǒng)的內(nèi)部操作有關(guān)的線程、應(yīng)用線程等,并且根據(jù)策略來處理每一者。
[0049]在框330繼續(xù),系統(tǒng)訪問指定用于操作該設(shè)備的一個(gè)或多個(gè)目標(biāo)的調(diào)度策略。例如,策略可請(qǐng)求優(yōu)化功率使用、性能、或這兩者的組合。策略可被存儲(chǔ)在與該設(shè)備相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)中,或被硬編碼到管理程序的特定實(shí)現(xiàn)中。例如,系統(tǒng)可提供偏愛小處理核的管理程序的低功率使用版本,直到執(zhí)行高性能任務(wù)的線程被操作系統(tǒng)調(diào)度。在那時(shí),系統(tǒng)可在大核上調(diào)度高性能任務(wù),隨后在該任務(wù)完成之后指引大核休眠。
[0050]在框340繼續(xù),系統(tǒng)選擇在其上執(zhí)行與接收到的調(diào)度請(qǐng)求相關(guān)聯(lián)的線程的物理處理核,其中該選擇基于所訪問的調(diào)度策略來作出。系統(tǒng)可具有不同能力和性能/功率特性的多個(gè)可用核,系統(tǒng)可在這些核上調(diào)度線程。基于系統(tǒng)對(duì)核的選取,計(jì)算設(shè)備將使用更多或更少的功率,并且將用更多或更少的時(shí)間完成線程的執(zhí)行。工作或調(diào)度策略是為允許系統(tǒng)以提升用于管理性能、功率或計(jì)算設(shè)備的其他特性的一個(gè)或多個(gè)目標(biāo)的方式來作出選擇。移動(dòng)設(shè)備可偏好較低功率使用,而高性能服務(wù)器可偏好較高性能。在某些情況下,策略可基于一天中的時(shí)間(例如,高峰對(duì)照非高峰電力成本)或其他考量因素而不同,使得策略隨時(shí)間或基于特定條件而變化。
[0051]在框350繼續(xù),系統(tǒng)可任選地處理線程與所選擇的物理處理核之間的任何能力差另O。例如,如果線程包括所選擇的核上不可用的指令,則系統(tǒng)可仿真該指令或者用被所選擇的核支持的一個(gè)或多個(gè)等效指令來替換該指令。管理能力差別給系統(tǒng)增加了大量的復(fù)雜度,并且管理程序?qū)崿F(xiàn)者可選擇任何特定實(shí)現(xiàn)將支持的處理核之間在能力上多大或多小(如果有的話)的差別。
[0052]在框360繼續(xù),系統(tǒng)調(diào)度該線程,以在所選擇的物理處理核上執(zhí)行。系統(tǒng)還處理任何輸出并且將該輸出提供回給操作系統(tǒng),從而使該輸出看上去像是來自操作系統(tǒng)向其分配線程的虛擬核。因此,操作系統(tǒng)保持不知曉管理程序所管理的核的類型和數(shù)量,并且在沒有管理程序和異構(gòu)處理核的系統(tǒng)中使用虛擬核集合,如操作系統(tǒng)往常一樣。在框360之后,這些步驟結(jié)束。
[0053]圖4是示出在一個(gè)實(shí)施例中的異構(gòu)處理系統(tǒng)的操作環(huán)境的框圖??筒僮飨到y(tǒng)410看到由實(shí)現(xiàn)這里描述的異構(gòu)處理系統(tǒng)的軟件管理程序430所呈現(xiàn)的一個(gè)或多個(gè)虛擬處理核420。軟件管理程序430管理異構(gòu)處理硬件440,異構(gòu)處理硬件440包括全局中斷控制器450、一個(gè)或多個(gè)大核460、一個(gè)或多個(gè)小核470。注意到,盡管出于容易例示的目的而僅示出兩種核類型(大和小),但系統(tǒng)可以用任何數(shù)量的不同的核來操作。例如,某些處理器封裝可包括在功率使用和性能方面逐漸下降的若干處理存儲(chǔ)。軟件管理程序430管理異構(gòu)處理硬件440,以便將客操作系統(tǒng)410與有效地使用硬件440所需的任何專用知識(shí)或處理相隔離。因此,軟件管理程序430允許諸如客操作系統(tǒng)410之類的未經(jīng)修改的傳統(tǒng)操作系統(tǒng)利用較新的異構(gòu)處理硬件440。管理程序430可被修改以跟上硬件440改變,而操作系統(tǒng)410繼續(xù)照常操作(盡管具有越來越好的功率/性能特性)。
[0054]在某些實(shí)施例中,在線程已被執(zhí)行之后,異構(gòu)處理系統(tǒng)將該線程從一個(gè)物理處理核遷移到另一個(gè)。在某些情況下,在管理程序決定降低功耗、增加性能、或執(zhí)行其他策略目標(biāo)時(shí),一個(gè)或多個(gè)線程可能已在執(zhí)行。這些核可共享高速緩存存儲(chǔ)或其他設(shè)施,使得管理程序可將該線程遷移到另一核,而不影響該線程對(duì)數(shù)據(jù)的訪問。因此,管理程序可中斷該線程的執(zhí)行,將該線程的指令流移動(dòng)到不同的物理處理核,并且在目標(biāo)核上繼續(xù)執(zhí)行。
[0055]在某些實(shí)施例中,異構(gòu)處理系統(tǒng)采用處理器電壓和頻率修改,以便在選擇不同的核之前將功率降低至或?qū)⑿阅茉黾又烈婚撝?。例如,系統(tǒng)可在大核上開始執(zhí)行特定線程,隨后通過降低該大核的操作電壓來縮回該大核的功率使用,并且最后可將該大核的工作遷移到小核。這允許系統(tǒng)逐漸降低功率使用,以管理熱封套或滿足策略所指定的其他計(jì)算目標(biāo)。
[0056]在某些實(shí)施例中,異構(gòu)處理系統(tǒng)允許某些處理任務(wù)被遷移到云計(jì)算設(shè)施。系統(tǒng)可呈現(xiàn)任務(wù)可被調(diào)度到的云計(jì)算設(shè)施,正如另一處理核那樣。對(duì)于適當(dāng)?shù)娜蝿?wù),系統(tǒng)可能能夠?qū)⑷蝿?wù)從計(jì)算設(shè)備完全卸載,并且之后向客操作系統(tǒng)返回任務(wù)的輸出。這可允許系統(tǒng)在計(jì)算設(shè)備上進(jìn)入較低功率狀態(tài),或者將工作從高峰電力成本的數(shù)據(jù)中心轉(zhuǎn)移到較低電力成本的某一個(gè)。
[0057]在某些實(shí)施例中,異構(gòu)處理系統(tǒng)處理競(jìng)爭(zhēng)條件并且采用軟件鎖定范例來管理操作系統(tǒng)期望。在許多情況下,操作系統(tǒng)基于特定線程之間的相互依賴性或缺乏依賴性來調(diào)度線程。軟件可利用鎖、互斥、信號(hào)量、或操作系統(tǒng)所提供的其他同步原語來允許軟件代碼在具有多個(gè)同時(shí)執(zhí)行的線程的環(huán)境中正確地操作。異構(gòu)計(jì)算系統(tǒng)確保操作系統(tǒng)對(duì)線程安全的保證和其他同步被滿足,并且可按確保不引入新的競(jìng)爭(zhēng)條件或其他問題的方式來引入附加鎖或確定線程調(diào)度。
[0058]在某些實(shí)施例中,異構(gòu)處理系統(tǒng)包括硬件管理程序。盡管在本文的示例中已使用軟件管理程序,但本領(lǐng)域一般技術(shù)人員將認(rèn)識(shí)到為實(shí)現(xiàn)計(jì)算任務(wù)而對(duì)硬件或軟件的選取通常是可被切換以滿足性能或其他目標(biāo)的實(shí)現(xiàn)細(xì)節(jié)。因此,系統(tǒng)可以用硬件管理程序來實(shí)現(xiàn),并且某些處理單元可被制造以便將系統(tǒng)包括在處理單元自身中。
[0059]從前面的描述中可以看出,可以理解,此處描述的異構(gòu)處理系統(tǒng)的特定實(shí)施例只是為了說明,但是,在不偏離本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種修改。因此,本發(fā)明只受所附權(quán)利要求限制。
【權(quán)利要求】
1.一種用于通過管理異構(gòu)處理核的管理程序來調(diào)度一個(gè)或多個(gè)操作系統(tǒng)線程的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括: 從操作系統(tǒng)接收對(duì)于在管理程序所呈現(xiàn)的標(biāo)識(shí)出的虛擬核上運(yùn)行線程的指令的線程調(diào)度請(qǐng)求,其中所述虛擬核將操作系統(tǒng)與計(jì)算設(shè)備可訪問的物理處理核之間的一個(gè)或多個(gè)能力差別相隔離; 確定接收到的調(diào)度請(qǐng)求的一個(gè)或多個(gè)處理需求; 訪問指定用于操作所述計(jì)算設(shè)備的一個(gè)或多個(gè)目標(biāo)的調(diào)度策略; 選擇在其上執(zhí)行與接收到的調(diào)度請(qǐng)求相關(guān)聯(lián)的線程的物理處理核,其中該選擇基于所訪問的調(diào)度策略來作出;以及 調(diào)度所述線程以在所選擇的物理處理核上執(zhí)行。
2.如權(quán)利要求1所述的方法,其特征在于,接收線程調(diào)度請(qǐng)求包括不管操作系統(tǒng)為執(zhí)行線程而選擇的特定虛擬核如何,管理程序根據(jù)一個(gè)或多個(gè)管理程序策略來選擇任何特定的物理處理核以執(zhí)行所述線程。
3.如權(quán)利要求1所述的方法,其特征在于,確定處理需求包括確定特定指令集、可用的協(xié)同處理器、指令集擴(kuò)展、或被調(diào)度的線程所使用的體系結(jié)構(gòu)擴(kuò)展。
4.如權(quán)利要求1所述的方法,其特征在于,確定處理需求包括確定所述線程的一個(gè)或多個(gè)性能要求。
5.如權(quán)利要求1所述的 方法,其特征在于,確定處理需求包括確定所述線程是否適合于以較低功率使用的較慢執(zhí)行。
6.如權(quán)利要求1所述的方法,其特征在于,確定處理需求包括確定所述線程是否能被延遲,直到附加處理資源可用。
7.如權(quán)利要求1所述的方法,其特征在于,確定處理需求包括訪問與特定操作系統(tǒng)有關(guān)的專用知識(shí),以確定特定線程的處理需求。
8.如權(quán)利要求1所述的方法,其特征在于,訪問調(diào)度策略包括確定所述策略請(qǐng)求優(yōu)化功率使用,并且指定將線程調(diào)度到可用的較低功率的處理核。
9.如權(quán)利要求1所述的方法,其特征在于,訪問調(diào)度策略包括確定所述策略請(qǐng)求優(yōu)化性能,并且指定將線程調(diào)度到可用的較高性能的處理核。
10.如權(quán)利要求1所述的方法,其特征在于,訪問調(diào)度策略包括確定所述計(jì)算設(shè)備是具有有限可用功率的移動(dòng)設(shè)備或是具有熱限制的設(shè)備,并且通過對(duì)在其上調(diào)度線程的核的選擇來指定優(yōu)化功率使用或管理熱。
11.如權(quán)利要求1所述的方法,其特征在于,選擇所述物理處理核包括選擇系統(tǒng)能在其上調(diào)度所述線程的、具有不同能力和性能/功率特性的多個(gè)可用核中的一個(gè)。
12.如權(quán)利要求1所述的方法,其特征在于,選擇所述物理處理核包括以提升用于管理所述計(jì)算設(shè)備的性能和功率使用的一個(gè)或多個(gè)目標(biāo)的方式來作出該選擇。
13.如權(quán)利要求1所述的方法,其特征在于,還包括處理所述線程與所選擇的物理處理核之間的一個(gè)或多個(gè)能力差別。
14.如權(quán)利要求1所述的方法,其特征在于,調(diào)度所述線程以供執(zhí)行還包括處理輸出并且將所述輸出提供回給所述操作系統(tǒng),從而使所述輸出對(duì)于所述操作系統(tǒng)而言看上去像是來自所述操作系統(tǒng)向其分配所述線程的虛擬核。
15.一種用于通過管理程序來提供操作系統(tǒng)解耦的異構(gòu)計(jì)算的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括: 一個(gè)或多個(gè)處理復(fù)合體,所述一個(gè)或多個(gè)處理復(fù)合體包括具有異構(gòu)處理能力和功率概況的一個(gè)或多個(gè)處理核; 操作系統(tǒng)接口組件,所述操作系統(tǒng)接口組件在管理程序與操作系統(tǒng)之間進(jìn)行通信,以接收用于向硬件資源遞送以及用于接收來自所述硬件資源的輸出的指令,以便使不同的核對(duì)于所述操作系統(tǒng)而言看上去是一樣的; 虛擬核管理組件,所述虛擬核管理組件管理由所述管理程序向所述操作系統(tǒng)呈現(xiàn)的一個(gè)或多個(gè)虛擬核; 策略引擎組件,所述策略引擎組件基于可用的一個(gè)或多個(gè)處理復(fù)合體來管理用于調(diào)度操作系統(tǒng)線程以及向所述操作系統(tǒng)呈現(xiàn)虛擬核的一個(gè)或多個(gè)策略; 調(diào)度組件,所述調(diào)度組件將作為線程從所述操作系統(tǒng)接收到的一個(gè)或多個(gè)指令流調(diào)度到所述計(jì)算設(shè)備中所安裝的處理復(fù)合體中的一個(gè)或多個(gè);以及 硬件接口組件,所述硬件接口組件在所述管理程序與所述處理復(fù)合體之間進(jìn)行通信,以調(diào)度軟件指令來在可用物理·核上運(yùn)行。
【文檔編號(hào)】G06F9/22GK103597449SQ201280028013
【公開日】2014年2月19日 申請(qǐng)日期:2012年6月7日 優(yōu)先權(quán)日:2011年6月8日
【發(fā)明者】J·阿塞姆 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
项城市| 南召县| 乌鲁木齐县| 牙克石市| 宜川县| 鲁甸县| 类乌齐县| 宁明县| 新河县| 武夷山市| 保山市| 丰镇市| 德江县| 万年县| 四会市| 云安县| 大悟县| 河池市| 禹州市| 烟台市| 桂林市| 海兴县| 博乐市| 龙川县| 宜兴市| 澜沧| 彝良县| 隆林| 上犹县| 红河县| 大同市| 永新县| 图们市| 会东县| 原阳县| 丰原市| 个旧市| 永年县| 汝城县| 武强县| 桂平市|