4的數量。
[0034]以區(qū)域性分割數據項314以改善效能,圖7是根據本發(fā)明的實施例的具有地域性的數據分割以及不具地域性的數據分割的示意圖,考慮在異構計算系統(tǒng)中的計算裝置數量為2的情形下,如圖7的子圖㈧所示,以區(qū)域性分割圖像的數據項,使數據分割位于圖像的上半部,而另一數據分割位于圖像的下半部;如圖7的子圖(B)所示,不以區(qū)域性分割數據項,使數據分割包含該圖像的對角線方向區(qū)域的數據項,而另一數據分割包含圖像另一對角線方向區(qū)域的數據項。為達較佳的效能,動態(tài)任務安排器100優(yōu)先地選擇圖7中子圖(A)所示的分割法以決定每一子任務中包含的數據項。
[0035]在動態(tài)任務安排器100決定子任務304_1與304_2之后(步驟204),動態(tài)任務安排器100分配子任務304_1 (其包含核心312以及數據項314的第一部分A0)至計算裝置102,并分配子任務304_2(其包含核心312以及數據項314的第二部分Al)至計算裝置104 (步驟 206)。
[0036]在第二示范性設計中,設定動態(tài)任務安排器100以利用固定群組大小分割技術方案以將一個任務分割成多個子任務,其中任務包含核心以及由核心所處理的多個數據項,且每一子任務包含相同核心以及數據項的一部分,其中該部分的大小為固定的??紤]異構計算系統(tǒng)10支持開放計算語言架構的情形下,數據項可為與開放計算語言的工作項目相關的輸出數據(例如,圖像的像素),且核心可為每一工作項目的程序代碼(基本上為開放計算語言功能)。因此,圖像的像素可被分成多個像素群,其具有固定的大小并且由動態(tài)任務安排器100動態(tài)地/靜態(tài)地決定。
[0037]圖8是根據本發(fā)明的實施例的第二動態(tài)任務安排方法的流程圖,在異構計算系統(tǒng)10上所執(zhí)行的動態(tài)任務安排器100使用動態(tài)任務安排方法,其中該方法可被簡短歸納如下。
[0038]步驟802:接收一個任務,其中任務包含核心以及由核心所處理的多個數據項。
[0039]步驟804:將任務分割成多個子任務,且每一子任務包含相同核心以及數據項的一部分,其中該部分的大小為固定的。
[0040]步驟806:動態(tài)地將子任務分配至異構計算系統(tǒng)的多個計算裝置中。
[0041]如上所述,可利用一個任務將相同核心(即相同功能)應用至多個數據項中的每一數據項(例如,圖像的多個像素),動態(tài)任務安排器100可利用固定群組大小分割技術方案來將一個任務分割為多個子任務,詳細來說,設定動態(tài)任務安排器100以動態(tài)地將任務分割成多個子任務,且每一子任務具有相同核心以及數據項的一部分,其中該部分的大小為固定的。
[0042]圖9是將一個任務902 (其包含核心912以及由核心912所處理的多個數據項914)分成多個子任務(例如,至少三個子任務904_1、904_2以及904_3)的另一范例示意圖,如圖9所示,子任務904_1包含相同核心912以及數據項的第一部分AO,子任務904_2包含相同核心912以及數據項的第二部分Al,且子任務904_3包含相同核心912以及數據項的第三部分A2,需注意的是第一部分A0、第二部分Al以及第三部分A2具有相同大小其可為默認值且不隨不同任務而改變。優(yōu)選地,可用區(qū)域性來分割數據項914以改善效能。舉例來說,動態(tài)任務安排器100可將任務902分割成9個子任務,其中圖像的數據項可平分為9部分并分別指定給子任務。
[0043]為了達到較高的吞吐量、較低功率消耗以及較低的反應時間,動態(tài)任務安排器100動態(tài)地將由固定群組大小分割技術方案所決定的子任務分配給計算裝置102與104,在此范例中,由動態(tài)任務安排器100所決定的子任務的數目大于計算裝置102與104的數目。當自計算裝置102接收子任務要求時,動態(tài)任務安排器100將得自分割任務902的子任務分配至計算裝置102,同樣地,當自計算裝置104接收子任務要求時,動態(tài)任務安排器100將得自分割任務902的子任務分配至計算裝置104,舉例來說,當能夠處理更多子任務時,計算裝置102與104中的每一計算裝置發(fā)出子任務要求至動態(tài)任務安排器100,如此一來,可通過動態(tài)地分配子任務至計算裝置102與104來達到計算裝置102與104之間的負載平衡,其中每一子任務包含相同核心以及具有固定大小的數據分割。
[0044]本領域的技術人員將注意到,在獲得本發(fā)明的指導之后,可對所述裝置和方法進行大量的修改和變換。相應地,上述公開內容應該理解為,僅通過所附加的權利要求的界限來限定。
【主權項】
1.一種動態(tài)任務安排方法,包含: 接收一個任務,其中該任務包含一個核心以及由該核心所處理的多個數據項; 動態(tài)地將該任務分割成多個子任務,且每一子任務具有該核心以及該多個數據項的一部分,其中該部分的大小為可變的; 將該多個子任務分配至異構計算系統(tǒng)的多個計算裝置。2.如權利要求1的動態(tài)任務安排方法,其特征在于,該多個子任務的數量等同于該多個計算裝置的數量。3.如權利要求1的動態(tài)任務安排方法,其特征在于,動態(tài)地將該任務分割成該多個子任務的步驟包含有: 分析該任務以產生任務分析結果;以及 根據至少該任務分析結果,動態(tài)地將該任務分割成該多個子任務。4.如權利要求3的動態(tài)任務安排方法,其特征在于,該任務分析結果包含近似分析結果O5.如權利要求3的動態(tài)任務安排方法,其特征在于,該任務分析結果包含每一計算裝置的預測任務運行時間。6.如權利要求1的動態(tài)任務安排方法,其特征在于,動態(tài)地將該任務分割為該多個子任務的步驟包含有: 監(jiān)控該多個計算裝置以產生裝置監(jiān)控結果;以及 根據至少該裝置監(jiān)控結果,動態(tài)地將該任務分割成該多個子任務。7.如權利要求6的動態(tài)任務安排方法,其特征在于,該裝置監(jiān)控結果包含每一計算裝置的估計任務隊列延遲。8.如權利要求6的動態(tài)任務安排方法,其特征在于,該裝置監(jiān)控結果包含每一計算裝置的裝置負載。9.如權利要求6的動態(tài)任務安排方法,其特征在于,該裝置監(jiān)控結果包含每一計算裝置的裝置限制。10.—種動態(tài)任務安排方法,包含: 接收一個任務,該任務包含有一個核心以及由該核心處理的多個數據項; 將該任務分割成多個子任務,且每一子任務包含有該核心以及該多個數據項的一部分,其中該部分的大小為固定的; 動態(tài)地將該多個子任務分配至異構計算系統(tǒng)的多個計算裝置。11.如權利要求10的動態(tài)任務安排方法,其特征在于,該多個子任務的數量大于該多個計算裝置的數量。
【專利摘要】一種動態(tài)任務安排方法包含有:接收一個任務,該任務包含有一個核心以及由核心處理的多個數據項;動態(tài)地將任務分割成多個子任務,且每一子任務包含有核心以及數據項的一部分,其中該部分的大小為可變的;并將子任務分派至異構計算系統(tǒng)的多個計算裝置。另一個動態(tài)任務安排方法包含有:接收一個任務,其中該任務包含有一個核心以及由該核心處理的多個數據項;將該任務分割成多個子任務,每一子任務包含有該核心以及數據項的一部分,其中該部分的大小為固定的;并將子任務分派至異構計算系統(tǒng)的多個計算裝置。本發(fā)明所公開的動態(tài)任務安排方法可通過動態(tài)地分配子任務至計算裝置來達到計算裝置之間的負載平衡。
【IPC分類】G06F9/46, G06F9/50
【公開號】CN105183539
【申請?zhí)枴緾N201510333568
【發(fā)明人】許哲銘, 嚴梓鴻, 高毓懋, 黃世杰, 黃亭彰
【申請人】聯發(fā)科技股份有限公司
【公開日】2015年12月23日
【申請日】2015年6月16日
【公告號】US20150363239