專利名稱:一種在fcmp上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及運行時支持領(lǐng)域,尤其涉及一種在FCMP上支持系統(tǒng)級資源分配和任 務(wù)調(diào)度的方法及裝置。
背景技術(shù):
FCMP(Flexible-core Chip Multiprocessor,邏輯核動態(tài)可重構(gòu)的多核處理器) 是近年來提出的一類新興的多核處理器結(jié)構(gòu),其允許資源分配器(可以用硬件或軟件實 現(xiàn))根據(jù)程序的運行時特征動態(tài)地調(diào)整邏輯核的數(shù)量和粒度,為提高系統(tǒng)吞吐率和芯片資 源利用率提供了巨大的優(yōu)化空間。但是,由于現(xiàn)有的操作系統(tǒng)設(shè)計都是面向固定數(shù)目、固定粒度的多核處理器結(jié)構(gòu), 即芯片上處理器的數(shù)目和粒度在芯片設(shè)計時就已固定,因此其無法直接用于管理處理器數(shù) 目、粒度動態(tài)可變的FCMP結(jié)構(gòu)。現(xiàn)有技術(shù)的FCMP結(jié)構(gòu)主要包括美國Cornell大學提出的Core Fusion結(jié)構(gòu)和美國 Texas大學提出的TFlex結(jié)構(gòu)。Core Fusion結(jié)構(gòu)在編譯時向程序中顯式插入FUSE/SPLIT 指令,通過FUSE和SPLIT指令在運行時的執(zhí)行完成對邏輯核粒度的調(diào)整。這種結(jié)構(gòu)中,雖 然邏輯核粒度調(diào)整這個動作是在運行時進行的,但是何時、何種條件下對邏輯核粒度做調(diào) 整是在編譯時靜態(tài)決定的。因此,該結(jié)構(gòu)無法直接支持操作系統(tǒng)對芯片資源的管理。TFlex 結(jié)構(gòu)采用類數(shù)據(jù)流(EDGE)指令,可以實現(xiàn)支持芯片上任意數(shù)目的物理核構(gòu)成一個多發(fā)射 的邏輯核。此外,還有基于TFlex結(jié)構(gòu)提出的三種FCMP上邏輯核的分配算法(EQUI平均分 配算法、PDPA基于性能評估的分配算法和Profile基于程序剖析的分配算法),雖然使用低 層的運行時軟件可以實現(xiàn)這三種算法,但是,該方法只能實現(xiàn)如何在對程序透明的情況下 根據(jù)程序的運行時特征指導邏輯核粒度的調(diào)整,并不能支持FCMP上系統(tǒng)級資源分配和任 務(wù)調(diào)度。因此可以看出,現(xiàn)有的對FCMP的管理,只能實現(xiàn)在系統(tǒng)級之下的軟件層面上的初 步的資源分配,而無法實現(xiàn)系統(tǒng)級的資源分配和任務(wù)調(diào)度。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法及 裝置。其具體方案如下所述—種在多核處理器FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法,包括向上層軟件提供一組具有統(tǒng)一接口的原語,所述原語包括返回暫停原語、邏輯核 創(chuàng)建原語、上下文裝載原語、邏輯核釋放原語、上下文保存原語和繼續(xù)執(zhí)行原語;調(diào)用所述返回暫停原語,暫停FCMP上當前運行邏輯核,向上層軟件發(fā)送所述邏輯 核的標識號和粒度,所述邏輯核的標識號和粒度用于確定系統(tǒng)級任務(wù)調(diào)度決策;調(diào)用與所述任務(wù)調(diào)度相關(guān)的原語,執(zhí)行對應(yīng)的操作,完成任務(wù)調(diào)度;
調(diào)用繼續(xù)執(zhí)行原語以運行邏輯核,根據(jù)任務(wù)運行時粒度需求調(diào)整當前運行邏輯核 的粒度,直至下一次任務(wù)調(diào)度。優(yōu)選的,按照以下步驟根據(jù)粒度需求調(diào)整當前運行邏輯核的粒度判斷是否滿足執(zhí)行調(diào)整粒度的條件;當滿足所述執(zhí)行調(diào)整粒度的條件時,暫停執(zhí)行全部邏輯核;根據(jù)當前FCMP的邏輯核信息生成芯片資源位圖,標志出邏輯核在芯片上的位置 及粒度;依據(jù)所述芯片資源位圖,根據(jù)所述粒度需求調(diào)整邏輯核的粒度;啟動所有邏輯核繼續(xù)執(zhí)行。優(yōu)選的,按照以下步驟依據(jù)所述芯片資源位圖,根據(jù)所述粒度需求調(diào)整邏輯核的 粒度判斷粒度需求類型,所述粒度需求類型包括增加粒度和減小粒度;
當所述粒度需求類型為增加粒度時,根據(jù)所述芯片資源位圖判斷空閑物理核的數(shù) 量及位置是否滿足增加粒度需求,若是,則根據(jù)所述粒度需求增加對應(yīng)的邏輯核的粒度,若 否,則忽略此需求;當所述粒度需求為減小粒度時,根據(jù)所述進程的需求減小邏 輯核的粒度。優(yōu)選的,所述執(zhí)行調(diào)整粒度的條件包括到達預設(shè)時間。優(yōu)選的,所述邏輯核的標識號為運行在其上的進程標識號。一種在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的裝置,包括統(tǒng)一函數(shù)接口和芯 片資源調(diào)度器,其中所述統(tǒng)一函數(shù)接口用于,向上層軟件提供一組具有統(tǒng)一接口的原語,所述原語包 括返回暫停原語、邏輯核創(chuàng)建原語、上下文裝載原語、邏輯核釋放原語、上下文保存原語和 繼續(xù)執(zhí)行原語,調(diào)用所述返回暫停原語,暫停FCMP內(nèi)當前運行邏輯核,調(diào)用與所述任務(wù)調(diào) 度相關(guān)的原語,執(zhí)行對應(yīng)的操作,完成任務(wù)調(diào)度;所述芯片資源調(diào)度器用于,當所述統(tǒng)一函數(shù)接口調(diào)用所述返回暫停原語,暫停 FCMP內(nèi)當前運行邏輯核時,向上層軟件發(fā)送所述邏輯核的標識號和粒度,所述邏輯核的標 識號和粒度用于進行任務(wù)調(diào)度決策,在完成任務(wù)調(diào)度后調(diào)用繼續(xù)執(zhí)行原語以運行邏輯核, 并在相鄰系統(tǒng)級任務(wù)調(diào)度之間根據(jù)任務(wù)運行時粒度需求調(diào)整相應(yīng)邏輯核的粒度。本發(fā)明通過在FCMP芯片硬件和操作系統(tǒng)軟件之間加入運行時支持,提供一組具 有統(tǒng)一接口的原語向上層軟件提供用于進行任務(wù)調(diào)度決策的FCMP上的邏輯核粒度及標識 號,使得上層軟件可以根據(jù)當前的邏輯核粒度進行任務(wù)調(diào)度決策,并調(diào)用相關(guān)原語實現(xiàn)任 務(wù)調(diào)度,并且在任務(wù)調(diào)度之后,通過對運行的邏輯核進行粒度調(diào)整保證FCMP的靈活性和高 效能,從而達到在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的目的,并保持上層軟件的可移 植性。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例1公開的在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法 流程圖;圖2為本發(fā)明實施例2公開的在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法 流程圖;圖3為本發(fā)明實施例3公開的在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法 中根據(jù)粒度需求對運行的邏輯核進行粒度調(diào)整的流程圖; 圖4為本發(fā)明實施例4公開的在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法 流程圖;圖5為本發(fā)明實施例4公開的又一在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的 方法流程圖;圖6為本發(fā)明實施例5公開的在FCMP上根據(jù)調(diào)用原語創(chuàng)建邏輯核的方法流程圖;圖7為本發(fā)明實施例6公開的在FCMP上執(zhí)行換出進程任務(wù)調(diào)度命令的方法流程 圖;圖8為本發(fā)明公開的在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的裝置的結(jié)構(gòu)示 意圖;圖9為本發(fā)明公開的上層軟件和FCMP之間的連接關(guān)系示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。本發(fā)明公開了一種在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法,通過統(tǒng)一 函數(shù)接口,向上層軟件只提供FCMP邏輯核的標識號和粒度,隱藏了其他復雜信息,但同時 實現(xiàn)上層軟件根據(jù)接收邏輯核的標識號和粒度判斷空閑物理核數(shù)目以決策進程的切換、然 后調(diào)用原語完成FCMP上的資源分配和任務(wù)調(diào)度,同時在每兩次任務(wù)調(diào)度之間,實時地調(diào)整 運行邏輯核的粒度,以保證FCMP的靈活性和高效能。其具體實施方式
如下所示實施例一本實施例公開的支持系統(tǒng)級資源分配和任務(wù)調(diào)度方法如圖1所示,包括步驟S11、向上層軟件提供一組具有統(tǒng)一接口的原語,所述原語包括返回暫停 原語、邏輯核創(chuàng)建原語、上下文裝載原語、邏輯核釋放原語、上下文保存原語和繼續(xù)執(zhí)行原 語;本步驟中的原語具有統(tǒng)一接口,即接口和結(jié)構(gòu)無關(guān),通過原語實現(xiàn)上層軟件對抽 象后的邏輯核資源的申請和釋放,避免了上層軟件對FCMP硬件資源的直接管理,降低了由 于FCMP硬件靈活性帶來的系統(tǒng)級任務(wù)調(diào)度和資源管理的難度,并保持了上層軟件的可移 植性。下面對提供的原語進行詳細的介紹,其中,中斷返回原語為struct lp_alloc_ info*read_cpu_allocation_info (),該原語暫停所有的邏輯核,并返回一個數(shù)組指針。每個邏輯核都在該返回數(shù)組中對應(yīng)一個數(shù)組成員,記錄它的粒度。同時,每一個邏輯核一一對 應(yīng)于正在執(zhí)行的進程。從而上層軟件可以利用數(shù)組中的每個數(shù)組成員記錄的COreS_nUm更 新每個進程的資源占用量,即更新每個進程對應(yīng)的邏輯核的粒度。返回指針NULL指出當前 FCMP上沒有生成任何邏輯核。邏輯核倉丨J建原語為int create_logic_core (struct lp_alloc_info*next),該 原語觸發(fā)芯片資源調(diào)度器為新進程next創(chuàng)建一個邏輯核,該邏輯核粒度為next- > cores, num,并由next- > pid標識,即由進程next的標識符標識。原語返回1表示邏輯核成功創(chuàng) 建,返回0指出在邏輯核創(chuàng)建過程中發(fā)生了硬件級錯誤。
上下文裝載原語為bool load_COnteXt(PCB*neXt),該原語觸發(fā)芯片資源調(diào)度器 將進程next的上下文裝載到對應(yīng)的邏輯核next- > pid上。原語返回true表示上下文裝 載成功,返回false指出裝載中發(fā)生了硬件級錯誤。邏輯核釋放原語為int free_logic_core(int pid),該原語觸發(fā)芯片資源調(diào)度 器釋放一個已有的標識為Pid邏輯核。原語返回1表示邏輯核成功釋放,返回0指出在邏 輯核釋放過程中發(fā)生了硬件錯誤。上下文保存原語為bool saVe_COnteXt(PCB*preV),該原語觸發(fā)芯片資源調(diào)度器 將邏輯核prev- > pid上進程prev的上下文保存到內(nèi)存中。原語返回true表示上下文保 存成功,返回false指出保存過程中發(fā)生了硬件級錯誤。繼續(xù)執(zhí)行原語為bool continu^processorsO,該原語觸發(fā)芯片資源調(diào)度器喚 醒所有的邏輯核繼續(xù)運行。原語返回true表示所有的邏輯核都已成功喚醒,返回false指 出喚醒過程中發(fā)生了硬件級錯誤。步驟S12、調(diào)用所述返回暫停原語,暫停FCMP內(nèi)當前運行邏輯核,向上層軟件發(fā)送 所述邏輯核的標識號和粒度,所述邏輯核的標識號和粒度用于進行任務(wù)調(diào)度決策;暫停運行邏輯核后,對邏輯核的信息進行抽象,只將當前運行邏輯核的標識號和 粒度發(fā)送給上層軟件,而隱藏了其他的結(jié)構(gòu)細節(jié),例如邏輯核是由哪些物理核組成、其在芯 片上的位置、何時對哪些邏輯核進行粒度調(diào)整以及如何調(diào)整等,使得上層軟件只需根據(jù)每 個被調(diào)度進程的資源需求等系統(tǒng)屬性進行進程調(diào)度決策,符合現(xiàn)有系統(tǒng)級資源分配和任務(wù) 調(diào)度技術(shù)的特征,建立起實現(xiàn)系統(tǒng)級資源分配和任務(wù)調(diào)度基礎(chǔ)。經(jīng)過抽象后,上層軟件可見 的邏輯核參數(shù)如下所示struct lp_alloc_info {int lp_id ; //logical processor IDint cores_num ; //logical processor size}由于FCMP的硬件靈活性,其實際運行時的邏輯核粒度會根據(jù)進程不同的運行階 段進行調(diào)整,而上層軟件中保存的邏輯核信息是進程上一個運行階段的邏輯核粒度,并不 能夠體現(xiàn)當前運行階段的邏輯核粒度,所以需要利用獲取的當前邏輯核粒度更新上層軟件 保存的信息。此時只將當前邏輯核調(diào)整后的粒度進行體現(xiàn),而不會體現(xiàn)其具體的調(diào)整過程, 所以上層軟件,例如OS進程調(diào)度程序,只看到特定時刻每個進程靜態(tài)的資源占用/需求,而 不會看到其所占資源動態(tài)調(diào)整的過程。步驟S13、調(diào)用與所述任務(wù)調(diào)度相關(guān)的原語,執(zhí)行對應(yīng)的操作,完成任務(wù)調(diào)度;
根據(jù)上層軟件做出的任務(wù)決策調(diào)用相關(guān)的原語,完成任務(wù)調(diào)度。步驟S14、在完成任務(wù)調(diào)度后調(diào)用繼續(xù)執(zhí)行原語以運行邏輯核;
繼續(xù)運行邏輯核。步驟S15、根據(jù)粒度需求調(diào)整當前運行邏輯核的粒度,直至下一次任務(wù)調(diào)度。邏輯核運行過程中,邏輯核配置算法會周期性計算出每一個邏輯核的粒度需求, 例如需要增大會減小邏輯核粒度,根據(jù)粒度需求,在兩次任務(wù)調(diào)度過程中間,實時的調(diào)整運 行邏輯核的粒度。本發(fā)明公開的實現(xiàn)系統(tǒng)級資源分配和任務(wù)調(diào)度的方法,通過提供具有統(tǒng)一接口的 原語,并對邏輯核的信息進行抽象,只將當前運行邏輯核的標識號和粒度發(fā)送給上層軟件, 而隱藏了其他的結(jié)構(gòu)細節(jié),使得上層軟件只需根據(jù)每個被調(diào)度進程的資源需求等系統(tǒng)屬性 進行進程調(diào)度,符合現(xiàn)有系統(tǒng)級資源分配和任務(wù)調(diào)度技術(shù)的特征,實現(xiàn)了支持系統(tǒng)級資源 分配和任務(wù)調(diào)度技術(shù)的目的。同時,上層軟件只進行根據(jù)待執(zhí)行的任務(wù)調(diào)用相關(guān)原語的操 作,并不涉及具體的資源分配操作,簡化了系統(tǒng)的工作。實施例二本實施例公開的支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法流程如圖2所示,包括步驟S21、向上層軟件提供一組具有統(tǒng)一接口的原語,所述原語包括返回暫停 原語、邏輯核創(chuàng)建原語、上下文裝載原語、邏輯核釋放原語、上下文保存原語和繼續(xù)執(zhí)行原 語;步驟S22、調(diào)用所述返回暫停原語,暫停FCMP內(nèi)當前運行邏輯核,向上層軟件發(fā)送 所述邏輯核的標識號和粒度,所述邏輯核的標識號和粒度用于進行任務(wù)調(diào)度決策;步驟S23、調(diào)用與所述任務(wù)調(diào)度決策相關(guān)的原語,執(zhí)行對應(yīng)的操作,完成任務(wù)調(diào) 度;步驟S24、在完成任務(wù)調(diào)度后調(diào)用繼續(xù)執(zhí)行原語以運行邏輯核;步驟S25、判斷是否到達預設(shè)時間,若是則執(zhí)行步驟S26,若否則重復執(zhí)行本步驟;本實施例所述的執(zhí)行調(diào)整粒度的時間條件為到達預設(shè)時間。其設(shè)計為周期性時鐘 觸發(fā),則只要到達預設(shè)周期的量級,例如0. 1ms,只要時間為0. Ims的倍數(shù),就會觸發(fā)。步驟S26、暫停執(zhí)行全部邏輯核;調(diào)用返回暫停原語。步驟S27、根據(jù)當前FCMP的邏輯核信息生成芯片資源位圖,標志出邏輯核在芯片 上的位置及粒度;步驟S28、依據(jù)所述芯片資源位圖,根據(jù)所述粒度需求調(diào)整邏輯核的粒度;步驟S29、啟動所有邏輯核繼續(xù)執(zhí)行;步驟S210、判斷是否進行下一次任務(wù)調(diào)度,若否,則返回執(zhí)行步驟S25,若是,則返 回執(zhí)行步驟S22。本實施例公開了根據(jù)粒度需求對運行的邏輯核進行粒度調(diào)整的過程,實現(xiàn)了在兩 次任務(wù)調(diào)度中間對運行邏輯核粒度進行調(diào)整,采用芯片資源位圖的形式,直觀的將邏輯核 的位置和粒度進行顯示,簡化了操作。充分利用FCMP的靈活性,自動調(diào)整進程運行過程中 邏輯核粒度,保證進程的正常、高效運行,同樣適用于其他的任務(wù)處理過程。本實施例中的 邏輯核配置算法可以為EQUI、PDPA和Profile中的任意兩種,也可以為其他的邏輯核配置算法,本實施例中采用EQUI和PDPA,其中,EQUI根據(jù)當前運行的進程的數(shù)目均分物理核構(gòu) 成邏輯核;而PDPA則周期性的評估每個線程在當前邏輯核上的運行效率,從而決定每個邏 輯核的粒度如何調(diào)整。其特征比較如下表所示
權(quán)利要求
一種在多核處理器FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法,其特征在于,包括向上層軟件提供一組具有統(tǒng)一接口的原語,所述原語包括返回暫停原語、邏輯核創(chuàng)建原語、上下文裝載原語、邏輯核釋放原語、上下文保存原語和繼續(xù)執(zhí)行原語;調(diào)用所述返回暫停原語,暫停FCMP上當前運行邏輯核,向上層軟件發(fā)送所述邏輯核的標識號和粒度,所述邏輯核的標識號和粒度用于進行系統(tǒng)級任務(wù)調(diào)度決策;調(diào)用與所述任務(wù)調(diào)度相關(guān)的原語,執(zhí)行對應(yīng)的操作,完成任務(wù)調(diào)度;調(diào)用繼續(xù)執(zhí)行原語以運行邏輯核,并根據(jù)任務(wù)運行時粒度需求調(diào)整當前運行邏輯核的粒度,直至下一次任務(wù)調(diào)度。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,按照以下步驟根據(jù)粒度需求調(diào)整當前運 行邏輯核的粒度判斷是否滿足執(zhí)行調(diào)整粒度的時間條件;當滿足所述執(zhí)行調(diào)整粒度的時間條件時,暫停執(zhí)行全部邏輯核;根據(jù)當前FCMP的邏輯核信息生成芯片資源位圖,標志出邏輯核在芯片上的位置及粒度;依據(jù)所述芯片資源位圖,根據(jù)所述粒度需求調(diào)整邏輯核的粒度; 啟動所有邏輯核繼續(xù)執(zhí)行。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,按照以下步驟依據(jù)所述芯片資源位圖,根 據(jù)所述粒度需求調(diào)整邏輯核的粒度判斷粒度需求類型,所述粒度需求類型包括增加粒度和減小粒度; 當所述粒度需求類型為增加粒度時,根據(jù)所述芯片資源位圖判斷空閑物理核的數(shù)量及 位置是否滿足增加粒度需求,若是,則根據(jù)所述粒度需求增加對應(yīng)的邏輯核的粒度,若否, 則忽略此需求;當所述粒度需求為減小粒度時,根據(jù)所述進程的需求減小邏輯核的粒度。
4.根據(jù)權(quán)利要求1-3中任意一項所述的方法,其特征在于,所述執(zhí)行調(diào)整粒度的條件 包括到達預設(shè)時間。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述邏輯核的標識號為運行在其上的進 程標識號。
6.一種在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的裝置,其特征在于, 包括統(tǒng)一函數(shù)接口和芯片資源調(diào)度器,其中所述統(tǒng)一函數(shù)接口用于,向上層軟件提供一組具有統(tǒng)一接口的原語,所述原語包括返 回暫停原語、邏輯核創(chuàng)建原語、上下文裝載原語、邏輯核釋放原語、上下文保存原語和繼續(xù) 執(zhí)行原語,調(diào)用所述返回暫停原語,暫停FCMP內(nèi)當前運行邏輯核,調(diào)用與所述任務(wù)調(diào)度相 關(guān)的原語,執(zhí)行對應(yīng)的操作,完成任務(wù)調(diào)度;所述芯片資源調(diào)度器用于,當所述統(tǒng)一函數(shù)接口調(diào)用所述返回暫停原語,暫停FCMP內(nèi) 當前運行邏輯核時,向上層軟件發(fā)送所述邏輯核的標識號和粒度,所述邏輯核的標識號和 粒度用于進行任務(wù)調(diào)度決策,在完成任務(wù)調(diào)度后調(diào)用繼續(xù)執(zhí)行原語以運行邏輯核,并在相 鄰系統(tǒng)級任務(wù)調(diào)度之間根據(jù)任務(wù)運行時粒度需求調(diào)整相應(yīng)邏輯核的粒度。
全文摘要
本發(fā)明公開了一種在FCMP上支持系統(tǒng)級資源分配和任務(wù)調(diào)度的方法及裝置,包括向上層軟件提供一組具有統(tǒng)一接口的原語;調(diào)用返回暫停原語,暫停FCMP上當前運行邏輯核,向上層軟件返回邏輯核的標識號和粒度;調(diào)用與任務(wù)調(diào)度相關(guān)的原語,執(zhí)行對應(yīng)的操作,完成任務(wù)調(diào)度;調(diào)用繼續(xù)執(zhí)行原語以運行邏輯核;并且,根據(jù)任務(wù)運行時粒度需求周期性調(diào)整當前運行邏輯核的粒度,直至下一次任務(wù)調(diào)度。本發(fā)明通過在FCMP芯片硬件和操作系統(tǒng)軟件之間加入運行時支持,利用一組具有統(tǒng)一接口的原語向上層軟件提供用于進行系統(tǒng)級任務(wù)調(diào)度決策的FCMP上的邏輯核粒度及標識號,使得上層軟件可以根據(jù)當前的邏輯核粒度進行任務(wù)調(diào)度決策,并調(diào)用相關(guān)原語實現(xiàn)任務(wù)調(diào)度。
文檔編號G06F9/50GK101937370SQ20101026177
公開日2011年1月5日 申請日期2010年8月16日 優(yōu)先權(quán)日2010年8月16日
發(fā)明者任永青, 劉楊, 孫濤, 安虹, 李頎, 毛夢捷, 許牧, 鄧春華 申請人:中國科學技術(shù)大學