分布式開(kāi)發(fā)平臺(tái)及其計(jì)算方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明實(shí)施例涉及計(jì)算機(jī)領(lǐng)域,并且更具體地,涉及分布式開(kāi)發(fā)平臺(tái)及其計(jì)算方 法。
【背景技術(shù)】
[0002] 分布式計(jì)算平臺(tái)處理大數(shù)據(jù)不可缺少的工具。目前已有的分布式平臺(tái),一類能夠 實(shí)現(xiàn)自動(dòng)的數(shù)據(jù)分發(fā)及數(shù)據(jù)傳輸容錯(cuò),編程實(shí)現(xiàn)簡(jiǎn)單,但是程序的運(yùn)行效率較低;另一類需 要開(kāi)發(fā)人員定制分發(fā)數(shù)據(jù)和數(shù)據(jù)傳輸容錯(cuò)策略,編程實(shí)現(xiàn)復(fù)雜,并采用并行計(jì)算的方式使 得程序的運(yùn)行效率較高。
[0003] 因此,需要一種合適的方案,能夠?qū)崿F(xiàn)數(shù)據(jù)自動(dòng)分發(fā)及數(shù)據(jù)傳輸容錯(cuò),簡(jiǎn)化編程復(fù) 雜度,同時(shí)實(shí)現(xiàn)高效的并行運(yùn)算。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實(shí)施例提供一種分布式開(kāi)發(fā)平臺(tái)及其計(jì)算方法,能夠統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)分 發(fā)、數(shù)據(jù)傳輸?shù)娜蒎e(cuò)等,簡(jiǎn)化編程復(fù)雜度,并實(shí)現(xiàn)高效的并行計(jì)算。
[0005] 第一方面,提供了一種分布式開(kāi)發(fā)平臺(tái),該分布式開(kāi)發(fā)平臺(tái)包括;計(jì)算機(jī)集群、部 署在該計(jì)算機(jī)集群上的分布式文件系統(tǒng)DFS和由部署在該計(jì)算機(jī)集群內(nèi)每一臺(tái)計(jì)算機(jī)上 的消息傳遞接口MPI構(gòu)成的MPI集群,其中,該DFS用于為該計(jì)算機(jī)集群內(nèi)的每一臺(tái)計(jì)算機(jī) 提供共享存儲(chǔ)空間,該共享存儲(chǔ)空間存儲(chǔ)著該MPI集群運(yùn)行程序時(shí)所需的運(yùn)行數(shù)據(jù);該MPI 集群用于將提交到該MPI集群的程序分成多個(gè)MPI任務(wù)分發(fā)給該MPI集群中的每一個(gè)MPI, 其中,該MPI集群中的每一個(gè)MPI所在的計(jì)算機(jī)在接收到MPI任務(wù)后,根據(jù)各自分發(fā)的MPI 任務(wù)和該提交到該MPI集群的程序在該DFS所存儲(chǔ)的運(yùn)行數(shù)據(jù)進(jìn)行運(yùn)算,并將運(yùn)算后的結(jié) 果存儲(chǔ)到該DFS中,使得該計(jì)算機(jī)集群內(nèi)的每一個(gè)計(jì)算機(jī)都能訪問(wèn)到運(yùn)算后的結(jié)果。
[0006] 結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該DFS還用于將該計(jì)算 機(jī)集群中的一臺(tái)計(jì)算機(jī)作為該DFS的主節(jié)點(diǎn),其它計(jì)算機(jī)作為該DFS的從節(jié)點(diǎn);該MPI集群 還用于將該計(jì)算機(jī)集群中的一臺(tái)計(jì)算機(jī)作為該MPI集群的主節(jié)點(diǎn),其它計(jì)算機(jī)作為該MPI 集群的從節(jié)點(diǎn)。
[0007] 結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn) 為:該DFS的主節(jié)點(diǎn)和該MPI集群的主節(jié)點(diǎn)為同一臺(tái)計(jì)算機(jī);或者,該DFS的主節(jié)點(diǎn)和該MPI 集群的主節(jié)點(diǎn)為不同的計(jì)算機(jī)。
[0008] 結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式或第一方面的第二種可能 的實(shí)現(xiàn)方式,在第H種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該DFS通過(guò)網(wǎng)絡(luò)文件系統(tǒng)WS或 化doop分布式系統(tǒng)皿FS搭建。
[0009] 結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式至第一方面的第H種可能的 實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該MPI集群 通過(guò)MPICH搭建。
[0010] 第二方面,提供了一種分布式開(kāi)發(fā)平臺(tái)的計(jì)算方法,該分布式計(jì)算平臺(tái)包括計(jì)算 機(jī)集群、部署在該計(jì)算機(jī)集群上的分布式文件系統(tǒng)DFS和由部署在該計(jì)算機(jī)集群內(nèi)每一臺(tái) 計(jì)算機(jī)上的消息傳遞接口MPI構(gòu)成的MPI集群,該DFS存儲(chǔ)著該MPI集群運(yùn)行程序時(shí)所需 的運(yùn)行數(shù)據(jù),該計(jì)算方法包括;該MPI集群將提交到該MPI集群的程序分成多個(gè)MPI任務(wù)分 發(fā)給該MPI集群中的每一個(gè)MPI;該MPI集群中的每一個(gè)MPI所在的計(jì)算機(jī)根據(jù)各自分發(fā) 的MPI任務(wù)和該提交到該MPI集群的程序在該DFS所存儲(chǔ)的運(yùn)行數(shù)據(jù)進(jìn)行運(yùn)算;該計(jì)算機(jī) 集群內(nèi)的每一個(gè)計(jì)算機(jī)將運(yùn)算后的結(jié)果存儲(chǔ)到該DFS中,使得該計(jì)算機(jī)集群內(nèi)的每一個(gè)計(jì) 算機(jī)都能訪問(wèn)到運(yùn)算后的結(jié)果。
[0011] 結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該DFS還用于將該計(jì)算 機(jī)集群中的一臺(tái)計(jì)算機(jī)作為該DFS的主節(jié)點(diǎn),其它計(jì)算機(jī)作為該DFS的從節(jié)點(diǎn);該MPI集群 還用于將該計(jì)算機(jī)集群中的一臺(tái)計(jì)算機(jī)作為該MPI集群的主節(jié)點(diǎn),其它計(jì)算機(jī)作為該MPI 集群的從節(jié)點(diǎn)。
[0012] 結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn) 為:該DFS的主節(jié)點(diǎn)和該MPI集群的主節(jié)點(diǎn)為同一臺(tái)計(jì)算機(jī);或者,該DFS的主節(jié)點(diǎn)和該MPI 集群的主節(jié)點(diǎn)為不同的計(jì)算機(jī)。
[0013] 結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式或第二方面的第二種可能 的實(shí)現(xiàn)方式,在第H種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該DFS通過(guò)網(wǎng)絡(luò)文件系統(tǒng)WS或 化doop分布式系統(tǒng)皿FS搭建。
[0014] 結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式至第二方面的第H種可能的 實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該MPI集群 通過(guò)MPICH搭建。
[0015] 基于W上技術(shù)方案,本發(fā)明實(shí)施例的分布式開(kāi)發(fā)平臺(tái)及其計(jì)算方法,利用分布式 文件系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)分發(fā)、數(shù)據(jù)傳輸?shù)娜蒎e(cuò)等,簡(jiǎn)化編程復(fù)雜度;同時(shí)該方法利用MPI 環(huán)境實(shí)現(xiàn)并行計(jì)算的邏輯,實(shí)現(xiàn)高效的并行計(jì)算。
【附圖說(shuō)明】
[0016]為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中 所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí) 施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可W根據(jù)送些附圖 獲得其他的附圖。
[0017] 圖1是本發(fā)明實(shí)施例的分布式開(kāi)發(fā)平臺(tái)的系統(tǒng)框圖。
[0018] 圖2是本發(fā)明實(shí)施例分布式開(kāi)發(fā)平臺(tái)的計(jì)算方法流程圖。
[0019] 圖3是圖3是本發(fā)明實(shí)施例網(wǎng)絡(luò)部署結(jié)構(gòu)示意圖。
[0020] 圖4是本發(fā)明實(shí)施例的分布式開(kāi)發(fā)平臺(tái)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā) 明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。
[0022] 圖1是本發(fā)明實(shí)施例的分布式開(kāi)發(fā)平臺(tái)的系統(tǒng)框圖。其中,多臺(tái)計(jì)算機(jī)構(gòu)成一個(gè) 計(jì)算機(jī)集群,每個(gè)計(jì)算機(jī)上安裝有本機(jī)文件系統(tǒng)和計(jì)算系統(tǒng)的計(jì)算機(jī)。如圖1所示,分布式 文件系統(tǒng)值istributedFileSystem,DF巧部署在計(jì)算機(jī)集群上,為計(jì)算機(jī)集群中的所有計(jì) 算機(jī)提供可W同時(shí)訪問(wèn)(讀/寫)的數(shù)據(jù)存儲(chǔ)的邏輯機(jī)制。同時(shí),消息傳遞接口(Message PassingInterface,MPI)也部署在計(jì)算機(jī)集群上,為計(jì)算機(jī)集群中的所有計(jì)算機(jī)提供并行 計(jì)算機(jī)制。計(jì)算機(jī)集群中計(jì)算機(jī)可通過(guò)DFS進(jìn)行全局?jǐn)?shù)據(jù)的訪問(wèn)(讀/寫),通過(guò)本地的文 件系統(tǒng)對(duì)本地硬盤進(jìn)行本地?cái)?shù)據(jù)的訪問(wèn)(讀/寫),并通過(guò)MPI集群進(jìn)行MPI過(guò)程控制,通 過(guò)MPI通信實(shí)現(xiàn)并行程序的邏輯控制和同步。
[0023] 圖2是本發(fā)明實(shí)施例分布式平臺(tái)的計(jì)算方法流程圖。圖2的方法由分布式平臺(tái)執(zhí) 行。其中,該分布式計(jì)算平臺(tái)包括計(jì)算機(jī)集群、部署在該計(jì)算機(jī)集群上的分布式文件系統(tǒng) DFS和由部署在該計(jì)算機(jī)集群內(nèi)每一臺(tái)計(jì)算機(jī)上的消息傳遞接口MPI構(gòu)成的MPI集群,該 DFS存儲(chǔ)著該MPI集群運(yùn)行程序時(shí)所需的運(yùn)行數(shù)據(jù)。該計(jì)算方法包括:
[0024] 20LMPI集群將提交到該MPI集群的程序分成多個(gè)MPI任務(wù)通過(guò)該MPI集群中的 每一個(gè)MPI分發(fā)給MPI所在的計(jì)算機(jī)。
[0025] 202,該MPI集群中的每一個(gè)MPI所在的計(jì)算機(jī)根據(jù)各自分發(fā)的MPI任務(wù)和該提交 到該MPI集群的程序在DFS所存儲(chǔ)的運(yùn)行數(shù)據(jù)進(jìn)行運(yùn)算。
[0026] 203,該MPI集群中的每一個(gè)MPI所在的計(jì)算機(jī)將運(yùn)算后的結(jié)果存儲(chǔ)到該DFS中, 使得該計(jì)算機(jī)集群內(nèi)的每一個(gè)計(jì)算機(jī)都能訪問(wèn)到運(yùn)算后的結(jié)果。
[0027] 本發(fā)明實(shí)施例中,通