本發(fā)明涉及分布式內(nèi)存管理和分布式文件系統(tǒng)技術(shù)領(lǐng)域,特別涉及一種分布式內(nèi)存文件系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)管理方法及系統(tǒng)。
背景技術(shù):
數(shù)據(jù)密集形計(jì)算正越來(lái)越成為計(jì)算機(jī)集群的重要任務(wù)。為加速數(shù)據(jù)密集形計(jì)算,現(xiàn)有的大數(shù)據(jù)分析系統(tǒng),比如apachespark或者apacheflink,在計(jì)算機(jī)集群上進(jìn)行數(shù)據(jù)密集型計(jì)算的時(shí)候,有很大一部分內(nèi)存被用來(lái)存儲(chǔ)數(shù)據(jù),剩下的內(nèi)存資源將用于其他計(jì)算工作。這樣,內(nèi)存存儲(chǔ)就會(huì)和計(jì)算任務(wù)競(jìng)爭(zhēng)內(nèi)存空間?,F(xiàn)有的分布式內(nèi)存文件系統(tǒng)都是靜態(tài)配置的。當(dāng)部署分布式內(nèi)存文件系統(tǒng)時(shí),計(jì)算機(jī)集群中每一個(gè)計(jì)算節(jié)點(diǎn)上的分布式內(nèi)存文件系統(tǒng)的空間就固定了,這就導(dǎo)致了有的時(shí)候系統(tǒng)內(nèi)存不足而有的時(shí)候系統(tǒng)內(nèi)存剩余。
分布式內(nèi)存文件系統(tǒng)靜態(tài)配置方法存在的弊端:如果靜態(tài)分配方案給內(nèi)存文件系統(tǒng)過(guò)多的內(nèi)存資源,將使得計(jì)算密集型計(jì)算的無(wú)法得到執(zhí)行所需內(nèi)存;如果靜態(tài)分配方案給內(nèi)存文件系統(tǒng)過(guò)少的內(nèi)存資源,則無(wú)法讓數(shù)據(jù)密集型計(jì)算高效率執(zhí)行。因此靜態(tài)分配方案不能使數(shù)據(jù)密集型和計(jì)算密集型計(jì)算同時(shí)高效地運(yùn)行在計(jì)算機(jī)集群上。
技術(shù)實(shí)現(xiàn)要素:
為解決靜態(tài)配置方案不能使分布式數(shù)據(jù)密集型和計(jì)算密集型計(jì)算同時(shí)高效地運(yùn)行在計(jì)算機(jī)集群上的技術(shù)問(wèn)題,本發(fā)明提出一種分布式內(nèi)存文件系統(tǒng)的動(dòng)態(tài)管理方法及系統(tǒng)。
一種分布式內(nèi)存文件系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)管理方法,用于對(duì)分布式內(nèi)存文件系統(tǒng)的內(nèi)存使用量動(dòng)態(tài)調(diào)整,包括以下步驟:
實(shí)時(shí)收集計(jì)算機(jī)集群上每個(gè)計(jì)算節(jié)點(diǎn)在控制時(shí)間點(diǎn)的內(nèi)存使用量;
根據(jù)收集到的所述內(nèi)存使用量對(duì)每個(gè)計(jì)算節(jié)點(diǎn)的下一個(gè)控制時(shí)間點(diǎn)內(nèi)存文件系統(tǒng)的內(nèi)存使用量進(jìn)行預(yù)測(cè);
通過(guò)預(yù)測(cè)出來(lái)的內(nèi)存使用量做出判斷,判斷之后發(fā)出控制指令,控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回和分配指令。
作為一種可實(shí)施方式,所述根據(jù)收集到的所述內(nèi)存使用量對(duì)計(jì)算節(jié)點(diǎn)的下一個(gè)控制時(shí)間點(diǎn)內(nèi)存文件系統(tǒng)的內(nèi)存使用量進(jìn)行預(yù)測(cè)的具體操作為:
每個(gè)計(jì)算節(jié)點(diǎn)上在i個(gè)控制時(shí)間點(diǎn)的內(nèi)存使用比例公式為:
因此,在第i+1個(gè)控制時(shí)間點(diǎn),計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)所能占用的內(nèi)存使用量的計(jì)算公式:
ui+1表示計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)在第i+1個(gè)控制時(shí)間點(diǎn)所能占用的內(nèi)存使用量,ui表示計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)在第i個(gè)控制時(shí)間點(diǎn)占用的內(nèi)存使用量,r0表示計(jì)算節(jié)點(diǎn)內(nèi)存利用率的閾值,vi表示計(jì)算節(jié)點(diǎn)在i個(gè)控制時(shí)間點(diǎn)的內(nèi)存使用容量,ri表示計(jì)算節(jié)點(diǎn)在第i個(gè)控制時(shí)間點(diǎn)的內(nèi)存利用率;λ為控制參數(shù)。
作為一種可實(shí)施方式,所述通過(guò)預(yù)測(cè)出來(lái)的內(nèi)存使用量做出判斷,判斷之后發(fā)出控制指令,控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回和分配指令的具體操作為:
當(dāng)內(nèi)存利用率低于閾值時(shí),則控制分布式內(nèi)存文件系統(tǒng)發(fā)出分配指令,給第i+1個(gè)控制時(shí)間點(diǎn)分布式內(nèi)存文件系統(tǒng),給它增加分配相應(yīng)的內(nèi)存使用空間;
當(dāng)內(nèi)存利用率大于閾值時(shí),則控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回指令,給第i+1個(gè)控制時(shí)間點(diǎn)分布式內(nèi)存文件系統(tǒng),收回分布式內(nèi)存文件系統(tǒng)的部分內(nèi)存使用量。
一種分布式內(nèi)存文件系統(tǒng)動(dòng)態(tài)實(shí)時(shí)管理系統(tǒng),用于對(duì)分布式內(nèi)存文件系統(tǒng)的內(nèi)存使用量動(dòng)態(tài)實(shí)時(shí)調(diào)整,包括:
收集計(jì)算模塊,用于實(shí)時(shí)收集計(jì)算機(jī)集群上每個(gè)計(jì)算節(jié)點(diǎn)在控制時(shí)間點(diǎn)的內(nèi)存使用量;
預(yù)測(cè)模塊,用于根據(jù)收集到的所述內(nèi)存使用量對(duì)每個(gè)計(jì)算節(jié)點(diǎn)的下一個(gè)控制時(shí)間點(diǎn)內(nèi)存文件系統(tǒng)的內(nèi)存使用量進(jìn)行預(yù)測(cè);
控制模塊,用于通過(guò)預(yù)測(cè)出來(lái)的內(nèi)存使用量做出判斷,判斷之后發(fā)出控制指令,控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回和分配指令。
作為一種可實(shí)施方式,所述預(yù)測(cè)模塊設(shè)置為:
所述根據(jù)收集到的所述內(nèi)存使用量對(duì)計(jì)算節(jié)點(diǎn)的下一個(gè)控制時(shí)間點(diǎn)內(nèi)存文件系統(tǒng)的內(nèi)存使用量進(jìn)行預(yù)測(cè)的具體操作為,
每個(gè)計(jì)算節(jié)點(diǎn)上在i個(gè)控制時(shí)間點(diǎn)的內(nèi)存使用比例公式為:
因此,在第i+1個(gè)控制時(shí)間點(diǎn),計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)所能占用的內(nèi)存使用量的計(jì)算公式:
ui+1表示計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)在第i+1個(gè)控制時(shí)間點(diǎn)所能占用的內(nèi)存使用量,ui表示計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)在第i個(gè)控制時(shí)間點(diǎn)占用的內(nèi)存使用量,r0表示計(jì)算節(jié)點(diǎn)內(nèi)存利用率的閾值,vi表示計(jì)算節(jié)點(diǎn)在i個(gè)控制時(shí)間點(diǎn)的內(nèi)存使用容量,ri表示計(jì)算節(jié)點(diǎn)在第i個(gè)控制時(shí)間點(diǎn)的內(nèi)存利用率;λ為控制參數(shù)。
作為一種可實(shí)施方式,所述控制模塊設(shè)置為:
所述通過(guò)預(yù)測(cè)出來(lái)的內(nèi)存使用量做出判斷,判斷之后發(fā)出控制指令,控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回和分配指令具體操作為:
當(dāng)內(nèi)存利用率低于閾值時(shí),則控制分布式內(nèi)存文件系統(tǒng)發(fā)出分配指令,給第i+1個(gè)控制時(shí)間點(diǎn)分布式內(nèi)存文件系統(tǒng),給它增加分配相應(yīng)的內(nèi)存使用空間;
當(dāng)內(nèi)存利用率大于閾值時(shí),則控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回指令,給第i+1個(gè)控制時(shí)間點(diǎn)分布式內(nèi)存文件系統(tǒng),收回分布式內(nèi)存文件系統(tǒng)的部分內(nèi)存使用量。
一種分布式內(nèi)存文件系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)管理系統(tǒng),包括分布式內(nèi)存監(jiān)視代理模塊、分布式信息流動(dòng)處理器、存儲(chǔ)控制器和分布式內(nèi)存文件系統(tǒng),所述分布式內(nèi)存監(jiān)視代理模塊連接分布式信息流動(dòng)處理器,分布式信息流動(dòng)處理器連接存儲(chǔ)控制器;
所述分布式內(nèi)存監(jiān)視代理模塊用于實(shí)時(shí)收集計(jì)算機(jī)集群中每一個(gè)計(jì)算節(jié)點(diǎn)的內(nèi)存使用量信息,將收集到的信息發(fā)送給分布式消息傳送總線;
所述分布式消息傳送總線將收集到的內(nèi)存使用量從分布式內(nèi)存監(jiān)視代理模塊傳送到分布式信息流處理器,并且將計(jì)算機(jī)集群中的每個(gè)計(jì)算節(jié)點(diǎn)的優(yōu)化好的內(nèi)存文件系統(tǒng)的空間從分布式信息流處理器傳送到分布式內(nèi)存控制器;
所述分布式信息流處理器用于處理收集到的計(jì)算節(jié)點(diǎn)內(nèi)存信息并且計(jì)算每個(gè)節(jié)點(diǎn)的優(yōu)化的內(nèi)存文件系統(tǒng)的空間;
存儲(chǔ)控制器用于判決、發(fā)出內(nèi)存回收或分配調(diào)節(jié)指令給計(jì)算機(jī)集群中每一個(gè)計(jì)算節(jié)點(diǎn)上的分布式內(nèi)存文件系統(tǒng)。
本發(fā)明相比于現(xiàn)有技術(shù)的有益效果在于:
本發(fā)明采用動(dòng)態(tài)控制的系統(tǒng)和方法,能優(yōu)化計(jì)算機(jī)集群的內(nèi)存的使用,從而提高計(jì)算機(jī)集群上數(shù)據(jù)密集型和計(jì)算密集型計(jì)算的效率。
附圖說(shuō)明
圖1為本發(fā)明的方法示意圖;
圖2為本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖;
圖3為本發(fā)明的實(shí)施例1的系統(tǒng)結(jié)構(gòu)示意圖;
圖4為本發(fā)明的hpcc環(huán)境下的內(nèi)存使用情況;
圖5為本發(fā)明的實(shí)施例1具有hpc集群和大數(shù)據(jù)加載的典型的計(jì)算節(jié)點(diǎn)高級(jí)內(nèi)存的使用情況示意圖;
圖6為本發(fā)明的不同積分增益的數(shù)值的內(nèi)存存儲(chǔ)器減少和分配大小。
具體實(shí)施方式
以下結(jié)合附圖,對(duì)本發(fā)明上述的和另外的技術(shù)特征和優(yōu)點(diǎn)進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的部分實(shí)施例,而不是全部實(shí)施例。
請(qǐng)參閱以下實(shí)施例
示例性方法:
一種分布式內(nèi)存文件系統(tǒng)的動(dòng)態(tài)管理方法,,用于對(duì)分布式內(nèi)存文件系統(tǒng)的內(nèi)存使用量動(dòng)態(tài)調(diào)整,如圖1所示,包括以下步驟,
s1、實(shí)時(shí)收集計(jì)算機(jī)集群上每個(gè)計(jì)算節(jié)點(diǎn)在控制時(shí)間點(diǎn)的內(nèi)存使用量;
s2、根據(jù)收集到的所述內(nèi)存使用量對(duì)每個(gè)計(jì)算節(jié)點(diǎn)的下一個(gè)控制時(shí)間點(diǎn)內(nèi)存文件系統(tǒng)的內(nèi)存使用量進(jìn)行預(yù)測(cè);
s3、通過(guò)預(yù)測(cè)出來(lái)的內(nèi)存使用量做出判斷,判斷之后發(fā)出控制指令,控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回和分配指令。
更進(jìn)步一地,所述計(jì)算機(jī)集群上每一個(gè)節(jié)點(diǎn)在第i個(gè)時(shí)間節(jié)點(diǎn)的內(nèi)存使用率公式為:
因此,在第i+1個(gè)控制時(shí)間點(diǎn),計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)所能占用的內(nèi)存使用量的計(jì)算公式:
ui+1表示計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)在第i+1個(gè)控制時(shí)間點(diǎn)所能占用的內(nèi)存使用量,ui表示計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)在第i個(gè)控制時(shí)間點(diǎn)占用的內(nèi)存使用量,r0表示計(jì)算節(jié)點(diǎn)內(nèi)存利用率的閾值,vi表示計(jì)算節(jié)點(diǎn)在i個(gè)控制時(shí)間點(diǎn)的內(nèi)存使用容量,ri表示計(jì)算節(jié)點(diǎn)在第i個(gè)控制時(shí)間點(diǎn)的內(nèi)存利用率;λ為控制參數(shù)。
當(dāng)內(nèi)存利用率大于閾值時(shí),即第i+1個(gè)控制時(shí)間點(diǎn)所能占用的內(nèi)存使用量和第i個(gè)控制時(shí)間點(diǎn)占用的內(nèi)存使用量都已知時(shí),所述通過(guò)預(yù)測(cè)出來(lái)的內(nèi)存使用量做出判斷,判斷之后發(fā)出控制指令,控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回和分配指令的具體操作為:
當(dāng)內(nèi)存利用率低于閾值時(shí),則控制分布式內(nèi)存文件系統(tǒng)發(fā)出分配指令,給第i+1個(gè)控制時(shí)間點(diǎn)分布式內(nèi)存文件系統(tǒng),給它增加分配相應(yīng)的內(nèi)存使用空間;
當(dāng)內(nèi)存利用率大于閾值時(shí),則控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回指令,給第i+1個(gè)控制時(shí)間點(diǎn)分布式內(nèi)存文件系統(tǒng),收回分布式內(nèi)存文件系統(tǒng)的部分內(nèi)存使用量。
也就是說(shuō),當(dāng)預(yù)測(cè)出下一個(gè)控制時(shí)間點(diǎn)需要的內(nèi)存使用量多時(shí),則控制分布式內(nèi)存文件系統(tǒng)分配內(nèi)存給此控制時(shí)間點(diǎn)使用,而當(dāng)預(yù)測(cè)出下一個(gè)控制時(shí)間點(diǎn)需要的內(nèi)存使用量少時(shí),則控制控制分布式內(nèi)存文件系統(tǒng)回收多余內(nèi)存給其他點(diǎn)使用。
示例性系統(tǒng):一種分布式內(nèi)存文件系統(tǒng)的動(dòng)態(tài)管理系統(tǒng),用于對(duì)分布式內(nèi)存文件系統(tǒng)的內(nèi)存使用量動(dòng)態(tài)調(diào)整,如圖2所示,包括:
收集計(jì)算模塊1,用于實(shí)時(shí)收集計(jì)算機(jī)集群上每個(gè)計(jì)算節(jié)點(diǎn)在控制時(shí)間點(diǎn)的內(nèi)存使用量;
預(yù)測(cè)模塊2,用于根據(jù)收集到的所述內(nèi)存使用量對(duì)每個(gè)計(jì)算節(jié)點(diǎn)的下一個(gè)控制時(shí)間點(diǎn)內(nèi)存文件系統(tǒng)的內(nèi)存使用量進(jìn)行預(yù)測(cè);
控制模塊3,用于通過(guò)預(yù)測(cè)出來(lái)的內(nèi)存使用量做出判斷,判斷之后發(fā)出控制指令,控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回和分配指令。
更進(jìn)一步地,所述預(yù)測(cè)模塊2設(shè)置為:
所述計(jì)算機(jī)集群上每一個(gè)節(jié)點(diǎn)在第i個(gè)時(shí)間節(jié)點(diǎn)的內(nèi)存使用率公式為:
因此,在第i+1個(gè)控制時(shí)間點(diǎn),計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)所能占用的內(nèi)存使用量的計(jì)算公式:
ui+1表示計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)在第i+1個(gè)控制時(shí)間點(diǎn)所能占用的內(nèi)存使用量,ui表示計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)在第i個(gè)控制時(shí)間點(diǎn)占用的內(nèi)存使用量,r0表示計(jì)算節(jié)點(diǎn)內(nèi)存利用率的閾值,vi表示計(jì)算節(jié)點(diǎn)在i個(gè)控制時(shí)間點(diǎn)的內(nèi)存使用容量,ri表示計(jì)算節(jié)點(diǎn)在第i個(gè)控制時(shí)間點(diǎn)的內(nèi)存利用率;λ為控制參數(shù)。
更進(jìn)一步地,控制模塊3還設(shè)置為:所述通過(guò)預(yù)測(cè)出來(lái)的內(nèi)存使用量做出判斷,判斷之后發(fā)出控制指令,控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回和分配指令具體操作為:
當(dāng)內(nèi)存利用率低于閾值時(shí),則控制分布式內(nèi)存文件系統(tǒng)發(fā)出分配指令,給第i+1個(gè)控制時(shí)間點(diǎn)分布式內(nèi)存文件系統(tǒng),給它增加分配相應(yīng)的內(nèi)存使用空間;
當(dāng)內(nèi)存利用率大于閾值時(shí),則控制分布式內(nèi)存文件系統(tǒng)發(fā)出收回指令,給第i+1個(gè)控制時(shí)間點(diǎn)分布式內(nèi)存文件系統(tǒng),收回分布式內(nèi)存文件系統(tǒng)的部分內(nèi)存使用量。
實(shí)施例1
實(shí)施例1為一種實(shí)際應(yīng)用的具體的分布式內(nèi)存文件系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)管理系統(tǒng),如圖3所示,包括分布式內(nèi)存監(jiān)視代理模塊02、分布式信息流動(dòng)處理器04、存儲(chǔ)控制器05,所述分布式內(nèi)存監(jiān)視代理模塊02連接分布式信息流動(dòng)處理器04,分布式信息流動(dòng)處理器04連接存儲(chǔ)控制器05;
所述內(nèi)存監(jiān)視代理模塊02用于實(shí)時(shí)收集計(jì)算機(jī)集群中每一個(gè)計(jì)算節(jié)點(diǎn)的內(nèi)存使用量信息,將收集到的信息發(fā)送給分布式消息傳送總線01;
所述分布式消息傳送總線01將收集到的每個(gè)計(jì)算節(jié)點(diǎn)的內(nèi)存使用量從分布式內(nèi)存監(jiān)視代理模塊02傳送到分布式信息流處理器04,并且將計(jì)算機(jī)集群中的每個(gè)計(jì)算節(jié)點(diǎn)的優(yōu)化分布式內(nèi)存文件系統(tǒng)01的內(nèi)存空間從分布式信息流處理器04傳送到分布式內(nèi)存控制器05;
所述分布式信息流處理器04用于處理收集到的計(jì)算節(jié)點(diǎn)內(nèi)存信息并且計(jì)算每個(gè)節(jié)點(diǎn)的優(yōu)化的分布式內(nèi)存文件系統(tǒng)01的空間;
存儲(chǔ)控制器05用于判決、發(fā)出內(nèi)存回收或分配調(diào)節(jié)指令給計(jì)算機(jī)集群中分布式內(nèi)存文件系統(tǒng)01的每一個(gè)計(jì)算節(jié)點(diǎn)。
結(jié)合實(shí)際系統(tǒng)來(lái)闡述本發(fā)明。
如圖5所示,一般情況下,如果我們?cè)诮o大數(shù)據(jù)框架的靜態(tài)配置120gb的可用內(nèi)存,運(yùn)行hpcc基準(zhǔn)計(jì)算節(jié)點(diǎn),我們只能有25gb的內(nèi)存空間為20gb的內(nèi)存空間和其他大數(shù)據(jù)的運(yùn)行庫(kù)和應(yīng)用程序的執(zhí)行。在大部分的運(yùn)行時(shí)間內(nèi)至少要分配給hpcc40gb的內(nèi)存。傳統(tǒng)的靜態(tài)配置不能進(jìn)行動(dòng)態(tài)調(diào)節(jié),導(dǎo)致了分配給hpcc內(nèi)存可能在某一控制時(shí)間點(diǎn)會(huì)產(chǎn)生多余內(nèi)存,最終無(wú)法讓數(shù)據(jù)密集型計(jì)算高效率執(zhí)行。本發(fā)明就是內(nèi)存存儲(chǔ)進(jìn)行動(dòng)態(tài)調(diào)整,進(jìn)而更佳優(yōu)化分布式內(nèi)存文件系統(tǒng)。
如圖5所示,是一個(gè)具有hpc集群上的計(jì)算節(jié)點(diǎn)同時(shí)運(yùn)行數(shù)據(jù)密集形和計(jì)算密集形計(jì)算的時(shí)候的內(nèi)存的使用情況,根據(jù)此使用情況來(lái)詳細(xì)說(shuō)明本發(fā)明的方法。
可用的內(nèi)存空間(除了保留為操作系統(tǒng)運(yùn)行和緩存保留的內(nèi)存空間)被分配給hpc應(yīng)用程序的內(nèi)存空間n、內(nèi)存存儲(chǔ)器的內(nèi)存空間s和大數(shù)據(jù)應(yīng)用程序的內(nèi)存空間e。如果靜態(tài)配置,每個(gè)數(shù)值都需要從技術(shù)人員的經(jīng)驗(yàn)中得到:在這里內(nèi)存空間n常常由hpc應(yīng)用的峰值存儲(chǔ)量得到,內(nèi)存空間s和內(nèi)存空間e由同一節(jié)點(diǎn)的剩余可用的存儲(chǔ)量導(dǎo)出。如果計(jì)算機(jī)集群生活運(yùn)行不同的任務(wù),存儲(chǔ)需求也是隨時(shí)間變化的,靜態(tài)的結(jié)構(gòu)只能提供一個(gè)次優(yōu)的性能。因?yàn)椋?)在hpc集群中,hpc應(yīng)用要求的存儲(chǔ)資源常常被過(guò)高估計(jì);為了達(dá)到實(shí)際存儲(chǔ)峰值的要求,用戶不得不對(duì)每一個(gè)有不同計(jì)算參數(shù)的應(yīng)用做詳細(xì)的性能分析,這會(huì)導(dǎo)致產(chǎn)生很多額外的工作,變得不切實(shí)際、難于處理;2)在大數(shù)據(jù)應(yīng)用中,選擇優(yōu)化用于任務(wù)執(zhí)行和數(shù)據(jù)存儲(chǔ)的比例也是困難的。
內(nèi)存空間n、s和e的大小隨著計(jì)算節(jié)點(diǎn)上不同任務(wù)的運(yùn)行可以做動(dòng)態(tài)調(diào)整。如果內(nèi)存的使用率低于閾值,內(nèi)存存儲(chǔ)s可以占用整個(gè)更多的空閑空間。另一方面,當(dāng)hpc或大數(shù)據(jù)應(yīng)用程序運(yùn)行需要內(nèi)存時(shí),則內(nèi)存空間s就需要釋放數(shù)據(jù)所占用的內(nèi)存來(lái)滿足內(nèi)存空間n計(jì)算所需的內(nèi)存需求。
內(nèi)存的使用率對(duì)應(yīng)用程序的性能和系統(tǒng)穩(wěn)定性有密切的關(guān)系。內(nèi)存的使用率必須維持低于一定的臨界閾值。我們提出了一種閉環(huán)反饋控制模式來(lái)動(dòng)態(tài)調(diào)整內(nèi)存存儲(chǔ)器的所用的內(nèi)存空間,從而保持內(nèi)存的使用率低于閾值。每個(gè)計(jì)算節(jié)點(diǎn)上在i個(gè)控制時(shí)間點(diǎn)的內(nèi)存使用比例公式為:
因此,在第i+1個(gè)控制時(shí)間點(diǎn),計(jì)算節(jié)點(diǎn)上內(nèi)存文件系統(tǒng)所能占用的內(nèi)存使用量的計(jì)算公式:
上述公式中,λ是一個(gè)常數(shù),它決定了內(nèi)存存儲(chǔ)容量的可擴(kuò)展性。當(dāng)ri-r0是負(fù)數(shù)時(shí),ui+1將大于ui,在下一個(gè)時(shí)間間隔會(huì)分配更多的空間給內(nèi)存存儲(chǔ)器,當(dāng)ri-r0是正數(shù)時(shí),內(nèi)存控制器會(huì)請(qǐng)求去減少ui,從而達(dá)到滿足內(nèi)存利用率的目標(biāo)。
需要尋找一個(gè)合適的λ,這樣分布式內(nèi)存文件系統(tǒng)的動(dòng)態(tài)管理系統(tǒng)才是穩(wěn)定的,測(cè)量的存儲(chǔ)比例可以盡快地接近參考值r0,如圖6所示,經(jīng)過(guò)驗(yàn)證對(duì)比,λ=0.5時(shí)可以實(shí)現(xiàn)最好的平衡。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步的詳細(xì)說(shuō)明,應(yīng)當(dāng)理解,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍。特別指出,對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。