專利名稱:異構(gòu)系統(tǒng)的任務(wù)處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),尤其涉及一種異構(gòu)系統(tǒng)的任務(wù)處理方法及裝置。
背景技術(shù):
隨著高性能計算機體系的變革,各種新型體系結(jié)構(gòu)不斷涌現(xiàn)。采用多核處理器與定制加速協(xié)處理器相結(jié)合的異構(gòu)混合體系成為構(gòu)造千萬億次計算機系統(tǒng)的一種可行途徑。其中,異構(gòu)計算(Heterogeneous Computing)主要指使用不同類型指令集和體系架構(gòu)的計算單元組成系統(tǒng)的計算方式。該異構(gòu)計算按以何種形式來提供計算類型多樣性,可分為系統(tǒng)異構(gòu)計算(System Heterogeneous Computing,簡稱SHC)和網(wǎng)絡(luò)異構(gòu)計算(NetworkHeterogeneous Computing,簡稱NHC),其中SHC中以多處理器形式提供多種計算類型,NHC中以網(wǎng)絡(luò)連接的多計算機形式提供多種計算類型。該SHC中的計算設(shè)備類別可以包括圖形處理器(Graphic Processing Unit,簡稱 GPU)、中央處理器(Central ProcessingUnit,簡稱CPU)、數(shù)字信號處理(Digital Signal Processing,簡稱DSP)、專用集成電路(Application Specific Integrated Circuit,簡稱 ASIC)、現(xiàn)場可編程門陣列(Field —Programmable Gate Array,簡稱 FPGA)等。
為了避免異構(gòu)計算領(lǐng)域發(fā)展混亂,提出了一種開放計算機語言(Open ComputingLanguage,簡稱OpenCL),來作為開放式通用計算標準,其中OpenCL提供了基于任務(wù)和基于數(shù)據(jù)這兩種并行計算方式。目前,支持OpenCL的硬件平臺不斷增多,OpenCL平臺通常包括一個主機和多個OpenCL設(shè)備。主機接收到應用程序發(fā)送的計算任務(wù),根據(jù)該計算任務(wù)中指定的計算設(shè)備,主機為該計算設(shè)備編寫設(shè)備端程序,而后將設(shè)備端程序發(fā)送給上述指定的計算設(shè)備,然后由該計算設(shè)備執(zhí)行以實現(xiàn)計算任務(wù)。
但是,采用現(xiàn)有技術(shù)中的方法,會導致一些計算設(shè)備的計算任務(wù)過多,而另一些計算設(shè)備閑置,從而造成各計算設(shè)備使用不合理的問題。發(fā)明內(nèi)容
本發(fā)明提供一種異構(gòu)系統(tǒng)的任務(wù)處理方法及裝置,用于優(yōu)化異構(gòu)系統(tǒng)中對計算設(shè)備的合理使用。
本發(fā)明第一方面提供一種異構(gòu)系統(tǒng)的任務(wù)處理方法,包括:
接收計算任務(wù);
根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備;
將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果;
其中,所述異構(gòu)系統(tǒng)包括至少兩種類型的計算設(shè)備。
結(jié)合第一方面,在第一方面的第一種可能的實施方式中,所述接收計算任務(wù)之后,還包括:
從所述計算任務(wù)中解析獲取所述任務(wù)信息;
根據(jù)所述計算任務(wù)的任務(wù)信息對所述計算任務(wù)進行分類;
將分類后的所述計算任務(wù)存儲在任務(wù)信息數(shù)據(jù)庫中。
結(jié)合第一方面,在第一方面的第二種可能的實施方式中,所述根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備之前,還包括:
在所述異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到所述異構(gòu)系統(tǒng)中時,獲取設(shè)備信息;
根據(jù)所述設(shè)備信息對所述異構(gòu)系統(tǒng)的計算設(shè)備進行分類;
將獲取到的設(shè)備信息按照所述計算設(shè)備的分類存儲在設(shè)備資源池數(shù)據(jù)庫中。
結(jié)合第一方面至第一方面的第二種可能額實施方式中任一項,在第一方面的第三種可能額實施方式中,所述根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備包括:
根據(jù)所述計算任務(wù)的分類和所述計算設(shè)備的分類,查找與所述計算任務(wù)對應類型的計算設(shè)備組,所述計算設(shè)備組中包括至少一個相同類型的計算設(shè)備;
根據(jù)所述計算設(shè)備組中各計算設(shè)備的所述設(shè)備信息,采用調(diào)度算法,從所述計算設(shè)備組中選擇至少一個目標計算設(shè)備。
結(jié)合第一方面的第三種可能的實施方式,在第一方面的第四種可能的實施方式中,所述將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果包括:
將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算;
在任務(wù)信息數(shù)據(jù)庫中刪除所述計算任務(wù);
根據(jù)目標計算設(shè)備分配的計算任務(wù),在設(shè)備資源池數(shù)據(jù)庫中更新所述目標計算設(shè)備的設(shè)備信息;
接收所述目標計算設(shè)備返回的計算結(jié)果。
結(jié)合第一方面 的第四種可能的 實施方式,在第一方面的第五種可能的實施方式中,所述將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算包括:
根據(jù)所述計算任務(wù),確定與所述目標計算設(shè)備對應的任務(wù)程序;
將所述任務(wù)程序發(fā)送給所述目標計算設(shè)備。
結(jié)合第一方面或第一方面的第五種可能的實施方式,在第一方面的第六種可能的實施方式中,所述任務(wù)信息包括下述信息的至少一個或組合:計算任務(wù)的分類信息、優(yōu)先級Ih息、所需計算單兀 目息和所需存儲空間 目息;
所述設(shè)備信息包括下述信息的至少一個或組合:計算設(shè)備的類型信息、供應商信息、型號、初始可用資源信息和即時可用資源信息。
本發(fā)明第二方面提供一種異構(gòu)系統(tǒng)的任務(wù)處理裝置,包括:
接收模塊,用于接收計算任務(wù);
調(diào)度模塊,用于根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備;
設(shè)備控制模塊,用于將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果;
其中,所述異構(gòu)系統(tǒng)包括至少兩種類型的計算設(shè)備。
結(jié)合第二方面,在第二方面的第一種可能的實施方式中,所述裝置還包括:
解析模塊,用于接收計算任務(wù)之后,從所述計算任務(wù)中解析獲取所述任務(wù)信息;
第一分類模塊,用于根據(jù)所述計算任務(wù)的任務(wù)信息對所述計算任務(wù)進行分類;
第一存儲模塊,用于將分類后的所述計算任務(wù)存儲在任務(wù)信息數(shù)據(jù)庫中。
結(jié)合第二方面,在第二方面的第二種可能的實施方式中,所述裝置還包括:
獲取模塊,用于在所述根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備之前,在所述異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到所述異構(gòu)系統(tǒng)中時,獲取設(shè)備信息;
第二分類模塊,用于根據(jù)所述設(shè)備信息對所述異構(gòu)系統(tǒng)的計算設(shè)備進行分類;
第二存儲模塊,用于將獲取到的設(shè)備信息按照所述計算設(shè)備的分類存儲在設(shè)備資源池數(shù)據(jù)庫中。
結(jié)合第二方面至第二方面的第二種可能的實施方式中任一項,在第二方面的第三種可能的實施方式中,所述調(diào)度模塊,具體用于根據(jù)所述計算任務(wù)的分類和所述計算設(shè)備的分類,查找與所述計算任務(wù)對應類型的計算設(shè)備組,所述計算設(shè)備組中包括至少一個相同類型的計算設(shè)備;根據(jù)所述計算設(shè)備組中各計算設(shè)備的所述設(shè)備信息,采用調(diào)度算法,從所述計算設(shè)備組中選擇至少一個目標計算設(shè)備。
結(jié)合第二方面的第三種可能的實施方式,在第二方面的第四種可能的實施方式中,所述設(shè)備控制模塊,用于將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算;在任務(wù)信息數(shù)據(jù)庫中刪除所述計算任務(wù);根據(jù)目標計算設(shè)備分配的計算任務(wù),在設(shè)備資源池數(shù)據(jù)庫中更新所述目標計算設(shè)備的設(shè)備信息;
所述接收模塊,還用于接收所述目標計算設(shè)備返回的計算結(jié)果。
結(jié)合第二方面的第四種可能的實施方式,在第二方面的第五種可能的實施方式中,所述設(shè)備控制模塊,具體用于根據(jù)所述計算任務(wù),確定與所述目標計算設(shè)備對應的任務(wù)程序;將所述任務(wù)程序發(fā)送給所述目標計算設(shè)備。
結(jié)合第二方面至第二方面的第五種可能的實施方式中任一項,在第二方面的第六種可能的實施方式中,所述任務(wù)信息包括下述信息的至少一個或組合:計算任務(wù)的分類信息、優(yōu)先級/[目息、所需計算單兀彳目息和所需存儲空間 目息;
所述設(shè)備信息包括下述信息的至少一個或組合:計算設(shè)備的類型信息、供應商信息、型號、初始可用資源信息和即時可用資源信息。
本發(fā)明實施例中,在接收到計算任務(wù)后,根據(jù)計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標設(shè)備,將接收到的計算任務(wù)分配給目標計算設(shè)備,由于是根據(jù)計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,選擇的目標計算設(shè)備,從而使得異構(gòu)系統(tǒng)中各種類型中的各計算設(shè)備的調(diào)度更為合理,避免了由于給一些設(shè)備分配的計算任務(wù)過多,而另一些設(shè)備分配的計算任務(wù)太少或沒有分配計算任務(wù)而導致資源浪費,從而提高異構(gòu)系統(tǒng)中計算設(shè)備的整體計算效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例一的流程示意圖2為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例二的流程示意圖3為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例三的流程示意圖4為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例四的流程示意圖5為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例五的流程示意圖6為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例六的流程示意圖7為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例七的流程示意圖8為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理裝置實施例一的結(jié)構(gòu)示意圖9為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理裝置實施例二的結(jié)構(gòu)示意圖10為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理裝置實施例三的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖1為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例一的流程示意圖,異構(gòu)系統(tǒng)中可以包括一個主機和多個不同類型的計算設(shè)備,主機上可以配置多個應用模塊,由應用模塊產(chǎn)生計算任務(wù),計算設(shè)備用于執(zhí)行各計算任務(wù)。本實施例的執(zhí)行主體為異構(gòu)系統(tǒng)的任務(wù)處理裝置,該裝置可以采用軟件或硬件的方式實現(xiàn),可集成在主機中。如圖1所示,該方法包括:
SlOl、接收計算任務(wù);
該計算任務(wù)可以是應用模塊發(fā)送的,該應用模塊具體地可以是一種應用程序或一種實體的應用設(shè)備。該應用模塊可以集成在主機中,或者配置在網(wǎng)絡(luò)側(cè)。其中,應用模塊為了提供應用功能需要執(zhí)行大量的工作負載行為,該工作負載行為可以包括控制密集型應用、數(shù)據(jù)密集型應用、計算密集型應用等,舉例說明,這些應用可以為數(shù)據(jù)挖掘、迭代方法、數(shù)值方法和金融建模等;
本發(fā)明實施例主要涉及計算密集型應用,這類應用的吞吐量嚴重依賴于底層計算設(shè)備的計算效率,因此,本發(fā)明實施例提供的調(diào)度機制更能適應于計算密集型應用。然而,其他類型的應用也可以適用于本發(fā)明實施例的異構(gòu)系統(tǒng)的任務(wù)處理方法。
S102、根據(jù)上述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從上述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備。
具體地,該預設(shè)的調(diào)度規(guī)則可以是考慮計算任務(wù)的優(yōu)先級、計算設(shè)備的可用資源信息,采用某種算法獲取多種信息綜合后結(jié)果的規(guī)則。具體地,計算任務(wù)的優(yōu)先級可以在解析計算任務(wù)時從計算任務(wù)中獲取到,計算設(shè)備的可用資源信息可以在獲取設(shè)備信息時實時采集計算設(shè)備的資源狀態(tài)而獲取到,計算設(shè)備的可用資源可以包括計算設(shè)備中可用處理單元、可用存儲單元的數(shù)量,其中,可用處理單元跟所述計算設(shè)備的核數(shù)相關(guān),可用存儲單元的數(shù)量和存儲空間大小相關(guān)。
S103、將上述計算任務(wù)分配給上述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果;
具體地,接收到計算設(shè)備返回的計算結(jié)果后,通過主機反饋給下發(fā)計算任務(wù)的應用模塊。
需要說明的是,本發(fā)明實施例中上述異構(gòu)系統(tǒng)包括至少兩種類型的計算設(shè)備,例如包括多個CPU和多個GPU等多種類型的計算設(shè)備。
本實施例中,在接收到計算任務(wù)后,根據(jù)計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標設(shè)備,將接收到的計算任務(wù)分配給目標計算設(shè)備,由于是根據(jù)計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,選擇的目標計算設(shè)備,從而使得異構(gòu)系統(tǒng)中各種類型中的各計算設(shè)備的調(diào)度更為合理,避免了由于給一些設(shè)備分配的計算任務(wù)過多,而另一些設(shè)備分配的計算任務(wù)太少或沒有分配計算任務(wù)而導致資源浪費,從而提高異構(gòu)系統(tǒng)中計算設(shè)備的整體計算效率。
圖2為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例二的流程示意圖,在實施例一的基礎(chǔ)上,如圖2所示,SlOl接收計算任務(wù)之后,還可以執(zhí)行下述步驟:
S201、從該計算任務(wù)中解析獲取上述任務(wù)信息。該任務(wù)信息可以包含下述信息的至少一個或組合:計算任務(wù)的分類信息、優(yōu)先級信息、所需計算單元信息和所需存儲空間信息等。
S202、根據(jù)上述計算任務(wù)的任務(wù)信息對上述計算任務(wù)進行分類。
S203、將分類后的該計算任務(wù)存儲在任務(wù)信息數(shù)據(jù)庫中。
—般可以根據(jù)上述任務(wù)信息中的計算任務(wù)的分類信息對計算任務(wù)進行分類,該計算任務(wù)的分類信息可以為計算任務(wù)的特性屬性,例如圖像處理的計算任務(wù)可以分為一類;在存儲時,可以根據(jù)分類,將計算任務(wù)分別存儲。
由于應用模塊的計算任務(wù)可能很多,需要排隊進行調(diào)度處理,所以可以獲取計算任務(wù)的任務(wù)信息進行存儲,以備后續(xù)進行調(diào)度。對于計算任務(wù)的分類,有助于對應查找到與此類計算任務(wù)對應的計算設(shè)備,以便于在較小的合適范圍內(nèi)找到目標計算設(shè)備,能提高查找效率。對計算任務(wù)的分類可以根據(jù)調(diào)度的需求來執(zhí)行。典型的是根據(jù)計算任務(wù)所需要的計算設(shè)備類型來對計算任務(wù)進行分類。
圖3為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例三的流程示意圖,在上述實施例的基礎(chǔ)上,如圖3所示,在S102根據(jù)上述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從上述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備之前,還可以執(zhí)行下述步驟:
S301、在該異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到上述異構(gòu)系統(tǒng)中時,獲取設(shè)備信息。
具體地,該設(shè)備信息包括下述信息的至少一個或組合:計算設(shè)備的類型信息、供應商信息、型號、初始可用資源信息和即時可用資源信息等。異構(gòu)系統(tǒng)可以在計算設(shè)備注冊加載時采集設(shè)備信息。注冊加載可以發(fā)生在整個異構(gòu)系統(tǒng)初始化時對所有連接的計算設(shè)備進行加載,也可以在某個計算設(shè)備連接到異構(gòu)系統(tǒng)時,對該計算設(shè)備的設(shè)備信息進行補充采集。
S302、根據(jù)上述設(shè)備信息對上述異構(gòu)系統(tǒng)的計算設(shè)備進行分類。
為了便于統(tǒng)一管理這些計算設(shè)備,在存儲這些設(shè)備信息之前,將異構(gòu)系統(tǒng)中的計算設(shè)備劃分為多類多級,每一個可用的計算設(shè)備抽象成一個可調(diào)度的單元,每一個單元由一個二元組RU (P,M)表示,其中P表示該計算設(shè)備的可用處理單元的大小,M表示該計算設(shè)備的可用存儲空間的大??;進一步地將計算設(shè)備分類,具有相同使用特性的計算設(shè)備分為一類,可表示為RG (Σ RU,F(xiàn)),其中F表示這類計算設(shè)備的核心特性,通過分類,可以避免在調(diào)度過程中在大量無規(guī)則計算設(shè)備之間調(diào)度而造成對系統(tǒng)性能的消耗。
S303、將獲取到的設(shè)備信息按照上述計算設(shè)備的分類存儲在設(shè)備資源池數(shù)據(jù)庫中。
需要說明的是,并不僅限于在該異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到上述異構(gòu)系統(tǒng)中時獲取設(shè)備信息,還可以實時地獲取設(shè)備信息。例如,初始可用資源信息可以是在該異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到上述異構(gòu)系統(tǒng)中時獲取的,即時可用資源信息可以是在任意時刻獲取的,也可以是后續(xù)對設(shè)備資源池數(shù)據(jù)庫更新時獲取的,或者在需要分配計算任務(wù)時獲取,這些設(shè)備信息在設(shè)備資源池數(shù)據(jù)庫中是可以動態(tài)的加載、刪除或修改的,這樣可以保證更加合理地選擇目標計算設(shè)備。
圖4為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例四的流程示意圖,在上述實施例的基礎(chǔ)上,如圖4所示,上述根據(jù)上述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從上述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備的具體流程為:
S401、根據(jù)上述計算任務(wù)的分類和上述計算設(shè)備的分類,查找與上述計算任務(wù)對應類型的計算設(shè)備組,上述計算設(shè)備組中包括至少一個相同類型的計算設(shè)備。
例如一個圖像處理的計算任務(wù),確認該計算任務(wù)由GPU來執(zhí)行,于是查找到對應的GPU組,里面包含該異構(gòu)系統(tǒng)中所有的GPU。
S402、根據(jù)上述計算設(shè)備的上述設(shè)備信息,采用調(diào)度算法,從上述計算機設(shè)備組中選擇至少一個目標計算設(shè)備。
該調(diào)度算法可以有多種,主要是結(jié)合計算設(shè)備的類型、可用資源以及計算任務(wù)的特性等來確定;此時用到的設(shè)備信息,可以是選擇之前實時收集的。
以動態(tài)優(yōu)先權(quán)調(diào)度算法為例,先根據(jù)計算任務(wù)的分類,在設(shè)備資源池數(shù)據(jù)庫中根據(jù)分類后的計算設(shè)備的F特性確定出計算設(shè)備組,然后采用動態(tài)優(yōu)先權(quán)算法,即公式priority= (Kp*Pi+Km*Mi)*Kf來計算上述計算設(shè)備組中計算設(shè)備的優(yōu)先級,其中Kp表示處理單元的權(quán)重,Km表示內(nèi)存單元權(quán)重,Kf表示計算設(shè)備的特性的權(quán)重。
圖5為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例五的流程示意圖,在上述實施例的基礎(chǔ)上,對S402進行了優(yōu)化,在計算出該計算設(shè)備組中各計算設(shè)備的優(yōu)先級后,進一步還可以再結(jié)合這些計算設(shè)備的忙閑系數(shù),從上述計算機設(shè)備組中選擇至少一個目標計算設(shè)備,如圖5所示,具體為:
S501、計算上述計算設(shè)備組中各計算設(shè)備的優(yōu)先級,按照計算出的優(yōu)先級從高到低對計算設(shè)備進行排序。
S502、從上述計算設(shè)備組中選擇一個計算設(shè)備,一般第一次選擇時先選優(yōu)先級最高的計算設(shè)備,后續(xù)循環(huán)判斷的過程中,可以按照優(yōu)先級從高到低依次進行選擇。
S503、判斷選擇的計算設(shè)備是否繁忙,具體可以根據(jù)計算設(shè)備正在執(zhí)行的計算任務(wù)的數(shù)量來判斷,若是,則執(zhí)行S504,若否,則執(zhí)行S505。
S504、判斷上述選擇的計算設(shè)備是否為最后一個計算設(shè)備,即該計算設(shè)備組中的其它設(shè)備都已經(jīng)經(jīng)過判斷,若是,則執(zhí)行S506,若否,則返回執(zhí)行S502。
S505、根據(jù)上述計算任務(wù),確定與上述目標計算設(shè)備對應的任務(wù)程序。
S506、等待一定時延,之后返回S502,即過一段時候后該計算設(shè)備組中計算設(shè)備的繁忙狀態(tài)會發(fā)生變化,此時再重新進行選擇。
圖6為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例六的流程示意圖,在上述實施例的基礎(chǔ)上,將上述計算任務(wù)分配給上述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果,具體為:
S601、將上述計算任務(wù)分配給上述目標計算設(shè)備進行計算,即將要執(zhí)行的計算任務(wù)發(fā)送給選擇出的對應的計算設(shè)備。
S602、在上述任務(wù)信息數(shù)據(jù)庫中刪除上述計算任務(wù),具體地,將計算任務(wù)發(fā)送給對應的計算設(shè)備后,就無需再存儲該計算任務(wù),這樣可以節(jié)省內(nèi)存。
S603、根據(jù)目標計算設(shè)備分配的計算任務(wù),在上述設(shè)備資源池數(shù)據(jù)庫中更新上述目標設(shè)備的設(shè)備信息,即發(fā)送完計算任務(wù)之后,對該計算任務(wù)進行計算的目標計算設(shè)備的可用資源發(fā)生了變化,于是,要更新設(shè)備資源池數(shù)據(jù)庫中存儲的該目標計算設(shè)備的設(shè)備信息,這樣便于在后續(xù)選擇計算設(shè)備時,可以依據(jù)計算設(shè)備實時的設(shè)備信息,使得動態(tài)選擇計算設(shè)備的結(jié)果更加合理。
需要說明的是,S602和S603沒有執(zhí)行的先后順序。
S604、接收該目標計算設(shè)備返回的計算結(jié)果,并將該計算結(jié)果發(fā)送給下發(fā)該計算任務(wù)的對應應用模塊。
圖7為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理方法實施例七的流程示意圖,上述將計算任務(wù)分配給上述目標計算設(shè)備進行計算,具體為根據(jù)上述計算任務(wù),確定與上述目標計算設(shè)備對應的任務(wù)程序,將該任務(wù)程序發(fā)送給上述目標計算設(shè)備,在上述實施例的基礎(chǔ)上,如圖4所示,確定與上述目標計算設(shè)備對應的任務(wù)程序的具體過程為:
S701、創(chuàng)建(PI atform )平臺,該平臺初始化異構(gòu)系統(tǒng)中所有計算設(shè)備的類型,即確定該異構(gòu)系統(tǒng)都包括哪些類型的計算設(shè)備。
S702、創(chuàng)建計算設(shè)備,即從上述某一類型的計算設(shè)備中選擇出目標計算設(shè)備。
S703、創(chuàng)建上下文(context),即建立上述異構(gòu)系統(tǒng)中目標計算設(shè)備與主機的聯(lián)系O
S704、創(chuàng)建命令隊列,即分別建立主機對上述異構(gòu)系統(tǒng)中目標計算設(shè)備發(fā)送信息的通道。
需要說明的是,S701 S704可以是異構(gòu)系統(tǒng)的任務(wù)處理裝置預先初始化好的,也可以是在確定完目標計算設(shè)備后再進行。上述是以確定完目標計算設(shè)備后來描述的,如果是預先初始化好,那么S702可以是確定出該異構(gòu)系統(tǒng)中所有的計算設(shè)備或者可能用到的計算設(shè)備;S703可以是建立上述異構(gòu)系統(tǒng)中所有計算設(shè)備或可能用到的計算設(shè)備與主機的聯(lián)系;S704可以是分別建立主機對上述異構(gòu)系統(tǒng)中所有計算設(shè)備或可能用到的計算設(shè)備發(fā)送信息的通道。下述步驟可以是在具體要分配某個計算任務(wù)時再進行操作的。
S705、創(chuàng)建內(nèi)存對象,即建立存儲一些數(shù)據(jù)的對象,例如一個圖片處理的計算任務(wù),這里可以存儲待處理的圖片。
S706、創(chuàng)建程序?qū)ο?,即確定與上述目標計算設(shè)備對應的計算任務(wù),可以是提供該計算任務(wù)的存儲位置。
S707、編譯程序?qū)ο螅瑢⑸鲜鲇嬎闳蝿?wù)編譯為目標計算設(shè)備可以識別的程序,例如,一個圖像處理任務(wù)要發(fā)送給GPU設(shè)備,接收到的應用層下發(fā)的計算任務(wù)的編寫方式GPU設(shè)備不一定能識別,就將該圖像處理任務(wù)的對應程序編譯為GPU設(shè)備可以識別的格式。
S708、創(chuàng)建kernel對象,這里kernel是要具體發(fā)送給某一個計算設(shè)備的程序,它可以是上述程序?qū)ο笾械囊徊糠?,例如一個圖像處理任務(wù)總共有10個步驟,其中“上移”是其中一個步驟,要由具體的一個GPU設(shè)備來做,那么就創(chuàng)建“上移”對應的kernel。
S709、設(shè)置kernel參數(shù),即為具體的計算任務(wù)賦值,例如上述“上移”這個任務(wù),可能需要被賦予上移的距離、角度等數(shù)值。
上述編寫完成后,將該編寫完成的kernel程序發(fā)送給具體執(zhí)行該程序的其中一個目標計算設(shè)備即可。
本實施例中,接收到計算任務(wù)后,根據(jù)計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,并按照預設(shè)的調(diào)度規(guī)則,從上述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標設(shè)備,然后將接收到的計算任務(wù)分配給目標計算設(shè)備,這樣可以實現(xiàn)對異構(gòu)系統(tǒng)中各種類型中的各計算設(shè)備都進行合理調(diào)度,避免給一些設(shè)備分配的計算任務(wù)過多,而另一些設(shè)備沒有計算任務(wù)可以執(zhí)行,從而提高異構(gòu)系統(tǒng)中計算設(shè)備的整體計算效率;進一步地,將已經(jīng)發(fā)送給計算設(shè)備的計算任務(wù)刪除,可以節(jié)省存儲空間,且實時地對設(shè)備信息進行更新,更可以保證動態(tài)分配計算任務(wù)的合理性。
圖8為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理裝置實施例一的結(jié)構(gòu)示意圖,如圖8所示,該裝置包括:接收模塊801、調(diào)度模塊802和設(shè)備控制模塊803,其中:
接收模塊801,用于接收計算任務(wù);調(diào)度模塊802,用于根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備;設(shè)備控制模塊803,用于將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果;其中,所述異構(gòu)系統(tǒng)包括至少兩種類型的計算設(shè)備。
上述各模塊可用于執(zhí)行前述實施例一的方法,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
圖9為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理裝置實施例二的結(jié)構(gòu)示意圖,如圖9所示,在圖8的基礎(chǔ)上,該裝置還包括:解析模塊804、第一分類模塊805、第一存儲模塊806,其中:
解析模塊804,用于接收計算任務(wù)之后,從所述計算任務(wù)中解析獲取所述任務(wù)信息;第一分類模塊805,用于根據(jù)所述計算任務(wù)的任務(wù)信息對所述計算任務(wù)進行分類;第一存儲模塊806,用于將分類后的所述計算任務(wù)存儲在任務(wù)信息數(shù)據(jù)庫中。
圖10為本發(fā)明提供的異構(gòu)系統(tǒng)的任務(wù)處理裝置實施例三的結(jié)構(gòu)示意圖,如圖10所示,在圖8的基礎(chǔ)上,該裝置還包括:獲取模塊807,第二分類模塊808,第二存儲模塊809,其中:
獲取模塊807,用于在所述根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備之前,在所述異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到所述異構(gòu)系統(tǒng)中時,獲取設(shè)備信息;第二分類模塊808,用于根據(jù)所述設(shè)備信息對所述異構(gòu)系統(tǒng)的計算設(shè)備進行分類;第二存儲模塊809,用于將獲取到的設(shè)備信息按照所述計算設(shè)備的分類存儲在設(shè)備資源池數(shù)據(jù)庫中。
進一步地,上述調(diào)度模塊802,具體用于根據(jù)所述計算任務(wù)的分類和所述計算設(shè)備的分類,查找與所述計算任務(wù)對應類型的計算設(shè)備組,所述計算設(shè)備組中包括至少一個相同類型的計算設(shè)備;根據(jù)所述計算設(shè)備組中各計算設(shè)備的所述設(shè)備信息,采用調(diào)度算法,從所述計算設(shè)備組中選擇至少一個目標計算設(shè)備。
具體地,上述設(shè)備控制模塊803,用于將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算;設(shè)備控制模塊803,還用于在任務(wù)信息數(shù)據(jù)庫中刪除所述計算任務(wù);根據(jù)目標計算設(shè)備分配的計算任務(wù),在設(shè)備資源池數(shù)據(jù)庫中更新所述目標計算設(shè)備的設(shè)備信息;接收模塊801,還用于接收所述目標計算設(shè)備返回的計算結(jié)果。更具體地,上述設(shè)備控制模塊803,具體用于根據(jù)所述計算任務(wù),確定與所述目標計算設(shè)備對應的任務(wù)程序;將所述任務(wù)程序發(fā)送給所述目標計算設(shè)備。
需要說明的是,所述任務(wù)信息包括下述信息的至少一個或組合:計算任務(wù)的分類信息、優(yōu)先級信息、所需計算單元信息和所需存儲空間信息;所述設(shè)備信息包括下述信息的至少一個或組合:計算設(shè)備的類型信息、供應商信息、型號、初始可用資源信息和即時可用資源信息。
上述各模塊可用于執(zhí)行前述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
在本發(fā)明另一實施例中,還提供另一異構(gòu)系統(tǒng),該系統(tǒng)包括:主機、至少兩個不同類型的計算設(shè)備、接收器和處理器,其中,接收器,用于接收計算任務(wù)。處理器,用于根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)貝1J,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備;將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果。其中,所述異構(gòu)系統(tǒng)包括至少兩種類型的計算設(shè)備。
所述系統(tǒng)還包括存儲器,上述處理器,還用于接收計算任務(wù)之后,從所述計算任務(wù)中解析獲取所述任務(wù)信息;根據(jù)所述計算任務(wù)的任務(wù)信息對所述計算任務(wù)進行分類。該存儲器,用于將分類后的所述計算任務(wù)存儲在任務(wù)信息數(shù)據(jù)庫中。
上述處理器,還用于在所述根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備之前,在所述異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到所述異構(gòu)系統(tǒng)中時,獲取設(shè)備信息;根據(jù)所述設(shè)備信息對所述異構(gòu)系統(tǒng)的計算設(shè)備進行分類。上述存儲器,用于將獲取到的設(shè)備信息按照所述計算設(shè)備的分類存儲在設(shè)備資源池數(shù)據(jù)庫中。
上述處理器,具體用于根據(jù)所述計算任務(wù)的分類和所述計算設(shè)備的分類,查找與所述計算任務(wù)對應類型的計算設(shè)備組,所述計算設(shè)備組中包括至少一個相同類型的計算設(shè)備;根據(jù)所述計算設(shè)備組中各計算設(shè)備的所述設(shè)備信息,采用調(diào)度算法,從所述計算設(shè)備組中選擇至少一個目標計算設(shè)備。
上述處理器,用于將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算;在任務(wù)信息數(shù)據(jù)庫中刪除所述計算任務(wù);根據(jù)目標計算設(shè)備分配的計算任務(wù),在設(shè)備資源池數(shù)據(jù)庫中更新所述目標計算設(shè)備的設(shè)備信息。上述接收器,還用于接收所述目標計算設(shè)備返回的計算結(jié)果。其中,該處理器,具體用于根據(jù)所述計算任務(wù),確定與所述目標計算設(shè)備對應的任務(wù)程序;將所述任務(wù)程序發(fā)送給所述目標計算設(shè)備。
需要說明的是,所述任務(wù)信息包括下述信息的至少一個或組合:計算任務(wù)的分類信息、優(yōu)先級信息、所需計算單元信息和所需存儲空間信息。所述設(shè)備信息包括下述信息的至少一個或組合:計算設(shè)備的類型信息、供應商信息、型號、初始可用資源信息和即時可用資源信息。
上述異構(gòu)系統(tǒng)的處理可用于執(zhí)行前述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory, ROM)、隨機存取存儲器(Random Access Memory, RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種異構(gòu)系統(tǒng)的任務(wù)處理方法,其特征在于,包括: 接收計算任務(wù); 根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備; 將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果; 其中,所述異構(gòu)系統(tǒng)包括至少兩種類型的計算設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收計算任務(wù)之后,還包括: 從所述計算任務(wù)中解析獲取所述任務(wù)信息; 根據(jù)所述計算任務(wù)的任務(wù)信息對所述計算任務(wù)進行分類; 將分類后的所述計算任務(wù)存儲在任務(wù)信息數(shù)據(jù)庫中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備之前,還包括: 在所述異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到所述異構(gòu)系統(tǒng)中時,獲取設(shè)備信息; 根據(jù)所述設(shè)備信息對所述異構(gòu)系統(tǒng)的計算設(shè)備進行分類; 將獲取到的設(shè)備信息按照所述計算設(shè)備的分類存儲在設(shè)備資源池數(shù)據(jù)庫中。
4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備包括: 根據(jù)所述計算任 務(wù)的分類和所述計算設(shè)備的分類,查找與所述計算任務(wù)對應類型的計算設(shè)備組,所述計算設(shè)備組中包括至少一個相同類型的計算設(shè)備; 根據(jù)所述計算設(shè)備組中各計算設(shè)備的所述設(shè)備信息,采用調(diào)度算法,從所述計算設(shè)備組中選擇至少一個目標計算設(shè)備。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果包括: 將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算; 在任務(wù)信息數(shù)據(jù)庫中刪除所述計算任務(wù); 根據(jù)目標計算設(shè)備分配的計算任務(wù),在設(shè)備資源池數(shù)據(jù)庫中更新所述目標計算設(shè)備的設(shè)備信息; 接收所述目標計算設(shè)備返回的計算結(jié)果。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算包括: 根據(jù)所述計算任務(wù),確定與所述目標計算設(shè)備對應的任務(wù)程序; 將所述任務(wù)程序發(fā)送給所述目標計算設(shè)備。
7.根據(jù)權(quán)利要求1-6任一所述的方法,其特征在于, 所述任務(wù)信息包括下述信息的至少一個或組合:計算任務(wù)的分類信息、優(yōu)先級信息、所需計算單兀 目息和所需存儲空間 目息; 所述設(shè)備信息包括下述信息的至少一個或組合:計算設(shè)備的類型信息、供應商信息、型號、初始可用資源信息和即時可用資源信息。
8.—種異構(gòu)系統(tǒng)的任務(wù)處理裝置,其特征在于,包括: 接收模塊,用于接收計算任務(wù); 調(diào)度模塊,用于根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備; 設(shè)備控制模塊,用于將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果; 其中,所述異構(gòu)系統(tǒng)包括至少兩種類型的計算設(shè)備。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 解析模塊,用于接收計算任務(wù)之后,從所述計算任務(wù)中解析獲取所述任務(wù)信息; 第一分類模塊,用于根據(jù)所述計算任務(wù)的任務(wù)信息對所述計算任務(wù)進行分類; 第一存儲模塊,用于將分類后的所述計算任務(wù)存儲在任務(wù)信息數(shù)據(jù)庫中。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 獲取模塊,用于在所述根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備之前,在所述異構(gòu)系統(tǒng)的計算設(shè)備注冊加載到所述異構(gòu)系統(tǒng)中時,獲取設(shè)備信息; 第二分類模塊,用于根據(jù)所述設(shè)備信息對所述異構(gòu)系統(tǒng)的計算設(shè)備進行分類; 第二存儲模塊,用于將獲取到的設(shè)備信息按照所述計算設(shè)備的分類存儲在設(shè)備資源池數(shù)據(jù)庫中。
11.根據(jù)權(quán)利要求8-10任一所述的裝置,其特征在于,所述調(diào)度模塊,具體用于根據(jù)所述計算任務(wù)的分類和所述計算設(shè)備的分類,查找與所述計算任務(wù)對應類型的計算設(shè)備組,所述計算設(shè)備組中包括至少一個相同類型的計算設(shè)備;根據(jù)所述計算設(shè)備組中各計算設(shè)備的所述設(shè)備信息,采用調(diào)度算法,從所述計算設(shè)備組中選擇至少一個目標計算設(shè)備。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述設(shè)備控制模塊,具體用于將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算;在任務(wù)信息數(shù)據(jù)庫中刪除所述計算任務(wù);根據(jù)目標計算設(shè)備分配的計算任務(wù),在設(shè)備資源池數(shù)據(jù)庫中更新所述目標計算設(shè)備的設(shè)備信息; 所述接收模塊,還用于接收所述目標計算設(shè)備返回的計算結(jié)果。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述設(shè)備控制模塊,具體用于根據(jù)所述計算任務(wù),確定與所述目標計算設(shè)備對應的任務(wù)程序;將所述任務(wù)程序發(fā)送給所述目標計算設(shè)備。
14.根據(jù)權(quán)利要求 8-13任一所述的裝置,其特征在于, 所述任務(wù)信息包括下述信息的至少一個或組合:計算任務(wù)的分類信息、優(yōu)先級信息、所需計算單兀 目息和所需存儲空間 目息; 所述設(shè)備信息包括下述信息的至少一個或組合:計算設(shè)備的類型信息、供應商信息、型號、初始可用資源信息和即時可用資源信息。
全文摘要
本發(fā)明實施例提供一種異構(gòu)系統(tǒng)的任務(wù)處理方法及裝置,該方法包括接收計算任務(wù);根據(jù)所述計算任務(wù)的任務(wù)信息和異構(gòu)系統(tǒng)中至少一個計算設(shè)備的設(shè)備信息,按照預設(shè)的調(diào)度規(guī)則,從所述異構(gòu)系統(tǒng)的各計算設(shè)備中選擇目標計算設(shè)備;將所述計算任務(wù)分配給所述目標計算設(shè)備進行計算,并接收返回的計算結(jié)果;其中,所述異構(gòu)系統(tǒng)包括至少兩種類型的計算設(shè)備。本發(fā)明實施例中,通過根據(jù)任務(wù)信息和設(shè)備信息,以及預設(shè)調(diào)度規(guī)則來選擇目標計算設(shè)備,實現(xiàn)了對異構(gòu)系統(tǒng)中計算設(shè)備的合理使用。
文檔編號G06F9/50GK103197976SQ20131012454
公開日2013年7月10日 申請日期2013年4月11日 優(yōu)先權(quán)日2013年4月11日
發(fā)明者陳琳 申請人:華為技術(shù)有限公司