一種并行計(jì)算方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種并行計(jì)算方法及系統(tǒng)。所述并行計(jì)算方法包括:對(duì)各計(jì)算節(jié)點(diǎn)進(jìn)行監(jiān)控以獲取節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù);基于所述節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)計(jì)算所述計(jì)算節(jié)點(diǎn)的負(fù)載能力;根據(jù)所述計(jì)算節(jié)點(diǎn)的負(fù)載能力對(duì)待分配的任務(wù)進(jìn)行分配。所述并行計(jì)算系統(tǒng)對(duì)應(yīng)地包括:節(jié)點(diǎn)監(jiān)控單元、任務(wù)負(fù)載管理單元及任務(wù)調(diào)度單元。本發(fā)明技術(shù)方案能夠在并行計(jì)算中合理的分配任務(wù),以提高并行計(jì)算的執(zhí)行效率。
【專利說(shuō)明】一種并行計(jì)算方法及系統(tǒng)【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種并行計(jì)算方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)在的業(yè)務(wù)系統(tǒng)面臨著計(jì)算資源的超飽和負(fù)載,造成業(yè)務(wù)系統(tǒng)的性能低下的問(wèn)題。若通過(guò)升級(jí)硬件的方式來(lái)解決此問(wèn)題又面臨著性能提升效果不明顯、資金花費(fèi)巨大等一系列負(fù)面的效應(yīng),現(xiàn)有技術(shù)采用分布式計(jì)算技術(shù)解決上述問(wèn)題。
[0003]分布式計(jì)算技術(shù)包括移動(dòng)計(jì)算和云計(jì)算,分布式環(huán)境下的大型應(yīng)用服務(wù)往往被分解為多個(gè)任務(wù)來(lái)調(diào)度和執(zhí)行。分布式計(jì)算技術(shù)能夠?qū)I(yè)務(wù)系統(tǒng)計(jì)算節(jié)點(diǎn)的負(fù)載進(jìn)行優(yōu)化,可解決業(yè)務(wù)系統(tǒng)面臨的計(jì)算節(jié)點(diǎn)資源超飽和的問(wèn)題,避免了升級(jí)硬件所面臨的負(fù)面效應(yīng)。
[0004]所述分布式計(jì)算技術(shù)涉及并行計(jì)算,并行計(jì)算的設(shè)計(jì)考慮將傳統(tǒng)的單一串行執(zhí)行大作業(yè)任務(wù)分解為多個(gè)并行的子任務(wù),最后將子任務(wù)的結(jié)果進(jìn)行合并從而得出最終結(jié)果。參考圖1,并行計(jì)算設(shè)計(jì)主要分為以下步驟:
[0005]劃分步驟。對(duì)大作業(yè)任務(wù)100進(jìn)行劃分(Partitioning),所述劃分主要包括對(duì)大作業(yè)任務(wù)100涉及的數(shù)據(jù)進(jìn)行分解或進(jìn)行功能分解,并可進(jìn)一步包括:將大作業(yè)任務(wù)100依其時(shí)序計(jì)算(Sequential computation)、分解(Decomposition)為若干任務(wù)(Tasks),將若干任務(wù)繼續(xù)分配(Assignment)為若干任務(wù)過(guò)程(Processes, p0~p3),并繼續(xù)對(duì)所述若干任務(wù)過(guò)程進(jìn)行編碼(Orchestration)。
[0006]通信步驟。確定并行計(jì)算的通信模式(局部/全局),以實(shí)現(xiàn)負(fù)載均衡。
[0007]聚集步驟。依據(jù)計(jì)算機(jī)規(guī)模對(duì)所述若干任務(wù)過(guò)程聚合并行化(Parallelprogram),實(shí)現(xiàn)最小化并行開銷,所述聚集步驟具備可擴(kuò)展性。
[0008]映射步驟。將所述若干任務(wù)過(guò)程(p0~p3)映射(Mapping)并分配處理(Processors)。
[0009]在現(xiàn)有的并行計(jì)算過(guò)程中需要經(jīng)過(guò)上述四個(gè)步驟,而在第四個(gè)步驟中通常采用預(yù)置的負(fù)載分配算法將劃分好的任務(wù)過(guò)程分配到不同的計(jì)算節(jié)點(diǎn)上進(jìn)行處理,上述算法一般米用靜態(tài)算法和啟發(fā)式算法:
[0010]所述靜態(tài)算法根據(jù)預(yù)定義值為每一個(gè)計(jì)算節(jié)點(diǎn)分配相同數(shù)量的任務(wù),此算法主要為滿足網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)簡(jiǎn)單,各計(jì)算節(jié)點(diǎn)計(jì)算能力基本相同且所有任務(wù)類型和規(guī)模也都相同的環(huán)境下的負(fù)載均衡。
[0011]所述啟發(fā)式算法的設(shè)計(jì)思想則基于統(tǒng)計(jì)模擬法,啟發(fā)式算法在于分別根據(jù)各個(gè)節(jié)點(diǎn)對(duì)歷史任務(wù)執(zhí)行情況統(tǒng)計(jì)來(lái)決定當(dāng)前節(jié)點(diǎn)負(fù)載任務(wù)規(guī)模。
[0012]基于上述設(shè)計(jì)原理,現(xiàn)有技術(shù)提供了一種并行計(jì)算方法,如圖2所示,包括:
[0013]初始化;
[0014]客戶端提交作業(yè);
[0015]對(duì)所述提交作業(yè)進(jìn)行細(xì)粒度任務(wù)劃分;
[0016]根據(jù)預(yù)先設(shè)定的計(jì)算節(jié)點(diǎn)的負(fù)載額度分配任務(wù)到各計(jì)算節(jié)點(diǎn);[0017]被分配至計(jì)算節(jié)點(diǎn)的任務(wù)在所對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)上排隊(duì)執(zhí)行;
[0018]將執(zhí)行結(jié)果返回到客戶端并儲(chǔ)存在結(jié)果隊(duì)列中;
[0019]當(dāng)所有任務(wù)都執(zhí)行完畢時(shí),任務(wù)執(zhí)行結(jié)束,否則繼續(xù)根據(jù)預(yù)先設(shè)定的計(jì)算節(jié)點(diǎn)的負(fù)載額度分配未完成任務(wù)到各計(jì)算節(jié)點(diǎn)并在所對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)上排隊(duì)執(zhí)行,然后將執(zhí)行結(jié)果返回到客戶端并儲(chǔ)存在結(jié)果隊(duì)列中;
[0020]任務(wù)執(zhí)行結(jié)束后,合并結(jié)果隊(duì)列,以得到最終作業(yè)執(zhí)行結(jié)果。
[0021]所述預(yù)先設(shè)定的計(jì)算節(jié)點(diǎn)的負(fù)載額度根據(jù)所述靜態(tài)算法或啟發(fā)式算法確定。
[0022]從圖2中可以看出現(xiàn)有技術(shù)的并行計(jì)算方法只能根據(jù)預(yù)先設(shè)定的計(jì)算節(jié)點(diǎn)的負(fù)載額度對(duì)業(yè)務(wù)系統(tǒng)的任務(wù)進(jìn)行分配,一旦任務(wù)分配完成之后,還可能存在任務(wù)分配不合理的問(wèn)題。任務(wù)分配不合理會(huì)導(dǎo)致部分計(jì)算節(jié)點(diǎn)處于繁忙狀態(tài)、而部分計(jì)算節(jié)點(diǎn)處于空閑狀態(tài),無(wú)法充分利用所有計(jì)算節(jié)點(diǎn)的計(jì)算能力,導(dǎo)致計(jì)算節(jié)點(diǎn)的平均任務(wù)執(zhí)行時(shí)間和任務(wù)吞吐量不佳,影響并行計(jì)算的執(zhí)行效率。
【發(fā)明內(nèi)容】
[0023]本發(fā)明技術(shù)方案所解決的技術(shù)問(wèn)題為:如何在并行計(jì)算中合理的分配任務(wù),以提高并行計(jì)算的執(zhí)行效率。
[0024]為了解決上述技術(shù)問(wèn)題,本發(fā)明技術(shù)方案提供了一種并行計(jì)算方法,包括:
[0025]對(duì)各計(jì)算節(jié)點(diǎn)進(jìn)行監(jiān)控以獲取節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù);
[0026]基于所述節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)計(jì)算所述計(jì)算節(jié)點(diǎn)的負(fù)載能力;
`[0027]根據(jù)所述計(jì)算節(jié)點(diǎn)的負(fù)載能力對(duì)待分配的任務(wù)進(jìn)行分配;所述待分配的任務(wù)為未被分配的任務(wù)、為已被分配但未被處理的任務(wù)、或?yàn)槲幢环峙涞娜蝿?wù)和已被分配但未被處理的任務(wù)。
[0028]可選的,所述節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)包括計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息和所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息;所述對(duì)各計(jì)算節(jié)點(diǎn)進(jìn)行監(jiān)控以獲取節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)包括:
[0029]收集與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)和與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù);
[0030]基于所述與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)和與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù),獲取計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息和所述計(jì)算節(jié)點(diǎn)的任務(wù)處理彳目息。
[0031]可選的,所述與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)包括CPU利用率、內(nèi)存利用率及網(wǎng)絡(luò)帶寬利用率,所述與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù)包括所述計(jì)算節(jié)點(diǎn)的任務(wù)處理數(shù)量和該計(jì)算節(jié)點(diǎn)的平均任務(wù)處理時(shí)間;
[0032]基于如下算式獲取所述運(yùn)行環(huán)境信息:
【權(quán)利要求】
1.一種并行計(jì)算方法,其特征在于,包括: 對(duì)各計(jì)算節(jié)點(diǎn)進(jìn)行監(jiān)控以獲取節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù); 基于所述節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)計(jì)算所述計(jì)算節(jié)點(diǎn)的負(fù)載能力; 根據(jù)所述計(jì)算節(jié)點(diǎn)的負(fù)載能力對(duì)待分配的任務(wù)進(jìn)行分配;所述待分配的任務(wù)為未被分配的任務(wù)、為已被分配但未被處理的任務(wù)、或?yàn)槲幢环峙涞娜蝿?wù)和已被分配但未被處理的任務(wù)。
2.如權(quán)利要求1所述的并行計(jì)算方法,其特征在于,所述節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)包括計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息和所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息;所述對(duì)各計(jì)算節(jié)點(diǎn)進(jìn)行監(jiān)控以獲取節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)包括: 收集與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)和與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù); 基于所述與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)和與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù),獲取計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息和所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息。
3.如權(quán)利要求2所述的并行計(jì)算方法,其特征在于,所述與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)包括CPU利用率、內(nèi)存利用率及網(wǎng)絡(luò)帶寬利用率,所述與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù)包括所述計(jì)算節(jié)點(diǎn)的任務(wù)處理數(shù)量和該計(jì)算節(jié)點(diǎn)的平均任務(wù)處理時(shí)間; 基于如下算式獲取所述運(yùn)行環(huán)境信息:
IV=-
P O-cPullli)x wCp11 +(1-mcilIu)x w,_ + (1-netUti)x Wnet 其中,Vp為所述運(yùn)行環(huán)境信息,Cpuuti為所述CPU利用率,Wctu為所述CPU利用率對(duì)所述運(yùn)行環(huán)境信息的權(quán)重,Hiemuti為所述內(nèi)存利用率,Wm為所述內(nèi)存利用率對(duì)所述運(yùn)行環(huán)境信息的權(quán)重,netuti為所述網(wǎng)絡(luò)帶寬利用率,Wnet為所述網(wǎng)絡(luò)帶寬利用率對(duì)所述運(yùn)行環(huán)境信息的權(quán)重; 基于如下算式獲取所述任務(wù)處理信息:
cp=taskmX treq 其中,cp為所述任務(wù)處理信息,taskffl為所述計(jì)算節(jié)點(diǎn)的任務(wù)處理數(shù)量,treq為所述計(jì)算節(jié)點(diǎn)的平均任務(wù)處理時(shí)間。
4.如權(quán)利要求2所述的并行計(jì)算方法,其特征在于,基于如下算式計(jì)算所述計(jì)算節(jié)點(diǎn)的負(fù)載能力:
OCp=(1-Vp) Xcp 其中,OCp為所述計(jì)算節(jié)點(diǎn)的負(fù)載能力,Vp為所述計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息,Cp為所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息。
5.如權(quán)利要求1所述的并行計(jì)算方法,其特征在于,所述根據(jù)所述計(jì)算節(jié)點(diǎn)的負(fù)載能力對(duì)待分配的任務(wù)進(jìn)行分配包括: 依據(jù)各計(jì)算節(jié)點(diǎn)的負(fù)載能力的大小對(duì)所述計(jì)算節(jié)點(diǎn)進(jìn)行排序,以獲得所述計(jì)算節(jié)點(diǎn)的排序結(jié)果;根據(jù)所述計(jì)算節(jié)點(diǎn)的排序結(jié)果對(duì)待分配的任務(wù)進(jìn)行分配。
6.一種并行計(jì)算系統(tǒng),其特征在于,包括: 節(jié)點(diǎn)監(jiān)控單元,適于對(duì)各計(jì)算節(jié)點(diǎn)進(jìn)行監(jiān)控以獲取節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù); 任務(wù)負(fù)載管理單元,適于基于所述節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)計(jì)算所述計(jì)算節(jié)點(diǎn)的負(fù)載能力; 任務(wù)調(diào)度單元,適于根據(jù)所述計(jì)算節(jié)點(diǎn)的負(fù)載能力對(duì)待分配的任務(wù)進(jìn)行分配;所述待分配的任務(wù)為未被分配的任務(wù)、為已被分配但未被處理的任務(wù)、或?yàn)槲幢环峙涞娜蝿?wù)和已被分配但未被處理的任務(wù)。
7.如權(quán)利要求6所述的并行計(jì)算系統(tǒng),其特征在于,所述節(jié)點(diǎn)監(jiān)控?cái)?shù)據(jù)包括計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息和所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息;所述并行計(jì)算系統(tǒng)還包括: 虛擬機(jī)連接單元; 代理單元,與所述節(jié)點(diǎn)監(jiān)控單元通信,部署于所述計(jì)算節(jié)點(diǎn)所在虛擬機(jī)內(nèi),適于收集與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)和與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù); 所述節(jié)點(diǎn)監(jiān)控單元通過(guò)所述虛擬機(jī)連接單元與所述代理單元進(jìn)行通信,以接收所述與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)和與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù)。
8.如權(quán)利要求7所述的并行計(jì)算系統(tǒng),其特征在于,所述與計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息相關(guān)的數(shù)據(jù)包括CPU利用率、內(nèi)存利用率及網(wǎng)絡(luò)帶寬利用率,所述與所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息相關(guān)的數(shù)據(jù)包括所述計(jì)算節(jié)點(diǎn)的任務(wù)處理數(shù)量和該計(jì)算節(jié)點(diǎn)的平均任務(wù)處理時(shí)間; 所述任務(wù)負(fù)載管理單元包括: 第一分析單元,適于基于如下算式獲取所述運(yùn)行環(huán)境信息:
9.如權(quán)利要求8所述的并行計(jì)算系統(tǒng),其特征在于,所述任務(wù)負(fù)載管理單元還包括: 第三分析單元,適于基于如下算式計(jì)算所述計(jì)算節(jié)點(diǎn)的負(fù)載能力:
OCp=(1-Vp) Xcp 其中,OCp為所述計(jì)算節(jié)點(diǎn)的負(fù)載能力,Vp為所述計(jì)算節(jié)點(diǎn)所在虛擬機(jī)的運(yùn)行環(huán)境信息,Cp為所述計(jì)算節(jié)點(diǎn)的任務(wù)處理信息。
10.如權(quán)利要求6所述的并行計(jì)算系統(tǒng),其特征在于,所述任務(wù)調(diào)度單元包括: 排序單元,適于依據(jù)各計(jì)算節(jié)點(diǎn)的負(fù)載能力的大小對(duì)所述計(jì)算節(jié)點(diǎn)進(jìn)行排序,以獲得所述計(jì)算節(jié)點(diǎn)的排序結(jié)果;分配單元,適于根據(jù)所述計(jì)算節(jié)點(diǎn)的排序結(jié)果對(duì)待分配的任務(wù)進(jìn)行分配 。
【文檔編號(hào)】G06F9/50GK103617086SQ201310591160
【公開日】2014年3月5日 申請(qǐng)日期:2013年11月20日 優(yōu)先權(quán)日:2013年11月20日
【發(fā)明者】李金寶 申請(qǐng)人:東軟集團(tuán)股份有限公司