專利名稱:任務流計算模型的制作方法
技術領域:
本發明涉及一種計算模型,特別是涉及一種適合于可重構高性能計算機系 統使用的任務流計算模型。
二、 背景技術-
隨著高性能計算技術的發展,新型的計算模型己成為未來高性能計算機設 計所必須首先考慮的問題。預計,未來可重構高效能超級計算系統體系結構將 展現出更為豐富的多態性,它可在一個計算系統結構內集成多種不同結構的處 理器核與可重構部件。對于不同的任務,可用不同類型的處理器核進行并行處 理,同時由于可重構部件建立在可編程邏輯器件基礎之上,可以通過硬件編程 實時地適應計算任務要求的變化,因而體現出高效性和靈活性的統一。為可重 構高效能超級計算系統提供新型高效的計算模型,充分利用可重構高效能超級 計算系統結構中各種資源加速程序運行,最大程度發揮其結構優勢,是需要迫
切解決的問題。現有的涉及高性能計算方面的實用計算模型主要包括;消息傳 遞的MPI、共享內存的OpenMP、以及MPI+OpenMP混合模型等,涉及辦公自 動化和管理方面的有工作流模型等,這些模型雖然在相關領域取得了重要作用, 但當可重構和高效能并行做為重要考慮因素時,上述模型在編程結構、執行效 率、擴展能力等方面對未來高性能計算機設計失去了指導意義。而現有的任務 分配和調度模型及算法,由于首先考慮了系統的固有結構和資源等因素,并沒 有把系統看成是可重構的,因此可借鑒的程度也受到了較大影響。
三
發明內容
本發明所要解決的技術問題
為解決或改善現有的高性能計算系統在支持可重構、高效能方面的不足, 提供一種基于任務流的計算模型,旨在解決系統可重構前提下軟硬任務的劃分、 任務顆粒度的確定原則、任務調度與優化、任務的激活與運轉、任務的并行與協同執行、任務流的分離和重組等方面的一系列重要問題。 本發明所采用的技術方案
1、 一種任務流計算模型,以一個五元組{T, R, SC, EC, TS}的形式表 述了在任務流的方式下求解復雜問題的途徑,其特征在于所述五元組中,
1) T是任務及其屬性的有窮集合,
將對復雜問題的求解過程描述為應用程序,通過程序代碼把復雜問題的求 解過程表達為一組消耗并產生任務流的處理過程,在考慮到系統可重構的前提 下,給出軟、硬任務劃分原則和任務顆粒度的確定原則,在軟、硬任務劃分原 則和任務顆粒度的確定原則指導下,針對實際問題給出任務及其屬性的有窮集 合T;
2) R是任務之間的關系集合,
依照問題求解思路,將與之相適應的任務之間的串行、自循環、并行、獨 占式選擇、鑒別式選擇、抄送、發散、同步聚合、簡單聚合、多重聚合運轉方 式加以描述,形成任務之間的關系集合R,為任務之間的運轉方式提供支持;
3) SC是任務的啟動條件集合,
4) EC是任務的終止條件集合,
根據實際問題的要求及其對系統各種資源的需求相關因素,構造任務的啟 動和停止條件,形成任務的啟動條件集合SC和終止條件集合EC;對系統的重 構、任務的啟動和停止、任務的調度與優化提供支持;
5) TS是任務的有窮序列的集合,
在軟、硬任務劃分原則和任務顆粒度的確定原則指導下,針對實際問題將 問題求解方案與過程按照任務流的方式進行組織,從起始任務到終止任務的相 關路徑構成一個有向圖,形成任務的有窮序列集合TS。
上述五元組,也可以用擴充的"與或圖"來表示。
所述的任務流計算模型,根據任務的能效比分析和資源利用率的不同以及 任務本身的算法特點,包括計算量、訪存要求、被調用次數,將那些在處理器 單元上運行能效比高的任務即"軟任務"分配到處理器單元上運行,而將那些 適合可重構邏輯單元中運行且能效比高的任務即"硬任務",分配到可重構邏輯單元上運行;按照任務本身的算法特點,即執行任務的能效比和資源的利用率, 將任務劃分成若干個子任務的集合,父任務和子任務具有大小不同的顆粒度大 小;父任務的劃分及相關子任務的劃分與合并原則根據任務本身的算法特點來 確定。
所述的任務流計算模型,任務及其屬性的有窮集合T中的元素是以二元序 偶的形式給出的,第一元給出對任務的編號,第二元給出相關屬性,表示為{<11, al>,<t2, a2>,, <tn, an>},其中t表示任務,ai表示相對應的任務的屬性, 其中i為從1到n的自然數,任務本身的特點和屬性包括起點任務、終點任務、 普通任務,在任務劃分時,主要以任務自身固有的特點為依據,先不考慮資源 的限制情況。
事實上,基于任務流的可重構計算模型是一種基于函數的計算模型,在函 數內部是基于數據流的,是固定的,不可調度的;函數之間是控制流的,是可以 調度的。而函數的確定是在任務劃分后實施的,因此任務的劃分極為重要。
所述的任務流計算模型,任務的啟動條件集合SC中的元素既有任務編號也 有該任務的啟動條件,任務的啟動條件包含對各種資源的要求、前驅任務完成 情況的要求,任務必須先滿足啟動條件才能被啟動執行;任務的啟動條件具體 表示為一個整數值,通過素數分解來具體確定各個資源的需求情況,即給出資 源與部分小素數(從2開始依次選取小素數)的一一對應關系,通過數值在素
因子分解中相應素數的冪次來表示對其資源的具體需求量。
所述的任務流計算模型,啟動條件包括人工激活、定時或限時激活、其它 任務激活多種方式,為系統的重構提供依據,并指導任務的調度。
所述的任務流計算模型,任務的終止條件集合EC中的元素既有任務編號也 有該任務的終止條件,任務流中每個任務的停止時機由其終止條件所決定,終 止條件包括正常完成、暫停和異常終止三種情況;當終止條件滿足時,任務將 根據上述三種情況實施正常停止、暫停或報告異常。它是系統重構和任務調度 的重要依據,是影響系統性能的重要因素之一。
所述的任務流計算模型,任務的有窮序列集合TS,根據任務的特性進行映 射,根據計算任務的并行性和協同性,對它所涉及的存儲和通信進行封裝,反映了流的特征、依賴關系特征、協同關系特征,反映了具體問題的求解方案與 過程。這些都是系統重構和任務調度的重要依據,對系統的動態配置組成和效 能有重要影響。
本發明的積極有益效果
1、 由于本發明任務流計算模型采用了元組和集合的表示方式,使得模型的 表述更加精確,對問題求解方案和過程的刻畫更加深入,可用于不同粒度并行 性的刻畫,為準確清晰地劃分任務和描述面向任務流的可重構高效能計算奠定 基礎,為有效闡述、設計和實現基于任務流的張量擴展柔性可重構高效能系統 奠定了基礎。
2、 本發明任務流計算模型以一個五元組的形式表述了在任務流的方式下求 解問題的途徑,在不受資源等因素制約的前提下,力求以求解問題的最佳方案 為牽引,合理劃分軟/硬任務的粒度,根據問題和任務的需求重構系統,達到高 效費比、高利用率。
3、 本發明任務流計算模型將任務的運轉方式給出了精確刻畫,并對任務的 啟動和停止條件、資源的需求情況進行了詳細描述,這就為任務的調度、配置 提供了有力的支持。該模型將任務作為一個基本單元來處理,給出了任務流的 定義,任務的劃分原則,任務流的各種形式。由于給出了任務流的精確刻畫, 因此對基于任務流的編程、編譯、運行等各個方面都提供了幫助和支撐。
4、 本發明任務流計算模型將任務區分為軟任務和硬任務,根據硬任務的要 求重構FPGA,可以得到高效能,軟任務則較為靈活,軟硬任務協調好從而達到 高效能和較靈活的重構性。該模型以提高系統的整體效能為目標,在任務劃分 時,主要以任務自身固有的特點為依據,先不考慮資源的限制情況,這是與目 前大多數現有的任務劃分原則不同點之一。
四
圖1為本發明任務流計算模型示意圖2-1為本發明任務流計算模型任務之間的串行運轉方式示意圖; 圖2-2為本發明任務流計算模型任務之間的自循環運轉方式示意圖; 圖2-3為本發明任務流計算模型任務之間的并行運轉方式示意圖;圖2-4為本發明任務流計算模型任務之間的獨占式選擇運轉方式示意圖; 圖2-5為本發明任務流計算模型任務之間的鑒別式選擇運轉方式示意圖; 圖2-6為本發明任務流計算模型任務之間的抄送運轉方式示意圖; 圖2-7為本發明任務流計算模型任務之間的發散運轉方式示意圖; 圖2-8為本發明任務流計算模型任務之間的同步聚合運轉方式示意圖; 圖2-9為本發明任務流計算模型任務之間的簡單聚合運轉方式示意圖; 圖2-10為本發明任務流計算模型任務之間的多重聚合運轉方式示意圖; 圖2-11為本發明任務流計算模型任務之間的鑒別式聚合運轉方式示意圖。 五具體實施例方式
實施例一參見圖l、圖2-l 圖2-11。
如圖1所示,本發明任務流計算模型的一個任務流由一組任務、任務之間
的相互關系、任務的啟動和終止條件組成。用一個五元組{T, R, SC, EC, TS} 表示任務流計算模型,其中T是任務的有窮集合,R是任務之間的關系集合, SC是任務的啟動條件集合,EC是任務的終止條件集合,TS是任務的有窮序列 (反映了流的特征)的集合。
首先,在軟、硬任務的劃分原則和任務顆粒度確定原則的指導下,將待解 問題按照其最佳解決方法分解為多個軟、硬任務,并給出任務的具體編號和相 關屬性。
其次,根據問題及其求解特點,在上述任務編號及屬性確定的基礎上,給 出任務之間的關系表述,形成任務之間關系的集合。任務之間關系為任務的串 行、自循環、并行、獨占式選擇、鑒別式選擇、抄送、發散、同步聚合、簡單 聚合、多重聚合、鑒別式聚合等運轉方式提供支持。圖2-l 圖2-11分別表示 了任務間的各種運轉方式。圖中ti表示相對應的任務,其中i為從l到n的自 然數。任務之間的串行運轉是指任務按照預定的順序,有序地執行,表示為ti Seq tj ,如圖2-l所示;任務之間的自循環運轉是指同一個任務被重復執行多次,是 否繼續重復執行該任務可由人為選擇或通過相應規則控制,表示為tiCirti,如圖 2-2所示;任務之間的并行運轉是指在執行完一個任務之后,因為某種原因,產 生了兩個并發執行的分支,這兩個分支之間是對等的,也是并行執行的,表示為tiPartj,如圖2-3所示;任務的獨占式選擇是指當一個任務處理完后,原則
上可以允許走多個分支流程(如ti, ..., tn),但只允許選擇其中某一個分支(如 ti)獨占式地執行,表示為(tP ..., tn) Monti。此時的選擇往往是人為的,不
是依靠某種預先設定的規則來選擇的,如圖2-4所示;任務的鑒別式選擇是指 當一個任務處理完后,原則上可以允許走多個分支流程(如tp ..., tn),但只 允許選擇其中某一個分支(如tj)執行,表示為",...,t ) Disti。此時的選
擇是依靠某種預先設定的規則來進行的,滿足規則條件的分支將被選定,如圖
2-5所示;任務的抄送運轉是指在任務ti處理完之后,會繼續執行主流程中的下 一個預定任務t2,但同時還會激活另一任務t3的執行,不過任務t3以及其后的后
續流程不會對主流程運轉造成影響,表示為t,C叩(t2, t3),如圖2-6所示;任
務的發散運轉與并行運轉相似,區別之處在于并行運轉的多個分支流程之后需 要重新聚合成一個主流程,而發散運轉中拆分出的分支流程最終未必聚合,表
示為tSca (tp ..., tn),如圖2-7所示;任務的聚合運轉首先需要在前期有一
個"發散",這時根據聚合的情況不同,會有多種不同種類的聚合任務的同步
聚合運轉是指聚合時有一個同步機制,同步好之后才激活后續流程,表示為
(tP ..., tn) SynCont,如圖2-8所示;任務的簡單聚合運轉是指在聚合時采 用類似"先進先出"的原則,哪一個分支先達到聚合點,則由其最先激活后續 流程的運行,其它的分支則到此就會終止,表示為",...,tn) SimCont,如圖 2-9所示;任務的多重聚合運轉與簡單聚合的不同之處在于,任何一個分支在到 達聚合點時,都會激活后續流程的運轉,表示為(h, ..., tn)MulCont,如圖2-10 所示;任務的鑒別式聚合不同于多重聚合和簡單聚合之處在于,分支到達聚合 點時,由一個鑒別器按照某種規則決定是否以及何時激活后續流程,表示為
(tp ..., tn) DisCont,如圖2-ll所示。不難看出,多重聚合、簡單聚合和同 步聚合都是鑒別式聚合的特例。
然后,對應每個任務,在考慮它與其它任務關系的基礎上,給出其啟動條 件,并按照其對資源的需求,采用素因子合成的方法得到相關整數值,從而形 成任務的啟動條件集合。同時,對應每個任務,給出其終止條件,從而形成任 務的終止條件集合。最后,按照問題求解方案,將任務組織成任務流的方式,形成任務流集合。
基于上述任務及任務流,結合可重構資源的最大值約束條件,對系統進行
重構,并建立(TS, RS)與(PT, PR)之間的映射,這里TS表示一組任務(或 任務流),RS表示任務之間關系的集合;PT表示一組任務處理單元,PR表示任 務處理單元間的互聯結構。這反映了如下流程任務模型一系統重構后的結構 模型一任務分配和調度算法一任務映射圖。
實施例二參見圖1。本實施例任務流計算模型,仍用一個五元組{T, R, SC, EC, TS}表示任務流計算模型,
首先,將對復雜問題的求解過程描述為應用程序,通過程序代碼把復雜問 題的求解過程表達為一組消耗并產生任務流的處理過程,在考慮到系統可重構 的前提下,給出軟、硬任務劃分原則和任務顆粒度的確定原則,在軟、硬任務 劃分原則和任務顆粒度的確定原則指導下,針對實際問題給出任務及其屬性的 有窮集合T;其中"軟硬件任務"分別指的是運行于處理器單元(CPU)上的任 務或者運行于可重構邏輯單元(RLU)上的任務。其劃分原則是根據任務能效 比和資源利用率以及任務本身的算法特點(包括計算量、訪存要求、被調用次 數等),某些任務在處理器單元上運行能效比高,而某些任務適合可重構邏輯單 元中運行能效比高,按照對起能效比的分析,將其分配到不同的單元上運行。
所述任務顆粒度,即某個可以被完整執行的任務的程序片段。按照任務本 身的算法特點,任務可以被劃分成若干個子任務的集合,父任務和子任務具有 大小不同的顆粒度大小。父任務的劃分及相關子任務的劃分與合并原則,也是 根據任務本身的算法特點(即其執行任務的效費比和資源的利用率)來確定的。
任務及其屬性的有窮集合T中的元素是以二元序偶的形式給出的,第一元 給出對任務的編號,第二元給出相關屬性,表示為(<tl, al>,<t2, a2>,…, <tn, an>},其中t表示任務,ai表示相對應的任務的屬性,其中i為從1到n 的自然數,任務本身的特點和屬性包括起點任務、終點任務、普通任務,在任 務劃分時,主要以任務自身固有的特點為依據,先不考慮資源的限制情況。
其次,依照問題求解思路,將與之相適應的任務之間的串行、自循環、并 行、獨占式選擇、鑒別式選擇、抄送、發散、同步聚合、簡單聚合、多重聚合運轉方式加以描述,形成任務之間的關系集合R,為任務之間的運轉方式提供支 持;
第三,根據實際問題的要求及其對系統各種資源的需求相關因素,構造任 務的啟動和停止條件,形成任務的啟動條件集合SC和終止條件集合EC;對系 統的重構、任務的啟動和停止、任務的調度與優化提供支持;
任務的啟動條件集合SC中的元素既有任務編號也有該任務的啟動條件,任 務的啟動條件包含對各種資源的要求、前驅任務完成情況的要求,任務必須先 滿足啟動條件才能被啟動執行;任務的啟動條件具體表示為一個整數值,通過 素數分解來具體確定各個資源的需求情況,即給出資源與部分小素數的一一對 應關系,通過數值在素因子分解中相應素數的冪次來表示對其資源的具體需求 量。啟動條件包括人工激活、定時或限時激活、其它任務激活多種方式,為系 統的重構提供依據,并指導任務的調度。
任務的終止條件集合EC中的元素既有任務編號也有該任務的終止條件,任 務流中每個任務的停止時機由其終止條件所決定,終止條件包括正常完成、暫 停和異常終止三種情況;當終止條件滿足時,任務將根據上述三種情況實施正 常停止、暫停或報告異常。
第四,在軟、硬任務劃分原則和任務顆粒度的確定原則指導下,針對實際 問題將問題求解方案與過程按照任務流的方式進行組織,從起始任務到終止任 務的相關路徑構成一個有向圖,形成任務的有窮序列集合TS。任務的有窮序列 集合TS,反映了流的特征、依賴關系特征、協同關系特征,反映了具體問題的 求解方案與過程,根據任務的特性進行映射,根據計算任務的并行性和協同性, 對它所涉及的存儲和通信進行封裝。
本領域的技術人員在不脫離本發明原理的基礎上,可以作出各種無實質差 別的修改或者變換。應當指出,凡是依據本發明申請的權利要求書及說明書內 容所作的簡單、等效變化與修飾,都屬于本發明的權利要求保護范圍。
權利要求
1、一種任務流計算模型,以一個五元組{T,R,SC,EC,TS}的形式表述了在任務流的方式下求解復雜問題的途徑,其特征在于所述五元組中,1)T是任務及其屬性的有窮集合,將對復雜問題的求解過程描述為應用程序,通過程序代碼把復雜問題的求解過程表達為一組消耗并產生任務流的處理過程,在考慮到系統可重構的前提下,給出軟、硬任務劃分原則和任務顆粒度的確定原則,在軟、硬任務劃分原則和任務顆粒度的確定原則指導下,針對實際問題給出任務及其屬性的有窮集合T;2)R是任務之間的關系集合,依照問題求解思路,將與之相適應的任務之間的串行、自循環、并行、獨占式選擇、鑒別式選擇、抄送、發散、同步聚合、簡單聚合、多重聚合運轉方式加以描述,形成任務之間的關系集合R,為任務之間的運轉方式提供支持;3)SC是任務的啟動條件集合,4)EC是任務的終止條件集合,根據實際問題的要求及其對系統各種資源的需求相關因素,構造任務的啟動和停止條件,形成任務的啟動條件集合SC和終止條件集合EC;對系統的重構、任務的啟動和停止、任務的調度與優化提供支持;5)TS是任務的有窮序列的集合,在軟、硬任務劃分原則和任務顆粒度的確定原則指導下,針對實際問題將問題求解方案與過程按照任務流的方式進行組織,從起始任務到終止任務的相關路徑構成一個有向圖,形成任務的有窮序列集合TS。
2、 根據權利要求1所述的任務流計算模型,其特征在于根據任務的能效 比分析和資源利用率的不同以及任務本身的算法特點,包括計算量、訪存要求、 被調用次數,將那些在處理器單元上運行能效比高的任務即"軟任務"分配到 處理器單元上運行,而將那些適合可重構邏輯單元中運行且能效比高的任務即 "硬任務",分配到可重構邏輯單元上運行;按照任務本身的算法特點,即執行任務的能效比和資源的利用率,將任務劃分成若干個子任務的集合,父任務和 子任務具有大小不同的顆粒度大小;父任務的劃分及相關子任務的劃分與合并 原則根據任務本身的算法特點來確定。
3、 根據權利要求1或2所述的任務流計算模型,其特征在于所述的任務 及其屬性的有窮集合T中的元素是以二元序偶的形式給出的,第一元給出對任 務的編號,第二元給出相關屬性,表示為{<tl, al〉,<t2, a2>,, <tn, an〉}, 其中t表示任務,ai表示相對應的任務的屬性,其中i為從l到n的自然數,任 務本身的特點和屬性包括起點任務、終點任務、普通任務,在任務劃分時,主 要以任務自身固有的特點為依據,先不考慮資源的限制情況。
4、 根據權利要求3所述的任務流計算模型,其特征在于所述的任務的啟 動條件集合SC中的元素既有任務編號也有該任務的啟動條件,任務的啟動條件 包含對各種資源的要求、前驅任務完成情況的要求,任務必須先滿足啟動條件 才能被啟動執行;任務的啟動條件具體表示為一個整數值,通過素數分解來具 體確定各個資源的需求情況,即給出資源與部分小素數的一一對應關系,通過 數值在素因子分解中相應素數的冪次來表示對其資源的具體需求量。
5、 根據權利要求3所述的任務流計算模型,其特征在于啟動條件包括人 工激活、定時或限時激活、其它任務激活多種方式,為系統的重構提供依據, 并指導任務的調度。
6、 根據權利要求3所述的任務流計算模型,其特征在于所述的任務的終 止條件集合EC中的元素既有任務編號也有該任務的終止條件,任務流中每個任 務的停止時機由其終止條件所決定,終止條件包括正常完成、暫停和異常終止 三種情況;當終止條件滿足時,任務將根據上述三種情況實施正常停止、暫停 或報告異常。
7、 根據權利要求3所述的任務流計算模型,其特征在于所述的任務的有 窮序列集合TS,反映了流的特征、依賴關系特征、協同關系特征,反映了具體 問題的求解方案與過程,根據任務的特性進行映射,根據計算任務的并行性和 協同性,對它所涉及的存儲和通信進行封裝。
全文摘要
本發明公開了一種適用于可重構高效能計算機系統的任務流計算模型。以一個五元組{T,R,SC,EC,TS}的形式表述了在任務流的方式下求解問題的途徑,其中T是任務的有窮集合,R是任務之間的關系集合,SC是任務的啟動條件集合,EC是任務的終止條件集合,TS是任務的有窮序列集合。在不受資源等因素制約的前提下,力求以求解問題的最佳方案為牽引,合理劃分軟、硬任務的粒度,根據問題和任務的需求重構系統,達到高效費比、高利用率。本發明任務流計算模型將任務作為一個基本單元來處理,給出了任務流的定義,任務的劃分原則,任務流的各種形式。該模型可用于不同粒度并行性的刻畫,為準確清晰地劃分任務和描述面向任務流的可重構高效能計算奠定基礎。
文檔編號G06F9/46GK101408850SQ20081023111
公開日2009年4月15日 申請日期2008年11月27日 優先權日2008年11月27日
發明者遠 姚, 龐建民, 羅軍勇, 黃建華 申請人:中國人民解放軍信息工程大學