本發(fā)明屬于高性能計(jì)算領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):
隨著人工智能技術(shù)不斷發(fā)展,相繼出現(xiàn)了caffe、tensorflow、cntk等深度學(xué)習(xí)框架,但是在擴(kuò)展性方面,有的不支持多機(jī)、有的擴(kuò)展性很差,但是越來(lái)越大的數(shù)據(jù)量與越來(lái)越復(fù)雜的深度學(xué)習(xí)網(wǎng)絡(luò)對(duì)深度學(xué)習(xí)框架的擴(kuò)展性提出越來(lái)越高的要求。
基于caffe的深度學(xué)習(xí)框架,存在當(dāng)前服務(wù)器計(jì)算機(jī)系統(tǒng)計(jì)算網(wǎng)絡(luò)帶寬不足、內(nèi)存帶寬和容量小等問(wèn)題,無(wú)法對(duì)較大規(guī)模數(shù)據(jù)進(jìn)行處理。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種數(shù)據(jù)處理方法及裝置,以解決上述問(wèn)題。
本發(fā)明提供一種數(shù)據(jù)處理方法,包括以下步驟:控制設(shè)備獲取數(shù)據(jù)處理請(qǐng)求后,根據(jù)各個(gè)計(jì)算節(jié)點(diǎn)負(fù)載特征信息,將所述數(shù)據(jù)處理請(qǐng)求分配至對(duì)應(yīng)的計(jì)算節(jié)點(diǎn);
所述計(jì)算節(jié)點(diǎn)對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
本發(fā)明提供一種數(shù)據(jù)處理裝置,包括:控制設(shè)備、多個(gè)計(jì)算節(jié)點(diǎn);其中,所述控制設(shè)備與所述多個(gè)計(jì)算節(jié)點(diǎn)連接;
控制設(shè)備,用于獲取數(shù)據(jù)處理請(qǐng)求后,根據(jù)各個(gè)計(jì)算節(jié)點(diǎn)負(fù)載特征信息,將所述數(shù)據(jù)處理請(qǐng)求分配至對(duì)應(yīng)的計(jì)算節(jié)點(diǎn);
所述計(jì)算節(jié)點(diǎn),用于對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
本發(fā)明實(shí)施例提供的技術(shù)方案:控制設(shè)備獲取數(shù)據(jù)處理請(qǐng)求后,根據(jù)各個(gè)計(jì)算節(jié)點(diǎn)負(fù)載特征信息,將所述數(shù)據(jù)處理請(qǐng)求分配至對(duì)應(yīng)的計(jì)算節(jié)點(diǎn);所述計(jì)算節(jié)點(diǎn)對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
上述技術(shù)方案中,通過(guò)根據(jù)計(jì)算節(jié)點(diǎn)負(fù)載特征信息進(jìn)行數(shù)據(jù)處理請(qǐng)求分配,實(shí)現(xiàn)了各計(jì)算節(jié)點(diǎn)間的負(fù)載均衡,系統(tǒng)設(shè)備利用率高,且不同計(jì)算節(jié)點(diǎn)彼此相互不等待,系統(tǒng)中計(jì)算節(jié)點(diǎn)不出現(xiàn)空閑狀態(tài),整個(gè)系統(tǒng)將實(shí)現(xiàn)高效運(yùn)轉(zhuǎn)。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1所示為本發(fā)明實(shí)施例1的數(shù)據(jù)處理方法流程圖;
圖2所示為本發(fā)明實(shí)施例2的cpu+gpu集群拓?fù)浣Y(jié)構(gòu)圖;
圖3所示為本發(fā)明實(shí)施例3的并行化架構(gòu)圖;
圖4所示為本發(fā)明實(shí)施例4的數(shù)據(jù)處理裝置結(jié)構(gòu)圖。
具體實(shí)施方式
下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
圖1所示為本發(fā)明實(shí)施例1的數(shù)據(jù)處理方法流程圖,包括以下步驟:
步驟101:控制設(shè)備獲取數(shù)據(jù)處理請(qǐng)求后,根據(jù)各個(gè)計(jì)算節(jié)點(diǎn)負(fù)載特征信息,將所述數(shù)據(jù)處理請(qǐng)求分配至對(duì)應(yīng)的計(jì)算節(jié)點(diǎn);
進(jìn)一步地,所述負(fù)載特征信息包括:預(yù)設(shè)時(shí)段內(nèi)存平均利用率、預(yù)設(shè)時(shí)段cpu平均利用率。
其中,控制設(shè)備獲取數(shù)據(jù)處理請(qǐng)求后,選擇所述預(yù)設(shè)時(shí)段內(nèi)存平均利用率小于第一預(yù)設(shè)值的計(jì)算節(jié)點(diǎn),將所述數(shù)據(jù)處理請(qǐng)求分配至選擇的計(jì)算節(jié)點(diǎn);
所述選擇的計(jì)算節(jié)點(diǎn)對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
其中,控制設(shè)備獲取數(shù)據(jù)處理請(qǐng)求后,選擇所述預(yù)設(shè)時(shí)段cpu平均利用率小于第二預(yù)設(shè)值的計(jì)算節(jié)點(diǎn),將所述數(shù)據(jù)處理請(qǐng)求分配至選擇的計(jì)算節(jié)點(diǎn);
所述選擇的計(jì)算節(jié)點(diǎn)對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
由此可知:集群系統(tǒng)中各計(jì)算節(jié)點(diǎn)間實(shí)現(xiàn)負(fù)載均衡,系統(tǒng)設(shè)備利用率高,不同計(jì)算節(jié)點(diǎn)可以實(shí)現(xiàn)計(jì)算均衡,彼此相互不等待,系統(tǒng)中計(jì)算節(jié)點(diǎn)不出現(xiàn)空閑狀態(tài),整個(gè)集群系統(tǒng)將實(shí)現(xiàn)高效運(yùn)轉(zhuǎn)。
本發(fā)明實(shí)施例擴(kuò)展到多臺(tái)服務(wù)器上,能夠處理較大規(guī)模的圖像數(shù)據(jù),并實(shí)現(xiàn)集群系統(tǒng)的計(jì)算節(jié)點(diǎn)間、計(jì)算節(jié)點(diǎn)內(nèi)的計(jì)算,從而最大限度的利用cpu+gpu的性能,提高系統(tǒng)的整體運(yùn)行效率,大大縮短程序的運(yùn)行時(shí)間。
步驟102:所述計(jì)算節(jié)點(diǎn)對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
進(jìn)一步地,所述計(jì)算節(jié)點(diǎn)對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理后,將處理結(jié)果傳輸至所述控制設(shè)備或存儲(chǔ)設(shè)備。
進(jìn)一步地,所述計(jì)算節(jié)點(diǎn)內(nèi)部的多個(gè)圖形處理單元gpu之間通過(guò)信息傳遞應(yīng)用程序接口函數(shù)進(jìn)行通信。
其中,所述信息傳遞應(yīng)用程序接口函數(shù)為mpi_allreduce函數(shù)。
下面對(duì)本發(fā)明方案進(jìn)行詳細(xì)說(shuō)明:
本發(fā)明提供了一種數(shù)據(jù)處理系統(tǒng),包括:
計(jì)算集群系統(tǒng),包括cpu+gpu集群系統(tǒng),ib高速網(wǎng)絡(luò)以及遠(yuǎn)程直接數(shù)據(jù)存取技術(shù)即rdma技術(shù),本發(fā)明在充分利用cpu+gpu的硬件的基礎(chǔ)上,實(shí)現(xiàn)了深度學(xué)習(xí)框架即caffe框架的cpu+gpu多節(jié)點(diǎn)集群平臺(tái)的加速;
存儲(chǔ)系統(tǒng),該系統(tǒng)分共享存儲(chǔ)系統(tǒng)和本地存儲(chǔ)系統(tǒng),計(jì)算集群共享一個(gè)存儲(chǔ)系統(tǒng)即共享存儲(chǔ)系統(tǒng),控制系統(tǒng)擁有自己的本地存儲(chǔ)系統(tǒng)。共享存儲(chǔ)系統(tǒng)存儲(chǔ)大規(guī)模計(jì)算數(shù)據(jù),控制系統(tǒng)存儲(chǔ)參數(shù)數(shù)據(jù)及計(jì)算結(jié)果數(shù)據(jù);
高速網(wǎng)絡(luò),用于連接集群中計(jì)算節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)可以互相實(shí)現(xiàn)高速通信;
rdma技術(shù),gpu卡與卡直連技術(shù),實(shí)現(xiàn)高速通信。
本發(fā)明實(shí)施例通過(guò)高速網(wǎng)絡(luò)將計(jì)算集群中的計(jì)算節(jié)點(diǎn)、控制設(shè)備及存儲(chǔ)設(shè)備連接,組成集中式的集群系統(tǒng),控制設(shè)備控制計(jì)算節(jié)點(diǎn),并對(duì)計(jì)算節(jié)點(diǎn)進(jìn)行統(tǒng)一調(diào)度。可以實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一分配,同時(shí)在此系統(tǒng)上通信傳輸與并行計(jì)算的異步執(zhí)行,提高了系統(tǒng)的整體的運(yùn)行效率,滿足了高性能應(yīng)用的要求,改變算法,充分利用cpu+gpu平臺(tái)的硬件技術(shù),提出了一種充分利用高速網(wǎng)絡(luò)的caffe深度學(xué)習(xí)框架的加速技術(shù)。
本發(fā)明實(shí)施例具有一定的擴(kuò)展性,每個(gè)gpu獨(dú)立處理圖片,只是在權(quán)值數(shù)據(jù)更新時(shí)需要相互通信。所以該發(fā)明實(shí)施例的并行度是非常高的,具有一定的擴(kuò)展性。
本發(fā)明實(shí)施例的主要貢獻(xiàn)在于caffe深度學(xué)習(xí)框架的并行化上,通過(guò)加入mpi通信技術(shù),實(shí)現(xiàn)了caffe深度學(xué)習(xí)框架的并行化,最終得到了caffe深度學(xué)習(xí)框架的多機(jī)版本。
本發(fā)明實(shí)施例是運(yùn)行在cpu+gpu集群平臺(tái)上,其中cpu+gpu集群拓?fù)浣Y(jié)構(gòu)如圖1所示,從圖中可以看出,整個(gè)集群系統(tǒng)采用文件共享系統(tǒng)共享文件,計(jì)算節(jié)點(diǎn)之間通過(guò)告訴通信網(wǎng)絡(luò)連接,實(shí)現(xiàn)了計(jì)算節(jié)點(diǎn)之間的rdma技術(shù)。
本發(fā)明的并行化架構(gòu)如圖2所示,首先mpi程序啟動(dòng),在每個(gè)節(jié)點(diǎn)上開(kāi)啟一個(gè)進(jìn)程來(lái)控制當(dāng)前節(jié)點(diǎn)cpu+gpu設(shè)備,每個(gè)節(jié)點(diǎn)內(nèi)部通過(guò)開(kāi)啟多線程控制gpu卡來(lái)參與計(jì)算,在計(jì)算過(guò)程中,卡與卡之間前后向計(jì)算是獨(dú)立的,只是在權(quán)值數(shù)據(jù)更新的時(shí)候需要mpi_allreduce函數(shù)來(lái)通信數(shù)據(jù),在allreduce過(guò)程中通過(guò)rdma技術(shù)實(shí)現(xiàn)了告訴網(wǎng)絡(luò)通信。
圖4所示為本發(fā)明實(shí)施例4的數(shù)據(jù)處理裝置結(jié)構(gòu)圖,包括:控制設(shè)備、多個(gè)計(jì)算節(jié)點(diǎn);其中,所述控制設(shè)備與所述多個(gè)計(jì)算節(jié)點(diǎn)連接;
控制設(shè)備,用于獲取數(shù)據(jù)處理請(qǐng)求后,根據(jù)各個(gè)計(jì)算節(jié)點(diǎn)負(fù)載特征信息,將所述數(shù)據(jù)處理請(qǐng)求分配至對(duì)應(yīng)的計(jì)算節(jié)點(diǎn);
所述計(jì)算節(jié)點(diǎn),用于對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
進(jìn)一步,控制設(shè)備,還用于獲取數(shù)據(jù)處理請(qǐng)求后,選擇所述預(yù)設(shè)時(shí)段內(nèi)存平均利用率小于第一預(yù)設(shè)值的計(jì)算節(jié)點(diǎn),將所述數(shù)據(jù)處理請(qǐng)求分配至選擇的計(jì)算節(jié)點(diǎn);
所述選擇的計(jì)算節(jié)點(diǎn),用于對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
進(jìn)一步地,控制設(shè)備,用于獲取數(shù)據(jù)處理請(qǐng)求后,選擇所述預(yù)設(shè)時(shí)段cpu平均利用率小于第二預(yù)設(shè)值的計(jì)算節(jié)點(diǎn),將所述數(shù)據(jù)處理請(qǐng)求分配至選擇的計(jì)算節(jié)點(diǎn);
所述選擇的計(jì)算節(jié)點(diǎn),用于對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
本發(fā)明實(shí)施例提供的技術(shù)方案:控制設(shè)備獲取數(shù)據(jù)處理請(qǐng)求后,根據(jù)各個(gè)計(jì)算節(jié)點(diǎn)負(fù)載特征信息,將所述數(shù)據(jù)處理請(qǐng)求分配至對(duì)應(yīng)的計(jì)算節(jié)點(diǎn);所述計(jì)算節(jié)點(diǎn)對(duì)所述數(shù)據(jù)處理請(qǐng)求進(jìn)行處理。
上述技術(shù)方案中,通過(guò)根據(jù)計(jì)算節(jié)點(diǎn)負(fù)載特征信息進(jìn)行數(shù)據(jù)處理請(qǐng)求分配,實(shí)現(xiàn)了各計(jì)算節(jié)點(diǎn)間的負(fù)載均衡,系統(tǒng)設(shè)備利用率高,且不同計(jì)算節(jié)點(diǎn)彼此相互不等待,系統(tǒng)中計(jì)算節(jié)點(diǎn)不出現(xiàn)空閑狀態(tài),整個(gè)系統(tǒng)將實(shí)現(xiàn)高效運(yùn)轉(zhuǎn)。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。