一種基于作業(yè)時(shí)序緩存共享的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種基于作業(yè)時(shí)序緩存共享的方法。
【背景技術(shù)】
[0002]高性能計(jì)算機(jī)規(guī)模巨大,任務(wù)執(zhí)行期間并發(fā)的數(shù)據(jù)訪(fǎng)問(wèn)量也數(shù)以萬(wàn)計(jì),因此對(duì)于分布式文件系統(tǒng)的性能有很高的要求,為此分布式文件系統(tǒng)一般會(huì)在服務(wù)器上配置一定得加速資源,實(shí)現(xiàn)對(duì)于大量數(shù)據(jù)的讀寫(xiě)請(qǐng)求處理,這些緩存資源相對(duì)于分布式文件系統(tǒng)本身的存儲(chǔ)容量而言容量很小、但是其性能高卻可能數(shù)倍于分布式文件系統(tǒng)本身的性能,成本也很高,因此作業(yè)運(yùn)行過(guò)程中獨(dú)占式的緩存資源分配雖然簡(jiǎn)單,但卻并不合理。
[0003]JOB是一種運(yùn)行在高性能計(jì)算機(jī)計(jì)算資源上應(yīng)用軟件,其一般執(zhí)行一定的科學(xué)計(jì)算任務(wù),并在計(jì)算任務(wù)的一定階段將數(shù)據(jù)寫(xiě)入分布式文件系統(tǒng),課題一次輸出的數(shù)據(jù)量很大,往往在數(shù)十TB甚至上百上千TB,對(duì)于分布式文件構(gòu)建的存儲(chǔ)資源的性能要求很高。
[0004]高性能計(jì)算中JOB啟動(dòng)時(shí),系統(tǒng)一般會(huì)為JOB分配一定得DFS(Distribute FileSystem,分布式文件系統(tǒng)集成大量存儲(chǔ)服務(wù)器資源和緩存資源,運(yùn)行在存儲(chǔ)服務(wù)器上,通過(guò)軟件實(shí)現(xiàn)了一個(gè)共享的存儲(chǔ)空間,為高性能計(jì)算機(jī)提供高性能、高并發(fā)的數(shù)據(jù)讀寫(xiě)支持)緩存資源,用來(lái)加速JOB的數(shù)據(jù)讀寫(xiě)性能,JOB執(zhí)行過(guò)程中,一般地該DFS緩存資源會(huì)固定地分配給J0B,由于JOB在數(shù)據(jù)訪(fǎng)問(wèn)是的階段性,即存在間隙,且訪(fǎng)問(wèn)間隙一般超過(guò)十分鐘以上,因此在訪(fǎng)問(wèn)間隙造成了緩存資源的空閑,也間接造成了緩存資源的浪費(fèi)。
[0005]更具體地說(shuō),當(dāng)一個(gè)JOB啟動(dòng)運(yùn)行時(shí),系統(tǒng)會(huì)針對(duì)這個(gè)JOB分配DFS Cache資源。DFSCache是一種分布式文件系統(tǒng)緩存,該分布式文件系統(tǒng)在其運(yùn)行的服務(wù)器上一般可以部署一定的SSD、內(nèi)存等專(zhuān)用加速分布式文件訪(fǎng)問(wèn)的資源,并通過(guò)分布式文件系統(tǒng)調(diào)度這些緩存資源,為計(jì)算任務(wù)得數(shù)據(jù)訪(fǎng)問(wèn)性能加速提供支撐。
[0006]這樣,在JOB運(yùn)行過(guò)程中,該資源由JOB獨(dú)占,而JOB在運(yùn)行過(guò)程中,往往具有數(shù)據(jù)訪(fǎng)問(wèn)的階段性,即在數(shù)據(jù)讀寫(xiě)的一個(gè)階段完成后,JOB只有完成一定的計(jì)算任務(wù)后才會(huì)進(jìn)行下一個(gè)階段的數(shù)據(jù)讀寫(xiě),由于HPC中DFS Cache資源往往性能高、成本高,因此會(huì)造成資源浪費(fèi)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)中存在上述缺陷,提供一種能夠?qū)崿F(xiàn)JOB之間的DFS Cache共享的基于作業(yè)時(shí)序緩存共享的方法。
[0008]根據(jù)本發(fā)明,提供了一種基于作業(yè)時(shí)序緩存共享的方法,包括:
[0009]第一步驟:在JOB提交運(yùn)行前,聲明JOB運(yùn)行過(guò)程中的需要的DFS Cache資源量;
[0010]第二步驟:系統(tǒng)為各個(gè)JOB的作業(yè)分配相應(yīng)的DFSCache資源,并啟動(dòng)JOB作業(yè)運(yùn)行;
[0011]第三步驟:使得各個(gè)JOB作業(yè)運(yùn)行多輪,其中JOB會(huì)產(chǎn)生多次對(duì)于DFSCache的訪(fǎng)問(wèn),使系統(tǒng)采集各個(gè)JOB作業(yè)訪(fǎng)問(wèn)DFS Cache的時(shí)間間隔;
[0012]第四步驟:在JOB作業(yè)訪(fǎng)問(wèn)緩存資源的時(shí)間間隔趨于穩(wěn)定的情況下,記錄所述時(shí)間間隔,并且啟動(dòng)DFS Cache共享分配算法。
[0013]優(yōu)選地,所述基于作業(yè)時(shí)序緩存共享的方法還包括:
[0014]第五步驟:在執(zhí)行JOB作業(yè)時(shí),由存儲(chǔ)管理系統(tǒng)按照運(yùn)行的所有JOB作業(yè)訪(fǎng)問(wèn)DFSCache的情況對(duì)JOB作業(yè)的數(shù)據(jù)進(jìn)行讀寫(xiě),如果存儲(chǔ)管理系統(tǒng)確定存在JOB數(shù)據(jù)訪(fǎng)問(wèn)超過(guò)時(shí)間窗口,重新返回第四步驟以重新啟動(dòng)DFS Cache共享分配算法。
[0015]第六步驟:作業(yè)執(zhí)行完成后,釋放所述作業(yè)所占用DFSCache資源。
[0016]優(yōu)選地,所述DFSCache共享分配算法包括:建立系統(tǒng)中所有JOB的作業(yè)時(shí)間間隔分配表,確定是否存在DFS Cache具有空閑時(shí)間段能夠讓該DFS Cache所對(duì)應(yīng)的JOB與其它JOB共享DFS Cache;而且在存在DFS Cache具有空閑時(shí)間段能夠讓該DFS Cache所對(duì)應(yīng)的JOB與其它JOB共享DFS Cache的情況下,判斷該DFS Cache的緩存空間是否存在剩余緩存空間。
[0017]優(yōu)選地,所述DFS Cache共享分配算法還包括:如果所述空閑時(shí)間段以及該DFSCache的剩余緩存空間滿(mǎn)足新啟動(dòng)的JOB的要求,那么直接將所述空閑時(shí)間段以及該DFSCache的剩余緩存空間分配給新啟動(dòng)的JOB。
[0018]優(yōu)選地,所述DFS Cache共享分配算法還包括:如果所述空閑時(shí)間段以及DFSCache剩余緩存空間不足以滿(mǎn)足新啟動(dòng)的JOB的要求,則在使得新啟動(dòng)的JOB利用所述剩余緩存空間資源后再為新啟動(dòng)的JOB分配新的資源。
[0019]優(yōu)選地,所述DFS Cache共享分配算法還包括:如果DFS Cache緩存空間沒(méi)有剩余,則為新啟動(dòng)的JOB分配新DFS Cache,并在另一個(gè)JOB作業(yè)啟動(dòng)之前由該新啟動(dòng)的JOB的作業(yè)獨(dú)占分配的所述新DFS Cache。
[0020]優(yōu)選地,時(shí)間間隔趨于穩(wěn)定指時(shí)間間隔為恒定值或者大于特定值。
[0021]本發(fā)明解決了DFS緩存資源固定分配給JOB的弊端,通過(guò)在存儲(chǔ)層采集作業(yè)訪(fǎng)問(wèn)DFS緩存的間隙信息,按照作業(yè)緩存訪(fǎng)問(wèn)間隙來(lái)調(diào)動(dòng)作業(yè),實(shí)現(xiàn)不同DFS緩存資源在作業(yè)訪(fǎng)問(wèn)DFS緩存間隙之間的復(fù)用,提高系統(tǒng)的綜合利用效率。
【附圖說(shuō)明】
[0022]結(jié)合附圖,并通過(guò)參考下面的詳細(xì)描述,將會(huì)更容易地對(duì)本發(fā)明有更完整的理解并且更容易地理解其伴隨的優(yōu)點(diǎn)和特征,其中:
[0023]圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的基于作業(yè)時(shí)序緩存共享的方法的流程圖。
[0024]需要說(shuō)明的是,附圖用于說(shuō)明本發(fā)明,而非限制本發(fā)明。注意,表示結(jié)構(gòu)的附圖可能并非按比例繪制。并且,附圖中,相同或者類(lèi)似的元件標(biāo)有相同或者類(lèi)似的標(biāo)號(hào)。
【具體實(shí)施方式】
[0025]為了使本發(fā)明的內(nèi)容更加清楚和易懂,下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明的內(nèi)容進(jìn)行詳細(xì)描述。
[0026]高性能計(jì)算HPC(High Performance Computing)是集成大規(guī)模計(jì)算資源和存儲(chǔ)資源的系統(tǒng),實(shí)現(xiàn)對(duì)于超大規(guī)模問(wèn)題的處理,這種系統(tǒng)集成數(shù)萬(wàn)個(gè)中央處理器并行計(jì)算,并將大量數(shù)據(jù)寫(xiě)入到分布式文件系統(tǒng)構(gòu)建的存儲(chǔ)資源中,所對(duì)于存儲(chǔ)資源的并發(fā)度支撐、性能等要求都很高。
[0027]在高性能計(jì)算HPC中,應(yīng)用通過(guò)提交作業(yè)即JOB的方式使用計(jì)算資源和存儲(chǔ)資源解決科學(xué)問(wèn)題,對(duì)于數(shù)據(jù)輸出量較大的JOB,在其啟動(dòng)運(yùn)行時(shí),系統(tǒng)會(huì)針對(duì)這個(gè)JOB分配DFSCache資源,并在JOB運(yùn)行過(guò)程中,為JOB數(shù)據(jù)管理的簡(jiǎn)單,確保JOB數(shù)據(jù)安全,該資源由JOB獨(dú)占,而JOB在運(yùn)行過(guò)程中,往往具有數(shù)據(jù)訪(fǎng)問(wèn)的階段性,即在數(shù)據(jù)讀寫(xiě)的一個(gè)階段完成后,JOB只有完成一定的計(jì)算任務(wù)后才會(huì)進(jìn)行下一個(gè)階段的數(shù)據(jù)讀寫(xiě),由于高性能計(jì)算HPC中DFS Cache資源往往性能高、成本高,因此會(huì)造成資源浪費(fèi)。
[0028]本發(fā)明提出的按照作業(yè)訪(fǎng)問(wèn)DFSCache時(shí)間間隙為依據(jù)調(diào)度作業(yè),實(shí)現(xiàn)作業(yè)對(duì)DFSCache資源的共享。在作業(yè)提交以后,在作業(yè)運(yùn)行的前幾步為作業(yè)分配不同的緩存資源,并采集作業(yè)訪(fǎng)問(wèn)緩存資源的時(shí)間間隔,當(dāng)收集到比較穩(wěn)定的時(shí)間間隔值后,通過(guò)對(duì)這些時(shí)間間隔值進(jìn)行排隊(duì)處理,獲得JOB訪(fǎng)問(wèn)DFS Cache的前后順序,之后系統(tǒng)可以訪(fǎng)問(wèn)一定的數(shù)據(jù)調(diào)度策略實(shí)現(xiàn)在不同作業(yè)間隙中對(duì)于DFS Cache的共享訪(fǎng)問(wèn)。
[0029]圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的基于作業(yè)時(shí)