異構(gòu)多核可重構(gòu)計算平臺上任務調(diào)度的方法和裝置的制造方法
【技術(shù)領域】
[0001] 本發(fā)明涉及計算機領域,并且更具體地,涉及異構(gòu)多核可重構(gòu)計算平臺上任務調(diào) 度的方法和裝置。
【背景技術(shù)】
[0002] 計算任務現(xiàn)在具有兩種表現(xiàn)形式:在通用處理器(General Purpose Processor, 簡稱為"GPP")上,任務通常以軟件代碼的形式呈現(xiàn),稱為軟件任務;而在專用集成電路上, 任務通常以專用的硬件電路的形式呈現(xiàn),稱為硬件任務。其中,軟件任務的具有靈活性好、 易于修改與調(diào)試的優(yōu)點,其缺點是計算速度不理想;而硬件任務具有速度快的優(yōu)點,其缺點 是不夠靈活,也不易于調(diào)試。異構(gòu)多核可重構(gòu)計算平臺是權(quán)衡通用處理器與專用集成電路 的有效手段,異構(gòu)多核可重構(gòu)計算平臺既可以使用可重構(gòu)邏輯器件來獲得很高的加速比, 又可以使用可重構(gòu)技術(shù)或者添加通用處理器使得其具有很好的靈活性。此外,異構(gòu)多核可 重構(gòu)計算平臺能夠克服專用集成電路因為前期設計制造的復雜過程而帶來的高代價和不 可重用等缺陷。
[0003] 異構(gòu)多核可重構(gòu)計算平臺中的可重構(gòu)資源(即硬件邏輯資源)通常非常有限,需 要對可重構(gòu)資源進行重構(gòu),來實現(xiàn)任務的硬件執(zhí)行。異構(gòu)多核可重構(gòu)計算平臺上的硬件資 源重構(gòu)根據(jù)其重構(gòu)特性可以分為靜態(tài)重構(gòu)和動態(tài)重構(gòu)。靜態(tài)重構(gòu)是指系統(tǒng)的硬件邏輯資源 靜態(tài)重構(gòu),即在系統(tǒng)空閑期間通過各種方式進行在線編程,以對可重構(gòu)硬件邏輯器件的邏 輯功能進行配置。動態(tài)重構(gòu)是指在系統(tǒng)實時運行期間對可重構(gòu)邏輯器件的邏輯功能實時地 進行動態(tài)配置,例如,能夠只對系統(tǒng)內(nèi)部需要修改的邏輯單元(即可重構(gòu)資源)進行重新配 置,而不影響沒有被修改的邏輯單元的正常工作。相對于靜態(tài)重構(gòu),動態(tài)重構(gòu)縮短了重構(gòu)的 時間,一方面減少了系統(tǒng)的開銷,另一方面提高了系統(tǒng)運行的效率。為了提高資源利用率, 當前技術(shù)中,異構(gòu)多核可重構(gòu)計算平臺一般采用動態(tài)重構(gòu)。
[0004] 目前,異構(gòu)多核可重構(gòu)計算平臺一般采用基于窗口(Window)的任務迀移方法進 行重構(gòu)。其中,窗口定義為從一次重構(gòu)到下一次重構(gòu)之間的時間間隔,一個窗口的組成包含 硬件執(zhí)行(Hardware Execution)時間、調(diào)度(Scheduling)時間和重構(gòu)(Reconfiguration) 時間三個階段,其中,調(diào)度時間被隱藏在硬件執(zhí)行時間中。當前技術(shù)中,重建窗口的大小是 固定的,則窗口的大小會對系統(tǒng)的性能產(chǎn)生影響,例如,窗口過大會導致可重構(gòu)資源長時間 處于空閑狀態(tài),會降低資源利用率和系統(tǒng)性能;而窗口過小會導致系統(tǒng)重構(gòu)過于頻繁,從而 引入額外的重構(gòu)開銷,會降低系統(tǒng)的性能。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供一種異構(gòu)多核可重構(gòu)計算平臺上任務調(diào)度的方法和裝置,根據(jù) 任務的執(zhí)行情況和計算平臺的可重構(gòu)資源的使用情況,來確定任務的執(zhí)行方式,能夠有效 提高異構(gòu)多核可重構(gòu)計算平臺上可重構(gòu)資源的利用率。
[0006] 第一方面,提供了一種異構(gòu)多核可重構(gòu)計算平臺上任務調(diào)度的方法,該方法包 括:
[0007] 根據(jù)待執(zhí)行的目標任務的熱度和該異構(gòu)多核可重構(gòu)計算平臺的可重構(gòu)資源的使 用率,確定該目標任務的執(zhí)行方式,該執(zhí)行方式包括硬件方式或軟件方式,該目標任務在該 異構(gòu)多核可重構(gòu)計算平臺沒有對應的用于執(zhí)行該目標任務的目標知識產(chǎn)權(quán)IP核,該目標 任務的熱度用于指示該目標任務對中央處理器CPU的占用率,該可重構(gòu)資源的使用率用于 指示該可重構(gòu)資源的使用情況;
[0008] 根據(jù)確定的執(zhí)行方式,執(zhí)行該目標任務。
[0009] 結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,根據(jù)該目標任務的熱度 和該異構(gòu)多核可重構(gòu)計算平臺的可重構(gòu)資源的使用率,確定該目標任務的執(zhí)行方式,包 括:
[0010] 根據(jù)該目標任務的熱度,確定該目標任務的加權(quán)熱度cw,且Cw= C · S,其中,C為 該目標任務的熱度,且C = N1 · T/?γ,IY為當前時刻與該可重構(gòu)資源上次發(fā)生重構(gòu)的時刻 之間的時間長度,&為該目標任務在?\內(nèi)以軟件方式執(zhí)行的次數(shù),T i為該目標任務單次以 軟件方式執(zhí)行所需的時間長度,S為該目標任務的硬件加速比,該硬件加速比S用于指示該 目標任務以硬件方式執(zhí)行所對應的執(zhí)行速度與該目標任務以軟件方式執(zhí)行所對應的執(zhí)行 速度之間的比值;
[0011] 根據(jù)如下公式確定該異構(gòu)多核可重構(gòu)計算平臺的可重構(gòu)資源的使用率E_:
【主權(quán)項】
1. 一種異構(gòu)多核可重構(gòu)計算平臺上任務調(diào)度的方法,其特征在于,所述方法包括: 根據(jù)待執(zhí)行的目標任務的熱度和所述異構(gòu)多核可重構(gòu)計算平臺的可重構(gòu)資源的使用 率,確定所述目標任務的執(zhí)行方式,所述執(zhí)行方式包括硬件方式或軟件方式,所述目標任 務在所述異構(gòu)多核可重構(gòu)計算平臺沒有對應的用于執(zhí)行所述目標任務的目標知識產(chǎn)權(quán)IP 核,所述目標任務的熱度用于指示所述目標任務對中央處理器CPU的占用率,所述可重構(gòu) 資源的使用率用于指示所述可重構(gòu)資源的使用情況; 根據(jù)確定的執(zhí)行方式,執(zhí)行所述目標任務。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述目標任務的熱度和所述異 構(gòu)多核可重構(gòu)計算平臺的可重構(gòu)資源的使用率,確定所述目標任務的執(zhí)行方式,包括: 根據(jù)所述目標任務的熱度,確定所述目標任務的加權(quán)熱度Cw,且Cw=C?S,其中,C為 所述目標任務的熱度,且C=Ni?T/IY,IY為當前時刻與所述可重構(gòu)資源上次發(fā)生重構(gòu)的 時刻之間的時間長度,Ni為所述目標任務在內(nèi)以軟件方式執(zhí)行的次數(shù),為所述目標任 務單次以軟件方式執(zhí)行所需的時間長度,S為所述目標任務的硬件加速比,所述硬件加速比 S用于指示所述目標任務以硬件方式執(zhí)行所對應的執(zhí)行速度與所述目標任務以軟件方式執(zhí) 行所對應的執(zhí)行速度之間的比值; 根據(jù)如下公式確定所述異構(gòu)多核可重構(gòu)計算平臺的可重構(gòu)資源的使用率E_:
其中,M為所述異構(gòu)多核可重構(gòu)計算平臺上布局的IP核的數(shù)量,Ei為所述異構(gòu)多核可 重構(gòu)計算平臺上布局的M個IP核中的第i個IP核的IP核使用率,IY為當前時刻與所述可 重構(gòu)資源上次發(fā)生重構(gòu)的時刻之間的時間長度,M為所述第i個IP核在所述時間長度IY內(nèi)執(zhí)行所述第i個IP核的對應任務的次數(shù),g.為所述第i個IP核執(zhí)行一次所述對應任務 所需的時間長度; 根據(jù)所述目標任務的加權(quán)熱度Cw和所述可重構(gòu)資源的使用率E_,確定所述目標任務 的執(zhí)行方式。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述目標任務的加權(quán)熱度C,和 所述可重構(gòu)資源的使用率E_,確定所述目標任務的執(zhí)行方式,包括: 當確定所述目標任務的加權(quán)熱度Cw大于或等于E_與k的乘積時,確定所述目標任務 的