本發(fā)明實施例涉及數(shù)據(jù)處理領(lǐng)域,特別涉及一種異構(gòu)系統(tǒng)、數(shù)據(jù)處理方法及裝置。
背景技術(shù):
異構(gòu)系統(tǒng)是指將使用不同類型的指令集合和體系架構(gòu)的計算單元組成計算系統(tǒng)的計算方式。常見的異構(gòu)系統(tǒng)包括中央處理器(Central Processing Unit,CPU)類計算設(shè)備、圖形處理器(Graphics Processing Unit,GPU)類計算設(shè)備和現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)計算設(shè)備。
每種計算設(shè)備在執(zhí)行數(shù)據(jù)處理任務(wù)時具有各自擅長的類型,當(dāng)異構(gòu)系統(tǒng)中的管理設(shè)備接收到數(shù)據(jù)處理任務(wù)時,管理設(shè)備根據(jù)數(shù)據(jù)處理任務(wù)的類型將數(shù)據(jù)處理任務(wù)分配給異構(gòu)系統(tǒng)中相應(yīng)的計算設(shè)備進(jìn)行處理。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:在分配數(shù)據(jù)處理任務(wù)時,只考慮了數(shù)據(jù)處理任務(wù)的任務(wù)類型。當(dāng)計算設(shè)備的空心資源較少且被分配了較多的數(shù)據(jù)處理任務(wù),而其他種類的計算設(shè)備具有空閑資源時,降低了異構(gòu)系統(tǒng)的計算效率。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種異構(gòu)系統(tǒng)、數(shù)據(jù)處理方法及裝置。該技術(shù)方案如下:
第一方面,提供了一種異構(gòu)系統(tǒng),該異構(gòu)系統(tǒng)包括管理設(shè)備和n種計算設(shè)備,每個所述計算設(shè)備包括至少一種計算卡,n為大于等于2的整數(shù);
所述管理設(shè)備,用于根據(jù)數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從所述n種計算設(shè)備中確定具有執(zhí)行所述數(shù)據(jù)處理任務(wù)的能力的計算設(shè)備;將所述數(shù)據(jù)處理算法分解為至少兩個類型的處理算核,并根據(jù)所述處理算核的類型將所述數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù);根據(jù)功效比和能效比從所述計算設(shè)備中確定出目標(biāo)計算設(shè)備;將所述預(yù)定處理任務(wù)發(fā)送至所述目標(biāo)計算設(shè)備;接收所述目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,并組合所述處理結(jié)果得到最終處理結(jié)果;
所述目標(biāo)計算設(shè)備,用于執(zhí)行所述預(yù)定處理任務(wù)
可選的,所述管理設(shè)備,還用于將所述預(yù)定處理任務(wù)發(fā)送至集中式運算集群中的至少一個服務(wù)器和/或分布式運算集群中的至少一個普通計算機;
其中,所述集中式運算集群中包括至少一種計算卡,所述分布式運算集群中包括至少一種計算卡。
可選的,所述至少一種計算卡包括中央處理器CPU類計算卡、圖像處理器GPU類計算卡、現(xiàn)場可編程門陣列FPGA類計算卡和數(shù)字信號處理DSP類計算卡中的至少一種。
第二方面,提供了一種數(shù)據(jù)處理方法,應(yīng)用于包括管理設(shè)備和n種計算設(shè)備的異構(gòu)系統(tǒng)中,每個所述計算設(shè)備包括至少一種計算卡,n為大于等于2的整數(shù),該方法包括:
根據(jù)數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從所述n種計算設(shè)備中確定具有執(zhí)行所述數(shù)據(jù)處理任務(wù)的能力的計算設(shè)備;
將所述數(shù)據(jù)處理算法分解為至少兩個類型的處理算核,并根據(jù)所述處理算核的類型將所述數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù);
根據(jù)功效比和能效比從所述計算設(shè)備中確定出目標(biāo)計算設(shè)備,所述目標(biāo)計算設(shè)備用于執(zhí)行所述預(yù)定處理任務(wù);
將所述預(yù)定處理任務(wù)發(fā)送至所述目標(biāo)計算設(shè)備;
接收所述目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,并組合所述處理結(jié)果得到最終處理結(jié)果。
可選的,所述將所述預(yù)定處理任務(wù)發(fā)送至所述目標(biāo)計算設(shè)備,包括:
將所述預(yù)定處理任務(wù)發(fā)送至集中式運算集群中的至少一個服務(wù)器和/或分布式運算集群中的至少一個普通計算機;
其中,所述集中式運算集群中包括至少一種計算卡,所述分布式運算集群中包括至少一種計算卡。
可選的,所述至少一種計算卡包括中央處理器CPU類計算卡、圖像處理器GPU類計算卡、現(xiàn)場可編程門陣列FPGA類計算卡和數(shù)字信號處理DSP類計算卡中的至少一種。
第三方面,提供了一種數(shù)據(jù)處理裝置,該裝置包括:
第一確定單元,用于根據(jù)數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從n種計算設(shè)備中確定具有執(zhí)行所述數(shù)據(jù)處理任務(wù)的能力的計算設(shè)備,每個所述計算設(shè)備包括至少一種計算卡,n為大于等于2的整數(shù);
分解單元,用于將所述數(shù)據(jù)處理算法分解為至少兩個類型的處理算核,并根據(jù)所述處理算核的類型將所述數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù);
第二確定單元,用于根據(jù)功效比和能效比從所述計算設(shè)備中確定出目標(biāo)計算設(shè)備,所述目標(biāo)計算設(shè)備用于執(zhí)行所述預(yù)定處理任務(wù);
發(fā)送單元,用于將所述預(yù)定處理任務(wù)發(fā)送至所述目標(biāo)計算設(shè)備;
組合單元,用于接收所述目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,并組合所述處理結(jié)果得到最終處理結(jié)果。
可選的,所述將發(fā)送單元,還用于:
將所述預(yù)定處理任務(wù)發(fā)送至集中式運算集群中的至少一個服務(wù)器和/或分布式運算集群中的至少一個普通計算機;
其中,所述集中式運算集群中包括至少一種計算卡,所述分布式運算集群中包括至少一種計算卡。
可選的,所述至少一種計算卡包括中央處理器CPU類計算卡、圖像處理器GPU類計算卡、現(xiàn)場可編程門陣列FPGA類計算卡和數(shù)字信號處理DSP類計算卡中的至少一種。
本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
通過管理設(shè)備根據(jù)數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從n種計算設(shè)備中確定具有執(zhí)行數(shù)據(jù)處理任務(wù)的能力的計算設(shè)備;將數(shù)據(jù)處理算法分解為至少兩個類型的處理算核,并根據(jù)處理算核的類型將數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù);根據(jù)功效比和能效比從計算設(shè)備中確定出目標(biāo)計算設(shè)備,由目標(biāo)計算設(shè)備執(zhí)行預(yù)定處理任務(wù);管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至目標(biāo)計算設(shè)備;接收目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,并組合處理結(jié)果得到最終處理結(jié)果;解決了在分配數(shù)據(jù)處理任務(wù)時,從數(shù)據(jù)處理任務(wù)的類型的角度將數(shù)據(jù)處理任務(wù)看作一個整體,只向一個類型的計算設(shè)備發(fā)送數(shù)據(jù)處理任務(wù),可能會降低異構(gòu)系統(tǒng)的計算效率的問題;達(dá)到了將一個數(shù)據(jù)處理任務(wù)按其對應(yīng)的處理算法包括的算核進(jìn)行拆分,由不同種類的計算設(shè)備同時進(jìn)行數(shù)據(jù)處理,提高異構(gòu)系統(tǒng)計算能力和計算效率的效果。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一示例性實施例提供的異構(gòu)系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本發(fā)明一個示例性實施例提供的管理設(shè)備的結(jié)構(gòu)示意圖;
圖3是本發(fā)明一個示例性實施例提供的集中式運算集群中的計算設(shè)備的結(jié)構(gòu)示意圖;
圖4是本發(fā)明一個示例性實施例提供的分布式運算集群中的計算設(shè)備的結(jié)構(gòu)示意圖;
圖5是本發(fā)明一示例性實施例示出的一種計算卡的結(jié)構(gòu)示意圖;
圖6是根據(jù)一示例性實施例示出的一種數(shù)據(jù)處理方法的流程圖;
圖7是根據(jù)一示例性實施例示出的一種數(shù)據(jù)處理裝置的框圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
圖1是根據(jù)本發(fā)明一示例性實施例提供的異構(gòu)系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,該異構(gòu)系統(tǒng)至少包括管理設(shè)備100、集中式運算集群200、分布式運算集群300。
可選的,管理設(shè)備為具有管理計算設(shè)備功能的管理服務(wù)器。
集中式運算集群200中包括若干個計算設(shè)備。集中式運算集群200至少包括n種計算卡,每個計算設(shè)備包括至少一種計算卡,n為大于等于2的整數(shù)??蛇x的,集中式運算集群中包括的計算設(shè)備為服務(wù)器。
分布式運算集群300中包括若干個計算設(shè)備,分布式運算集群200至少包括n種計算卡,每個計算設(shè)備包括至少一種計算卡,n為大于等于2的整數(shù)。可選的,分布式運算集群中包括的計算設(shè)備為普通計算機。
需要說明的是,集中式運算集群中計算設(shè)備的數(shù)量和分布式運算集群中計算設(shè)備的數(shù)量根據(jù)實際需求確定??蛇x的,集中式運算集群中計算設(shè)備的數(shù)量為5個,分布式運算集群中計算設(shè)備的數(shù)量為5個。
管理設(shè)備100與分布式運算集群300中的各個計算設(shè)備建立間歇性通信連接。
管理設(shè)備100與分布式運算集群中的計算設(shè)備建立間歇性通信連接,是指當(dāng)管理設(shè)備100需要調(diào)用計算設(shè)備時,將計算設(shè)備與管理設(shè)備100連接,管理設(shè)備100與計算設(shè)備進(jìn)行數(shù)據(jù)傳輸;當(dāng)管理設(shè)備100不需要調(diào)用計算設(shè)備時,將與管理設(shè)備100連接的計算設(shè)備斷開,管理設(shè)備100與計算設(shè)備之間不進(jìn)行數(shù)據(jù)傳輸。
管理設(shè)備100與集中式運算集群200中的各個計算設(shè)備建立持續(xù)性通信連接。
管理設(shè)備100與集中式運算集群中的計算設(shè)備建立持續(xù)性通信連接,是指管理設(shè)備100在需要調(diào)用計算設(shè)備或不需要調(diào)用計算設(shè)備時都與計算設(shè)備連接,管理設(shè)備100可在任意時間與計算設(shè)備進(jìn)行數(shù)據(jù)傳輸。
管理設(shè)備100通過有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)與集中式運算集群200中的計算設(shè)備和/或分布式運算集群300中的計算設(shè)備連接。
可選的,上述的無線網(wǎng)絡(luò)或有線網(wǎng)絡(luò)使用標(biāo)準(zhǔn)通信技術(shù)和/或協(xié)議。網(wǎng)絡(luò)通常為因特網(wǎng)、但也可以是任何網(wǎng)絡(luò),包括但不限于局域網(wǎng)(英文:Local Area Network,LAN)、城域網(wǎng)(英文:Metropolitan Area Network,MAN)、廣域網(wǎng)(英文:Wide Area Network,WAN)、移動、有線或者無線網(wǎng)絡(luò)、專用網(wǎng)絡(luò)或25者虛擬專用網(wǎng)絡(luò)的任何組合)。在一些實施例中,使用包括超文本標(biāo)記語言(英文:Hyper Text Mark-up Language,HTML)、可擴展標(biāo)記語言(英文:Extensible Markup Language,XML)等的技術(shù)和/或格式來代表通過網(wǎng)絡(luò)交換的數(shù)據(jù)。此外還可以使用諸如安全套接字層(英文:Secure Socket Layer,SSL)、傳輸層安全(英文:Transport Layer Security,TLS)、虛擬專用網(wǎng)絡(luò)(英文:Virtual Private 30Network,VPN)、網(wǎng)際協(xié)議安全(英文:Internet Protocol Security,IPsec)等常規(guī)加密技術(shù)來加密所有或者一些鏈路。在另一些實施例中,還可以使用定制和/或?qū)S脭?shù)據(jù)通信技術(shù)取代或者補充上述數(shù)據(jù)通信技術(shù)。
圖2示出了本發(fā)明一個示例性實施例提供的管理設(shè)備100的結(jié)構(gòu)示意圖。該管理設(shè)備100包括處理器110、電源120、存儲器130、網(wǎng)絡(luò)接口140和總線150。
處理器110包括一個或者一個以上處理核心,處理器110通過運行軟件程序及模塊,執(zhí)行各種功能應(yīng)用預(yù)計數(shù)據(jù)處理。
網(wǎng)絡(luò)接口140可以為多個,其中一部分網(wǎng)絡(luò)接口140用于管理設(shè)備與集中式運算集群中的計算設(shè)備和/或分布式運算集群中的計算設(shè)備進(jìn)行通信。
網(wǎng)絡(luò)接口140和存儲器130分別通過總線150與處理器110連接。
電源120通過總線150分半與處理器110、存儲器130、網(wǎng)絡(luò)接口140連接。
存儲器130用于存儲軟件以及模塊。存儲器130可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序模塊。操作系統(tǒng)可以是RTX(Real Time Xecutive,實時操作系統(tǒng))、LINUX、UNIX、WINDOWS或OS X之類的操作系統(tǒng)。
此外,存儲器130可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。相應(yīng)地。
可選的,管理設(shè)備100還包括高速緩存器。
本領(lǐng)域技術(shù)人員可以理解,圖2中所示出的管理設(shè)備100結(jié)構(gòu)并不構(gòu)成對管理設(shè)備100的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
圖3示出了本發(fā)明一個示例性實施例提供的如圖1所示的集中式運算集群中的計算設(shè)備210的結(jié)構(gòu)示意圖。
計算設(shè)備210包括處理器211、電源212、存儲器213、網(wǎng)絡(luò)接口214、總線215和計算卡216。
可選的,計算卡為CPU類計算卡或GPU類計算卡或FPGA類計算卡或Digital Signal Processing,數(shù)字信號處理)類計算卡,或者,計算卡為CPU+GPU類計算卡,或計算卡為GPU+FPGA類計算卡。
處理器211包括一個或者一個以上處理核心,處理器211通過運行軟件程序及模塊,執(zhí)行各種功能應(yīng)用預(yù)計數(shù)據(jù)處理。
網(wǎng)絡(luò)接口214可以為多個,其中一部分網(wǎng)絡(luò)接口214用于計算設(shè)備210與管理設(shè)備100連接。
網(wǎng)絡(luò)接口214和存儲器213分別通過總線215與處理器211連接。
電源212通過總線215分半與處理器211、存儲器213、網(wǎng)絡(luò)接口214連接。
存儲器213用于存儲軟件以及模塊。存儲器213可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序模塊。操作系統(tǒng)可以是RTX、LINUX、UNIX、WINDOWS或OS X之類的操作系統(tǒng)。
此外,存儲器213可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。相應(yīng)地。
可選的,服務(wù)器210還包括高速緩存器。
本領(lǐng)域技術(shù)人員可以理解,圖2中所示出的計算設(shè)備210結(jié)構(gòu)并不構(gòu)成對計算設(shè)備210的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
本領(lǐng)域技術(shù)人員還可以理解,計算設(shè)備220、計算設(shè)備230等圖1中所示出的集中式運算集群200中的計算設(shè)備具有與圖2中所示出的計算設(shè)備210相同或者相似的結(jié)構(gòu)。
圖4示出了本發(fā)明一個示例性實施例提供的如圖1所示的分布式運算集群中的計算設(shè)備310的結(jié)構(gòu)示意圖。
計算設(shè)備310包括處理器311、電源312、存儲器313、網(wǎng)絡(luò)接口314、總線315和計算卡316。
可選的,計算卡為CPU類計算卡或GPU類計算卡或FPGA類計算卡或DSP類計算卡,或者,計算卡為CPU+GPU類計算卡,或計算卡為GPU+FPGA類計算卡。
處理器311包括一個或者一個以上處理核心,處理器311通過運行軟件程序及模塊,執(zhí)行各種功能應(yīng)用預(yù)計數(shù)據(jù)處理。
網(wǎng)絡(luò)接口314可以為多個,其中一部分網(wǎng)絡(luò)接口314用于計算設(shè)備310與管理設(shè)備連接。
網(wǎng)絡(luò)接口314和存儲器313分別通過總線315與處理器311連接。
電源312通過總線315分半與處理器311、存儲器313、網(wǎng)絡(luò)接口314連接。
存儲器313用于存儲軟件以及模塊。存儲器313可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序模塊。操作系統(tǒng)可以是RTX、LINUX、UNIX、WINDOWS或OS X之類的操作系統(tǒng)。
此外,存儲器313可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。相應(yīng)地。
可選的,計算設(shè)備310還包括高速緩存器。
本領(lǐng)域技術(shù)人員可以理解,圖4中所示出的計算設(shè)備310結(jié)構(gòu)并不構(gòu)成對計算設(shè)備310的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
本領(lǐng)域技術(shù)人員還可以理解,計算設(shè)備320、計算設(shè)備330等如圖1所示的分布式運算集群300中的計算設(shè)備具有與圖4中所示出的計算設(shè)備310相同或者相似的結(jié)構(gòu)。
在如圖3所示的計算設(shè)備或如圖4所示的計算設(shè)備中包括的計算卡的結(jié)構(gòu)示意圖如圖5所示,計算卡包括供電系統(tǒng)510、散熱系統(tǒng)520、擬態(tài)管理系統(tǒng)530、存儲管理系統(tǒng)540、外接口通信系統(tǒng)550、擬態(tài)計算系統(tǒng)560。
擬態(tài)管理系統(tǒng)550與擬態(tài)計算系統(tǒng)560連接,擬態(tài)管理系統(tǒng)550與存儲管理系統(tǒng)540連接,外接口通信系統(tǒng)550與擬態(tài)計算系統(tǒng)560連接。
外接口通信系統(tǒng)550用于將外接口及時序轉(zhuǎn)換為統(tǒng)一的局部總線接口及統(tǒng)一的時序。
擬態(tài)計算系統(tǒng)560用于將需要運算的數(shù)據(jù)通過相應(yīng)的算法轉(zhuǎn)化為數(shù)據(jù)結(jié)果,并進(jìn)行處理。
擬態(tài)管理系統(tǒng)530有多片功能完全相同的計算節(jié)點。
存儲管理系統(tǒng)540采用多片計算資源及高性能存儲器,每片計算節(jié)點連接多片功能完全相同的存儲芯片,存儲芯片中可存儲大量數(shù)據(jù)。
供電系統(tǒng)510用于對計算卡上的所有系統(tǒng)進(jìn)行供電。
散熱系統(tǒng)520用于對計算卡上的所有系統(tǒng)進(jìn)行散熱,減少熱量,防止計算卡過熱導(dǎo)致計算卡的功能出現(xiàn)異常。
可選的,外接口通信系統(tǒng)550連接服務(wù)器或者普通計算機的PCl-e插槽、RJ45網(wǎng)口、PCI插槽、ATCA、RS232或RS485等串口總線。
請參考圖6,其示出了本發(fā)明一個實施例提供的數(shù)據(jù)處理方法的流程圖。該數(shù)據(jù)處理方法適用于如圖1所示的異構(gòu)系統(tǒng)中。如圖6所示,該數(shù)據(jù)處理方法可以包括以下步驟:
步驟601,管理設(shè)備根據(jù)數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從n種計算設(shè)備中確定具有執(zhí)行數(shù)據(jù)處理任務(wù)的能力的計算設(shè)備。
異構(gòu)系統(tǒng)包括管理設(shè)備和n種計算設(shè)備,計算設(shè)備的種類根據(jù)計算設(shè)備包括的計算卡區(qū)分,n為大于等于2的整數(shù)。每個計算設(shè)備包括至少一種計算卡。
管理設(shè)備接收用戶端發(fā)送的數(shù)據(jù)處理任務(wù)。可選的,用戶端是將針對特定數(shù)據(jù)的數(shù)據(jù)處理任務(wù)發(fā)送至管理設(shè)備,并請求管理設(shè)備對該數(shù)據(jù)處理任務(wù)進(jìn)行處理的設(shè)備,比如:手機、平板電腦、個人計算機等。
每個數(shù)據(jù)處理任務(wù)對應(yīng)一個數(shù)據(jù)處理算法,管理設(shè)備根據(jù)數(shù)據(jù)處理任務(wù)獲取數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從n種計算設(shè)備中確定具有執(zhí)行數(shù)據(jù)處理任務(wù)能力的計算設(shè)備。
步驟602,管理設(shè)備將數(shù)據(jù)處理算法分解為至少兩個類型的處理算核,并根據(jù)處理算核的類型將數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù)。
每個數(shù)據(jù)處理算法包括至少兩個類型的處理算核。
可選的,管理設(shè)備根據(jù)處理算核的類型的數(shù)量將數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù),預(yù)定處理任務(wù)的數(shù)量與處理算核的類型的數(shù)量相同,一個預(yù)定處理任務(wù)對應(yīng)一個處理算核。比如:數(shù)據(jù)處理算法包括兩個處理算核,則將數(shù)據(jù)處理任務(wù)劃分為兩個預(yù)定處理任務(wù),每個預(yù)定處理任務(wù)對應(yīng)一個處理算核。
步驟603,管理設(shè)備根據(jù)功效比和能效比從計算設(shè)備中確定出目標(biāo)計算設(shè)備。
目標(biāo)計算設(shè)備用于執(zhí)行預(yù)定處理任務(wù)。
管理設(shè)備根據(jù)功效比和能效比,從具有執(zhí)行數(shù)據(jù)處理能力的計算設(shè)備中確定出目標(biāo)計算設(shè)備。
每種目標(biāo)計算設(shè)備執(zhí)行一種處理算核對應(yīng)的預(yù)定處理任務(wù)。
需要說明的是,步驟602和步驟603可以同時執(zhí)行,本發(fā)明實施例對此不作限定。
步驟604,管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至目標(biāo)計算設(shè)備。
管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至目標(biāo)計算設(shè)備。
可選的,管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至位于集中式運算集群中的至少一個服務(wù)器和/或位于分布式運算集群中的至少一個普通計算機。
集中式運算集群中包括至少一個服務(wù)器,每個服務(wù)器包括至少一種計算卡。分布式運算集群中包括至少一個普通計算機,每個普通計算機包括至少一種計算卡。
可選的,至少一種計算卡包括CPU類計算卡、GPU類計算卡、FPGA類計算卡和DSP類計算卡中的至少一種。
可選的,至少一種計算卡包括CPU類計算卡或GPU類計算卡或FPGA類計算卡或DSP類計算卡,或者,計算卡為CPU+GPU類計算卡,或計算卡為GPU+FPGA類計算卡中的至少一種。
具體地,管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至集中式運算集群中的至少一個服務(wù)器;或者,管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至分布式運算集群中的至少一個普通計算機;或者,管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至集中式運算集群中的至少一個服務(wù)器和分布式運算集群中的至少一個普通計算機。
具體地,當(dāng)管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至至少兩個計算設(shè)備時,可以將一種處理算核對應(yīng)的預(yù)定處理任務(wù)劃分為多個計算任務(wù),并將計算任務(wù)分配給各個能夠執(zhí)行該處理算核對應(yīng)的預(yù)定處理任務(wù)的計算設(shè)備。比如:處理算核為sha1算核,目標(biāo)計算設(shè)備中能夠執(zhí)行sha1算核對應(yīng)的預(yù)定處理任務(wù)的計算設(shè)備有5個,則將sha1算核對應(yīng)的預(yù)定處理任務(wù)劃分為5個計算任務(wù),將5個計算任務(wù)發(fā)送至能夠執(zhí)行sha1算核對應(yīng)的預(yù)定處理任務(wù)的5個計算設(shè)備;能夠執(zhí)行sha1算核對應(yīng)的預(yù)定處理任務(wù)的5個計算設(shè)備都在分布式運算集群中,或者,都在集中式運算集群中,或者,一部分在分布式運算集群中,另一部分在集中式運算集群中。
可選的,管理設(shè)備向計算設(shè)備發(fā)送包括預(yù)定處理任務(wù)和設(shè)備標(biāo)識的通信消息至計算設(shè)備。
步驟605,目標(biāo)計算設(shè)備接收預(yù)定處理任務(wù),并執(zhí)行預(yù)定處理任務(wù)得到處理結(jié)果。
可選的,目標(biāo)計算設(shè)備接收計算任務(wù),執(zhí)行計算任務(wù)得到處理結(jié)果。
可選的,目標(biāo)計算設(shè)備根據(jù)通信消息中的設(shè)備標(biāo)識接收相應(yīng)的預(yù)定處理任務(wù)。
可選的,目標(biāo)計算設(shè)備向管理設(shè)備發(fā)現(xiàn)包括設(shè)備標(biāo)識和處理結(jié)果的通信消息。
步驟606,管理設(shè)備接收目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,并組合處理結(jié)果得到最終處理結(jié)果。
管理設(shè)備接收目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,根據(jù)處理結(jié)果對應(yīng)的設(shè)備標(biāo)識和組合規(guī)則,組合處理結(jié)果得到最終處理結(jié)果。
管理設(shè)備將最終處理結(jié)果發(fā)送至用戶端,用戶端顯示最終處理結(jié)果。
需要說明的是,上述步驟601至步驟604、步驟606可單獨實現(xiàn)稱為管理設(shè)備側(cè)的方法實施例。
綜上所述,本發(fā)明實施例提供的數(shù)據(jù)處理方法,通過管理設(shè)備根據(jù)數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從n種計算設(shè)備中確定具有執(zhí)行數(shù)據(jù)處理任務(wù)的能力的計算設(shè)備;將數(shù)據(jù)處理算法分解為至少兩個類型的處理算核,并根據(jù)處理算核的類型將數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù);根據(jù)功效比和能效比從計算設(shè)備中確定出目標(biāo)計算設(shè)備,由目標(biāo)計算設(shè)備執(zhí)行預(yù)定處理任務(wù);管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至目標(biāo)計算設(shè)備;接收目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,并組合處理結(jié)果得到最終處理結(jié)果;解決了在分配數(shù)據(jù)處理任務(wù)時,從數(shù)據(jù)處理任務(wù)的類型的角度將數(shù)據(jù)處理任務(wù)看作一個整體,只向一個類型的計算設(shè)備發(fā)送數(shù)據(jù)處理任務(wù),可能會降低異構(gòu)系統(tǒng)的計算效率的問題;達(dá)到了將一個數(shù)據(jù)處理任務(wù)按其對應(yīng)的處理算法包括的算核進(jìn)行拆分,由不同種類的計算設(shè)備同時進(jìn)行數(shù)據(jù)處理,提高異構(gòu)系統(tǒng)計算能力和計算效率的效果。
此外,還通過在異構(gòu)系統(tǒng)中加入分布式運算集群,使得在異構(gòu)系統(tǒng)中的集中式運算集群的計算設(shè)備的運算資源忙碌時,不用增加集中式運算集群中計算設(shè)備的數(shù)量,只需要調(diào)用分布式運算集群中的計算設(shè)備就能夠滿足額外的計算需求,降低了異構(gòu)系統(tǒng)的運維成本。
在一個示例性的例子中,管理設(shè)備接收到數(shù)據(jù)處理任務(wù),該數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法為算法一,管理設(shè)備從n種計算設(shè)備中確定具有執(zhí)行算法一能力的計算設(shè)備;管理設(shè)備將算法一分解為兩個類型的處理算核,分別為aes128算核、sha1算核;由于數(shù)據(jù)處理算法包括aes128算核、sha1算核,管理設(shè)備將數(shù)據(jù)處理任務(wù)劃分為兩個預(yù)定處理任務(wù),一個預(yù)定處理任務(wù)與aes128算核對應(yīng),另一個預(yù)定處理任務(wù)與sha1算核對應(yīng);管理設(shè)備根據(jù)能效比和功效比從具有執(zhí)行算法一能力的計算設(shè)備中確定出目標(biāo)計算設(shè)備;由于aes128算核適合GPU類計算卡運算,則管理設(shè)備將aes128算核對應(yīng)的預(yù)定處理任務(wù)發(fā)送至包括GPU類計算卡的目標(biāo)計算設(shè)備,由于sha1算核適合FPGA類計算卡運算,管理設(shè)備將sha1算核對應(yīng)的預(yù)定處理任務(wù)發(fā)送至包括FPGA類計算卡的目標(biāo)計算設(shè)備;目標(biāo)設(shè)備執(zhí)行預(yù)定處理任務(wù),得到處理結(jié)果并發(fā)送至管理設(shè)備;管理設(shè)備接收處理結(jié)果,并組合處理結(jié)果得到最終處理結(jié)果。
在另一個示例性的例子中,管理設(shè)備接收到數(shù)據(jù)處理任務(wù),該數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法為算法二,管理設(shè)備從n種計算設(shè)備中確定具有執(zhí)行算法二能力的計算設(shè)備;管理設(shè)備將算法二分解為三個類型的處理算核,分別為des算核、sha1算核和md4算核;由于數(shù)據(jù)處理算法包括des算核、sha1算核和md4算核,管理設(shè)備將數(shù)據(jù)處理任務(wù)劃分為三個預(yù)定處理任務(wù),一個預(yù)定處理任務(wù)與des算核對應(yīng),另一個預(yù)定處理任務(wù)與sha1算核對應(yīng),剩下一個預(yù)定處理任務(wù)與md4算核對應(yīng);管理設(shè)備根據(jù)能效比和功效比從具有執(zhí)行算法二能力的計算設(shè)備中確定出目標(biāo)計算設(shè)備;由于des算核適合CPU類計算卡運算,則管理設(shè)備將des算核對應(yīng)的預(yù)定處理任務(wù)發(fā)送至包括CPU類計算卡的目標(biāo)計算設(shè)備,由于sha1算核適合FPGA類計算卡運算,管理設(shè)備將sha1算核對應(yīng)的預(yù)定處理任務(wù)發(fā)送至包括FPGA類計算卡的目標(biāo)計算設(shè)備,由于md4算核適合GPU類計算卡運算,則管理設(shè)備將md4算核對應(yīng)的預(yù)定處理任務(wù)發(fā)送至包括GPU類計算卡的目標(biāo)計算設(shè)備;目標(biāo)設(shè)備執(zhí)行預(yù)定處理任務(wù),得到處理結(jié)果并發(fā)送至管理設(shè)備;管理設(shè)備接收處理結(jié)果,并組合處理結(jié)果得到最終處理結(jié)果。
請參照圖7,其示出了本發(fā)明另一個實施例提供的數(shù)據(jù)處理裝置的結(jié)構(gòu)方框圖。該在數(shù)據(jù)處理裝置可以通過軟件、硬件或者兩者的結(jié)合實現(xiàn)成為上述可提供數(shù)據(jù)處理方法的管理設(shè)備的全部或者一部分。該裝置包括:
第一確定單元710,用于根據(jù)數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從n種計算設(shè)備中確定具有執(zhí)行數(shù)據(jù)處理任務(wù)的能力的計算設(shè)備,n為大于等于2的整數(shù),每個計算設(shè)備包括至少一種計算卡;
分解單元720,用于將數(shù)據(jù)處理算法分解為至少兩個類型的處理算核,并根據(jù)處理算核的類型將數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù);
第二確定單元730,用于根據(jù)功效比和能效比從計算設(shè)備中確定出目標(biāo)計算設(shè)備,目標(biāo)計算設(shè)備用于執(zhí)行預(yù)定處理任務(wù);
發(fā)送單元740,用于將預(yù)定處理任務(wù)發(fā)送至目標(biāo)計算設(shè)備;
組合單元750,用于接收目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,并組合處理結(jié)果得到最終處理結(jié)果。
綜上所述,本發(fā)明實施例提供的數(shù)據(jù)處理裝置,通過管理設(shè)備根據(jù)數(shù)據(jù)處理任務(wù)對應(yīng)的數(shù)據(jù)處理算法,從n種計算設(shè)備中確定具有執(zhí)行數(shù)據(jù)處理任務(wù)的能力的計算設(shè)備;將數(shù)據(jù)處理算法分解為至少兩個類型的處理算核,并根據(jù)處理算核的類型將數(shù)據(jù)處理任務(wù)劃分為若干個預(yù)定處理任務(wù);根據(jù)功效比和能效比從計算設(shè)備中確定出目標(biāo)計算設(shè)備,由目標(biāo)計算設(shè)備執(zhí)行預(yù)定處理任務(wù);管理設(shè)備將預(yù)定處理任務(wù)發(fā)送至目標(biāo)計算設(shè)備;接收目標(biāo)計算設(shè)備發(fā)送的處理結(jié)果,并組合處理結(jié)果得到最終處理結(jié)果;解決了在分配數(shù)據(jù)處理任務(wù)時,從數(shù)據(jù)處理任務(wù)的類型的角度將數(shù)據(jù)處理任務(wù)看作一個整體,只向一個類型的計算設(shè)備發(fā)送數(shù)據(jù)處理任務(wù),可能會降低異構(gòu)系統(tǒng)的計算效率的問題;達(dá)到了將一個數(shù)據(jù)處理任務(wù)按其對應(yīng)的處理算法包括的算核進(jìn)行拆分,由不同種類的計算設(shè)備同時進(jìn)行數(shù)據(jù)處理,提高異構(gòu)系統(tǒng)計算能力和計算效率的效果。
可選的,將發(fā)送單元,還用于:
將預(yù)定處理任務(wù)發(fā)送至集中式運算集群中的至少一個服務(wù)器和/或分布式運算集群中的至少一個普通計算機;
其中,集中式運算集群中包括至少一種計算卡,分布式運算集群中包括至少一種計算卡。
可選的,至少一種計算卡包括中央處理器CPU類計算卡、圖像處理器GPU類計算卡、現(xiàn)場可編程門陣列FPGA類計算卡和數(shù)字信號處理DSP類計算卡中的至少一種。
需要說明的是:上述實施例提供的數(shù)據(jù)處理裝置在執(zhí)行數(shù)據(jù)處理方法時,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的數(shù)據(jù)處理裝置與數(shù)據(jù)處理方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。