圖。
[0038]圖2為本發(fā)明實施例一提供的一種并行任務(wù)優(yōu)化系統(tǒng)的構(gòu)架示意圖。
[0039] 圖3為本發(fā)明實施例一提供的一種并行任務(wù)優(yōu)化系統(tǒng)的應(yīng)用框架示意圖;
[0040] 如圖1、2所示,本發(fā)明實施例一提供的并行任務(wù)優(yōu)化系統(tǒng)包括任務(wù)提交終端101、 調(diào)度服務(wù)器102和多個計算節(jié)點103。
[0041] 調(diào)度服務(wù)器102和多個任務(wù)提交終端101通過第一網(wǎng)絡(luò)環(huán)境互連,調(diào)度服務(wù)器102 和多個計算節(jié)點103通過第二網(wǎng)絡(luò)環(huán)境互連;多個計算節(jié)點103運行有虛擬機,該虛擬機上 運行有單處理器程序。
[0042] 其中,第一網(wǎng)絡(luò)環(huán)境可以具體為公共網(wǎng)絡(luò),在一個優(yōu)選實施例中,調(diào)度服務(wù)器102 和多個任務(wù)提交終端101采用遵從FTP協(xié)議的網(wǎng)絡(luò)進(jìn)行連接。第二網(wǎng)絡(luò)環(huán)境可以為局域網(wǎng)。
[0043] 任務(wù)提交終端101與調(diào)度服務(wù)器102、調(diào)度服務(wù)器102與多個計算節(jié)點103之間的 交互過程具體為:任務(wù)提交終端101在第一網(wǎng)絡(luò)環(huán)境下通過第一命令行向調(diào)度服務(wù)器102 上載任務(wù)文件;調(diào)度服務(wù)器102對所述第一命令行和任務(wù)文件進(jìn)行解析,并且在第二網(wǎng)絡(luò) 環(huán)境下,根據(jù)解析后的第一命令行和任務(wù)文件,將解析后的任務(wù)文件調(diào)度到所述多個計算 節(jié)點之一,其中,解析后的任務(wù)文件包括數(shù)據(jù)參數(shù);單處理器程序根據(jù)數(shù)據(jù)參數(shù)進(jìn)行處理, 得到計算結(jié)果;通過調(diào)度服務(wù)器102將結(jié)果返回到任務(wù)提交模塊。
[0044] 如圖3所示,任務(wù)提交終端101,目前的交換接口支持Windows平臺。對最終用戶 已具備了任務(wù)提交終端101與調(diào)度服務(wù)器102的互連功能,遵循統(tǒng)一的整體網(wǎng)絡(luò)規(guī)劃和開 放的網(wǎng)絡(luò)技術(shù)標(biāo)準(zhǔn)。為任務(wù)提交終端101提供了交互平臺,并保障了數(shù)據(jù)傳輸?shù)陌踩院?標(biāo)準(zhǔn)性。通過這一平臺,用戶可以提交系統(tǒng)所能識別的任務(wù)數(shù)據(jù)。
[0045] 調(diào)度服務(wù)器102包括部署在Windowsserver2003上的虛擬機集群以及作業(yè)調(diào)度 系統(tǒng),支持凝思系統(tǒng)、Linux、WindowsXP、Windows7、WindowsServer等不同操作系統(tǒng)。調(diào) 度服務(wù)器102是將用戶提交的任務(wù)文件的實時數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換整合到本地數(shù)據(jù),是整 個系統(tǒng)的并行計算任務(wù)數(shù)據(jù)來源。同時,調(diào)度服務(wù)器102依據(jù)提交的順序分配計算資源。
[0046] 多個計算節(jié)點103可以具體為分布在各物理主機的虛擬計算節(jié)點。完成任務(wù)數(shù)據(jù) 的接收,調(diào)用計算程序,實現(xiàn)計算,返回結(jié)果。
[0047] 任務(wù)提交終端101與調(diào)度服務(wù)器102、調(diào)度服務(wù)器102與多個計算節(jié)點103之間的 交互過程具體為:任務(wù)提交終端101在第一網(wǎng)絡(luò)環(huán)境下通過第一命令行向調(diào)度服務(wù)器102 上載任務(wù)文件;調(diào)度服務(wù)器102對所述第一命令行和任務(wù)文件進(jìn)行解析,并且在第二網(wǎng)絡(luò) 環(huán)境下,根據(jù)解析后的第一命令行和任務(wù)文件,將解析后的任務(wù)文件調(diào)度到所述多個計算 節(jié)點之一,其中,解析后的任務(wù)文件包括數(shù)據(jù)參數(shù);單處理器程序根據(jù)數(shù)據(jù)參數(shù)進(jìn)行處理, 得到計算結(jié)果;通過調(diào)度服務(wù)器102將結(jié)果返回到任務(wù)提交模塊。
[0048]調(diào)度服務(wù)器 102 可以具體米用IBMPlatformLSF(LoadSharingFacility)作業(yè) 調(diào)度平臺,或者采用其他作業(yè)調(diào)度平臺;在多個計算節(jié)點103上,完成任務(wù)數(shù)據(jù)的接收,可 以具體采用調(diào)用DIgSILENT程序,來實現(xiàn)計算并返回結(jié)果,也可以采用其他計算軟件進(jìn)行 計算。
[0049] 其中,所述調(diào)度服務(wù)器包括任務(wù)處理隊列(未示出),所述任務(wù)處理隊列用以存 儲所述任務(wù)提交終端通過第一命令行上載的所述任務(wù)文件;所述任務(wù)處理隊列預(yù)設(shè)第一閾 值;當(dāng)所述任務(wù)處理隊列中存儲所述任務(wù)文件的數(shù)量達(dá)到所述第一閾值時,所述任務(wù)處理 隊列向所述任務(wù)提交終端發(fā)送禁止上載任務(wù)文件信息。所述調(diào)度服務(wù)器101還包括第一進(jìn) 程(未示出)、第二進(jìn)程(未示出)和第三進(jìn)程(未示出);所述第一進(jìn)程具體用于在預(yù)設(shè) 的時間間隔內(nèi)將任務(wù)隊列中的所述任務(wù)文件發(fā)送給第二進(jìn)程;所述第二進(jìn)程用于根據(jù)所述 第一命令行和所述任務(wù)文件,調(diào)度決策可利用的所述多個計算節(jié)點之一執(zhí)行任務(wù)計算,并 將調(diào)度決策結(jié)果返回給所述第一進(jìn)程;所述第一進(jìn)程還用于,當(dāng)所述第一進(jìn)程接收到所述 調(diào)度決策結(jié)果后,根據(jù)所述調(diào)度決策結(jié)果,將所述解析后的任務(wù)文件調(diào)度到相應(yīng)的計算節(jié) 點。當(dāng)所述第一進(jìn)程接收到所述調(diào)度決策結(jié)果,并向計算節(jié)點發(fā)送所述任務(wù)文件時,所述第 三進(jìn)程創(chuàng)建所述任務(wù)文件的子進(jìn)程和調(diào)度執(zhí)行環(huán)境,并通過遠(yuǎn)程調(diào)度執(zhí)行服務(wù)器開始調(diào)度 分配。
[0050] 計算節(jié)點接收到任務(wù)文件之后,并通過計算節(jié)點上攜帶的單處理器程序啟動計算 程序;根據(jù)數(shù)據(jù)參數(shù),導(dǎo)入與所述數(shù)據(jù)參數(shù)相對應(yīng)的算例;計算程序根據(jù)所述算例執(zhí)行計 算程序,最終得到計算結(jié)果。
[0051] 除此之外,調(diào)度服務(wù)器101還用以通過與多個計算節(jié)點102共享方式獲取計算結(jié) 果;任務(wù)提交終端103再通過公共網(wǎng)絡(luò)方式從調(diào)度服務(wù)器101中拷貝計算結(jié)果。
[0052] 因此,本發(fā)明提供的并行任務(wù)優(yōu)化系統(tǒng),通過調(diào)度服務(wù)器對任務(wù)的并行處理,以及 在多個計算節(jié)點運行有虛擬機,并虛擬機上運行單處理器程序,根據(jù)任務(wù)文件中的數(shù)據(jù)參 數(shù)做相應(yīng)的計算,實現(xiàn)了大量并行任務(wù)的快速計算,降低了計算耗時。
[0053] 圖4為本發(fā)明實施例二提供的一種并行任務(wù)優(yōu)化方法的流程圖。
[0054] 如圖4所示,發(fā)明實施例提供的一種并行任務(wù)優(yōu)化方法包括如下步驟:
[0055] 步驟201,調(diào)度服務(wù)器下載任務(wù)提交終端在第一網(wǎng)絡(luò)環(huán)境下通過第一命令行上載 的任務(wù)文件。
[0056] 步驟202,調(diào)度服務(wù)器對所述第一命令行和所述任務(wù)文件進(jìn)行解析,并且在第二網(wǎng) 絡(luò)環(huán)境下,根據(jù)解析后的第一命令行和任務(wù)文件,將所述解析后的任務(wù)文件調(diào)度到所述多 個計算節(jié)點之一。
[0057] 具體地,所述調(diào)度服務(wù)器包括任務(wù)處理隊列,所述任務(wù)處理隊列用以存儲所述任 務(wù)提交終端通過第一命令行上載的所述任務(wù)文件;所述任務(wù)處理隊列預(yù)設(shè)第一閾值;當(dāng)所 述任務(wù)處理隊列中存儲所述任務(wù)文件的數(shù)量達(dá)到所述第一閾值時,所述任務(wù)處理隊列向所 述任務(wù)提交終端發(fā)送禁止上載任務(wù)文件信息。
[0058] 所述調(diào)度服務(wù)器還包括第一進(jìn)程和第二進(jìn)程,在預(yù)設(shè)的時間間隔內(nèi),所述第一進(jìn) 程將任務(wù)隊列中的所述任務(wù)文件發(fā)送給第二進(jìn)程;所述第二進(jìn)程根據(jù)所述第一命令行和所 述任務(wù)文件,調(diào)度決策可利用的所述多個計算節(jié)點之一執(zhí)行任務(wù)計算,并將調(diào)度決策結(jié)果 返回給所述第一進(jìn)程;當(dāng)所述第一進(jìn)程接收到所述調(diào)度決策結(jié)果后,所述第一進(jìn)程根據(jù)所 述調(diào)度決策結(jié)果,將所述解析后的任務(wù)文件調(diào)度到所述調(diào)度結(jié)果中的計算節(jié)點。
[0059] 在所述第一進(jìn)程接收到所述選擇結(jié)果之后,創(chuàng)建所述任務(wù)文件的子進(jìn)程和計算環(huán) 境,并通過遠(yuǎn)程單核處理程序執(zhí)行步驟203。
[0060] 其中,解析后的任務(wù)文件包括數(shù)據(jù)參數(shù),所述多個計算節(jié)點運行有虛擬機,該虛擬 機上運行有單處理器程序。
[0061] 步驟203,單處理器程序根據(jù)所述數(shù)據(jù)參數(shù)進(jìn)行處理,得到計算結(jié)果。
[0062] 具體第,單處理器程序啟動計算程序;根據(jù)數(shù)據(jù)參數(shù),導(dǎo)入與所述數(shù)據(jù)參數(shù)相對應(yīng) 的算例;根據(jù)所述算例執(zhí)行計算程序,得到計算結(jié)果
[0063] 步驟204,通過所述調(diào)度服務(wù)器將所述結(jié)果返回到所述任務(wù)提交模塊。
[0064] 具體地,調(diào)度服務(wù)器通過與多個計算節(jié)點共享方式獲取計算結(jié)果;任務(wù)提交終端 再通過公共網(wǎng)絡(luò)方式從調(diào)度服務(wù)器中拷貝計算結(jié)果。
[0065] 除步驟201至步驟204外,分別在步驟201、202以及203之后,所述方法還包括所 述調(diào)度服務(wù)器實時從進(jìn)行計算的計算節(jié)點中獲取所述作業(yè)的執(zhí)行狀態(tài);所述任務(wù)提交終端 通過第二