国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于日志特征分析的機群負載模型及其建模方法

      文檔序號:7703131閱讀:232來源:國知局
      專利名稱:基于日志特征分析的機群負載模型及其建模方法
      技術領域
      本發(fā)明涉及通信領域計算機機群性能評估技術中的負載仿真模型,尤其涉及一種基于日志特征分析的機群負載模型及其建模方法。

      背景技術
      機群是當今高性能計算中一種質優(yōu)價廉的解決方案,隨著機群技術的成熟與成本的降低,它的規(guī)模增長也是越來越快。但機群性能的提升與規(guī)模的增長并不是一種線性關系,這就需要機群的設計人員及用戶綜合權衡成本與性能兩個主要因素。
      目前,機群性能評估的方法主要有兩種一種是在真實環(huán)境下運行同一基準的Linpack Benchmark測試程序,比較計算峰值(如Top500排行);一種是在仿真環(huán)境下通過建立一系列模型,模擬真實機群系統(tǒng)的工作過程,獲得并比較仿真數據。其中,前者多用于產業(yè)界,而后者則多用于學術界。
      以上兩種方法都存在著自身的缺陷 首先,Linpack Benchmark測試程序是以求解方程組的形式來獲取機群系統(tǒng)的計算峰值。但機群系統(tǒng)的真實應用場景與求解方程組之間并沒有必然的聯(lián)系,并且機群系統(tǒng)以峰值速度運行的時間極為有限。Linpack Benchmark測試方法沒有從用戶的角度來審視一個機群系統(tǒng)。
      其次,仿真方法的測試結果不具有廣泛意義上的可比性。由于沒有真實環(huán)境,仿真測試結果在很大程度上依賴于模型的構建方法和粒度。因此在使用仿真方法進行機群性能評估時,需要使用同一模型仿真不同應用場景下的系統(tǒng)運行過程。但由于模型設計的側重點不同,同樣一組應用場景在使用不同模型進行仿真,得到的評估結果可能不同。
      再次,仿真方法存在如何生成系統(tǒng)負載的問題。與真實環(huán)境相比,仿真模型不能運行Linpack Benchmark測試程序,需要設計人員自行安排一組負載作為機群模型評估的輸入。目前,常用的方法有兩種一種是以真實應用環(huán)境下記錄的日志文件作為機群模型的負載;一種是根據某種概率分布,通過隨機數的方式產生機群負載。但日志文件會帶有所屬機構的使用特點,而傳統(tǒng)的概率分布(如泊松分布)又缺乏對真實應用的刻畫。
      鑒于現有仿真方法中,機群負載生成方法的缺陷,我們迫切需要一種新的技術解決方案,能夠抽象大部分負載日志所表現出的特征,通過構建與之相匹配的統(tǒng)計學模型,只需要調整少量的參數,即可生成與歷史使用經驗相符合的機群負載。


      發(fā)明內容
      本發(fā)明的目的在于提供一種基于日志特征分析的機群負載模型及其建模方法,以解決現有機群負載模型及建模方法存在的不足。該方法為機群性能仿真系統(tǒng)中的負載生成部分構造了一個多層次的負載仿真模型,同時也提供了一種實行方案。
      本發(fā)明的負載模型包含有機群負載的歷史數據庫、作業(yè)到達時間子模型、作業(yè)并行度子模型、作業(yè)執(zhí)行時間子模型以及作業(yè)類型子模型。
      其中機群負載的歷史數據庫是通過整合用戶以往的機群使用經驗及多個科研單位公開的機群使用日志所建立的,記錄了每個作業(yè)的到達時間、要求處理器數量、使用處理器數量、開始時間、結束時間; 子模型根據歷史數據和統(tǒng)計函數建立,各子模型采用的統(tǒng)計函數的形式是一定的,函數中的參數隨歷史數據的變化而變化。各子模型在調用順序上有一定的約束 ●作業(yè)到達時間子模沒有調用順序約束; ●作業(yè)并行度子模型、作業(yè)執(zhí)行時間子模型以及作業(yè)類型子模型的調用順序為作業(yè)并行度子模型→作業(yè)執(zhí)行時間子模型→作業(yè)類型子模型 本發(fā)明的建模方法是根據用戶以往的機群使用經驗及多個科研單位公開的機群使用日志建立機群負載的歷史數據庫,再通過統(tǒng)計分析各項歷史數據確定各子模型中參數的取值,然后按照上文所述的順序調用各子模型得到一個作業(yè),最后由大量作業(yè)組成一個機群負載。
      本發(fā)明中各子模型的建模方法為 作業(yè)到達時間子模型作業(yè)到達時間子模型又分為兩部分,周作業(yè)模型和天作業(yè)模型,分別模擬了一周內每天到達的作業(yè)數量和一天內每個作業(yè)的到達時間。
      周作業(yè)模型的建模方法為 步驟一根據作業(yè)的提交時間,統(tǒng)計歷史數據庫中各周的作業(yè)總數,然后使用極大似然估計法確定三參數Gamma分布中三個參數的值,并依據該Gamma分布生成一個隨機數,作為本周到達的作業(yè)總數T;其中,Gamma分布的三個參數為形狀參數(shapeparameter)、尺度參數(scale parameter)和位置參數(location parameters); 步驟二根據作業(yè)的提交時間,統(tǒng)計歷史數據庫中一周內每天的作業(yè)總數,以星期三為分割點,確定作業(yè)是集中在前半周(周一到周三)還是后半周(周四到周日)到達,并依據(1.2,1.6)均勻分布生成一個隨機數α2; 步驟三若作業(yè)集中在前半周到達,則依據(α2-0.4,α2-0.1)均勻分布生成隨機數α1,否則依據(α2+0.1,α2+0.3)均勻分布生成隨機數α1;若得到的α1小于1,則令α1等于1; 步驟四令x的取值依次為2,3,…,6,并根據公式px=Beta(x,α1,α2,1,7)×100%計算x在不同取值情況下px的值;其中Beta為Beta分布對應的密度函數,px代表星期x到達的作業(yè)總數占一周作業(yè)總數的百分比; 步驟五根據步驟一中得到的周一和周日到達的作業(yè)數量的比確定一個系數n

      然后根據公式計算周一和周日到達作業(yè)總數占一周作業(yè)總數的百分比; 步驟六令x的取值依次為1,2,3,…,7,根據公式T×px計算周一到周日每天到達的作業(yè)數量;其中T在步驟一中確定,px的取值在步驟四和步驟五中確定。
      天作業(yè)模型的建模方法為 步驟一令已產生的作業(yè)覆蓋的天數D=0,即第0天的作業(yè)到達時間都已確定; 步驟二根據歷史數據庫中記錄的作業(yè)提交時間,統(tǒng)計一天中每個時段內到達的作業(yè)數量,然后使用極大似然估計法確定公式(1)中的三個系數a,b,c。
      a×normal(12,4)-b×normal(11.5,1)+c×Gamma(1,1) (1) 步驟三根據步驟二確定的分布生成隨機數t,作為一個作業(yè)相對于當天0點時刻的提交時間;若t<0,則令t=0,若t>24,則令t=24;然后根據公式D×24+t計算該作業(yè)相對于第0天的提交時間(單位為小時); 步驟四根據公式mod(D,7)+1確定第D天是星期x,其中mod代表取模運算,x的取值為1到7的整數; 步驟五若已確定到達時間的作業(yè)數量小于T×px(見周作業(yè)模型中步驟六),則轉到步驟三繼續(xù); 步驟六若已確定到達時間的作業(yè)數量已足夠多,則結束作業(yè)到達時間子模型;否則執(zhí)行步驟七; 步驟七若mod(D,7)+1=7,即本周內所有作業(yè)的到達時間均已確定,則調用周作業(yè)模型,得到下一周每天到達的作業(yè)量; 步驟八令D=D+1,跳轉至步驟三,繼續(xù)執(zhí)行。
      作業(yè)并行度子模型并行度用來描述一個作業(yè)需要多少處理器才能運行。作業(yè)可以分為串行作業(yè)和并行作業(yè)兩種,其中串行作業(yè)在運行時只需要一個處理器,其并行度為1,而并行作業(yè)需要的處理器數目至少為2,至多為機群系統(tǒng)具有的處理器數量。
      作業(yè)并行度子模型的建模方法為 步驟一統(tǒng)計歷史數據庫中,串行作業(yè)占作業(yè)總數的百分比a,及并行度為2的冪數的作業(yè)占剩余作業(yè)總數的百分比b; 步驟二依據(0,1)均勻分布生成兩個隨機數p和q; 步驟三若p<a,則判定該作業(yè)為串行作業(yè),并行度為1,然后返回步驟二繼續(xù)執(zhí)行,確定下一個作業(yè)的并行度;否則,繼續(xù)執(zhí)行步驟四; 步驟四根據Gamma(4,0.9)分布生成一個隨機數N;若q<b,則令N等于與2N的值最接近的2的冪數;否則,令N等于與2N的值最接近的偶數; 步驟五重復執(zhí)行步驟二至步驟四,直至所有作業(yè)到達時間子模型生成的作業(yè)的并行度均已確定。
      作業(yè)執(zhí)行時間子模型作業(yè)執(zhí)行時間是指一個作業(yè)從開始運行到運行結束所持續(xù)的時間;作業(yè)的執(zhí)行時間與其并行度存在一定的聯(lián)系,一個普遍的現象是作業(yè)的并行度越大,其執(zhí)行時間越長。因此,在調用作業(yè)執(zhí)行時間子模型之前,需要先調用作業(yè)并行度子模型。
      作業(yè)執(zhí)行時間子模型的建模方法為 步驟一以2為底,對歷史數據庫中每個作業(yè)的執(zhí)行時間(執(zhí)行時間=結束時間-開始時間)取對數;并按照歷史數據庫中記錄的作業(yè)的并行度(即使用的處理器數),把取過對數后的數據分為若干組; 步驟二依次取各組數據,使用極大似然估計法,確定以下分布中的p值 p×Gamma(4,1.5)+(1-p)×Normal(15,0.682) 得到一個由<并行度,p>數對組成的集合; 步驟三根據步驟二得到的數對集合,使用最小二乘法,確定公式p=a×并行度+b中系數a和常數項b的值; 步驟四取作業(yè)并行度子模型得到的作業(yè)并行度,根據公式P=a×作業(yè)并行度+b計算出P的值;若P<0,則令P=0;若P>1,則令P=1; 步驟五依據分布P×Gamma(4,1.5)+(1-P)×Normal(15,0.682)生成一個隨機數r,并令該作業(yè)的執(zhí)行時間為2r秒; 步驟六重復執(zhí)行步驟四至步驟五,直至所有作業(yè)到達時間子模型生成的作業(yè)的執(zhí)行時間均已確定。
      作業(yè)類型子模型根據統(tǒng)計歷史數據發(fā)現,作業(yè)提交時要求的計算資源數量和作業(yè)運行時得到的計算資源數量可以不相等?;诖税l(fā)現,本發(fā)明所述的作業(yè)類型子模型,將作業(yè)分為剛性作業(yè)和可塑性作業(yè)兩種 ●剛性作業(yè)必須達到用戶規(guī)定的執(zhí)行條件(如處理器數量)才可以執(zhí)行的作業(yè); ●可塑性作業(yè)由機群作業(yè)管理系統(tǒng)中的調度程序決定計算資源數量的一類作業(yè),且在作業(yè)開始執(zhí)行后計算資源數量不能改變。
      對于剛性作業(yè),本發(fā)明所述的機群負載模型認為,經過作業(yè)到達時間子模型、作業(yè)并行度子模型、作業(yè)執(zhí)行時間子模型后,已充分刻畫了該作業(yè)的特征; 對于可塑性作業(yè),本發(fā)明所述的機群負載模型認為,由于這種類型作業(yè)的并行度在執(zhí)行時可能發(fā)生變化(被機群作業(yè)管理系統(tǒng)中的調度程序改變),有必要為該類作業(yè)提供一個加速比關系,用來刻畫機群作業(yè)管理系統(tǒng)中的調度程序改變作業(yè)并行度時,對作業(yè)執(zhí)行時間的影響。
      加速比關系需要使用到之前作業(yè)并行度子模型和作業(yè)執(zhí)行時間子模型輸出的作業(yè)并行度和作業(yè)執(zhí)行時間。
      可塑性作業(yè)的加速比關系為 步驟一統(tǒng)計歷史數據庫中,要求處理器數量和使用處理器數量不相等的作業(yè)數,占作業(yè)總數的百分比q; 步驟二依據(0,1)均勻分布生成一個隨機數p;若p>q,則判定該作業(yè)為剛性作業(yè),跳轉至步驟六;否則,判定該作業(yè)為可塑性作業(yè),繼續(xù)執(zhí)行步驟三; 步驟三分別依據(0.04,4)均勻分布和(1,100)均勻分布生成兩個隨機數c1和c2; 步驟四根據公式T=并行度×執(zhí)行時間-并行度×(并行度-1)×c1-c2計算當并行度為1時的作業(yè)執(zhí)行時間T; 步驟五可塑性作業(yè)的加速比關系為其中n表示機群作業(yè)管理系統(tǒng)中的調度程序確定的作業(yè)并行度,t表示在該并行度下作業(yè)的執(zhí)行時間; 步驟六重復執(zhí)行步驟二至步驟五,至所有作業(yè)到達時間子模型生成的作業(yè)的執(zhí)行時間均已確定。
      本發(fā)明一種模擬實際應用的機群負載模型及其建模方法,其優(yōu)點及功效在于該方法為機群性能仿真系統(tǒng)中的負載生成部分構造了一個多層次的負載仿真模型,能夠抽象大部分負載日志所表現出的特征,通過構建與之相匹配的統(tǒng)計學模型,只需要調整少量的參數,即可生成與歷史使用經驗相符合的機群負載。



      圖1機群負載模型流程結構示意圖 圖2子模型參數確定流程示意圖 圖3(a)周作業(yè)到達模型流程示意圖 圖3(b)天作業(yè)到達模型流程示意圖 圖4作業(yè)并行度模型流程示意圖 圖5作業(yè)執(zhí)行時間模型流程示意圖 圖6作業(yè)類型模型流程示意圖
      具體實施例方式 為了使本發(fā)明的目的和技術方案更加清楚明白,以下結合參照附圖,對本發(fā)明進行進一步詳細說明。
      如圖1所示,為實施本發(fā)明中所述機群負載模型的流程結構示意圖,該模型僅需要運行在一臺主機上,由機群負載歷史數據庫和機群作業(yè)模型兩大部分組成。
      機群負載歷史數據庫中存儲了機群用戶提供的負載歷史記錄和其他機構公開的負載歷史記錄,這些記錄應包含每個作業(yè)的到達(提交)時間、要求處理器數量、使用處理器數量、開始時間、結束時間等信息; 機群作業(yè)模型按照作業(yè)到達時間子模型→作業(yè)并行度子模型→作業(yè)執(zhí)行時間子模型→作業(yè)類型子模型的順序產生一個機群作業(yè),各子模型在運行之初,都需要根據歷史數據庫中的記錄確定子模型中的參數值,重復這一過程直至生成足夠多的機群作業(yè),組成一組機群負載。
      如圖2所示,圖2為本發(fā)明在各子模型參數確定部分的流程;雖然各子模型使用的分布函數形式不同,要確定的參數也不同,但它們的計算原理是相同的;其具體步驟為 步驟000根據不同的子模型,從歷史數據庫中選擇相應數據 ●作業(yè)到達時間子模型需要提取歷史數據庫中每個作業(yè)的到達時間數據項; ●作業(yè)并行度子模型需要提取每個作業(yè)使用處理器數量數據項; ●作業(yè)執(zhí)行時間子模型需要提取每個作業(yè)的開始時間和結束時間數據項; ●作業(yè)類型子模型需要提取每個作業(yè)的要求處理器數量和使用處理器數量數據項; 步驟001根據不同的子模型,選擇相應的分布函數及子模型中待確定的參數。為了方便本發(fā)明所述機群作業(yè)模型的使用,各子模型中統(tǒng)計函數的形式均已確定,僅部分參數沒有確定。
      ●作業(yè)到達時間子模型待定的參數為 ■Gamma(α,β,L)分布中的參數α,β,L; ■以星期三為分割點,作業(yè)是集中在前半周(周一到周三)還是后半周(周四到周日)到達; ■周一和周日到達的作業(yè)數量的比例系數n ■a×normal(12,4)-b×normal(11.5,1)+c×Gamma(1,1)分布中的系數a,b,c; ●作業(yè)并行度子模待定的參數為 ■串行作業(yè)占作業(yè)總數的百分比a; ■并行度為2的冪數的作業(yè)占剩余作業(yè)總數的百分比b; ●作業(yè)執(zhí)行時間子模型待定的參數為 ■p×Gamma(4,1.5)+(1-p)×Normal(15,0.682)分布中的系數p; ■公式p=a×并行度+b中系數a和常數項b; ●作業(yè)類型子模型待定的參數為 ■要求處理器數和使用處理器數不等的作業(yè)數占作業(yè)總數的百分比q; 步驟002根據不同的子模型,確定相應的分布函數及子模型中待確定的參數。
      ●作業(yè)到達時間子模型 ■Gamma(α,β,L)分布中的參數α,β,L,采用極大似然估計法確定參數值,樣本數據為每周到達的作業(yè)總數; ■將歷史數據庫中作業(yè)提交時間換算成星期數,然后以星期三為分割點,確定作業(yè)是集中在前半周(周一到周三)還是后半周(周四到周日)到達若

      則集中在前半周,否則集中在后半周; ■周一和周日到達的作業(yè)數量的比例系數n
      ■a×normal(12,4)-b×normal(11.5,1)+c×Gamma(1,1)分布中的系數a,b,c,采用極大似然估計法確定參數值,樣本數據為一天中每個時段內到達的作業(yè)數量; ●作業(yè)并行度子模待定的參數為 ■串行作業(yè)占作業(yè)總數的百分比a
      ■并行度為2的冪數的作業(yè)占剩余作業(yè)總數的百分比b
      ●作業(yè)執(zhí)行時間子模型待定的參數為 ■p×Gamma(4,1.5)+(1-p)×Normal(15,0.682)分布中的系數p,理想情況是一個并行度對應一個p值,因此會后很多<并行度,p>數對,采用極大似然估計法確定不同并行度下的p值,樣本數據為不同并行度(使用處理器數量)作業(yè)組成的集合; ■公式p=a×并行度+b中系數a和常數項b;采用最小二乘法確定參數值,樣本數據為上述的<并行度,p>數對集合; ●作業(yè)類型子模型待定的參數為 ■要求處理器數和使用處理器數不等的作業(yè)數占作業(yè)總數的百分比q
      步驟003確定各子模型中的所有參數值;為便于說明本發(fā)明后續(xù)所述的機群作業(yè)模型,現使用一組可能的各子模型中參數的值; ●作業(yè)到達時間子模型 ■Gamma(α,β,L)分布中的參數α=11.35,β=176.87,L=-364.06; ■作業(yè)集中在前半周(周一到周三)到達; ■周一和周日到達的作業(yè)數量的比例系數n=0.58; ■a×normal(12,4)-b ×normal(11.5,1)+c×Gamma(1,1)分布中的系數a=1.035,b=-0.105,c=0.07; ●作業(yè)并行度子模待定的參數為 ■串行作業(yè)占作業(yè)總數的百分比a=25%; ■并行度為2的冪數的作業(yè)占剩余作業(yè)總數的百分比b=75%; ●作業(yè)執(zhí)行時間子模型待定的參數為 ■公式p=a×并行度+b中系數a=-0.006,常數項b=0.78; ●作業(yè)類型子模型待定的參數為 ■要求處理器數和使用處理器數不等的作業(yè)數占作業(yè)總數的百分比q=5%; 如圖3所示,圖3(a)為本發(fā)明在作業(yè)到達時間子模型中周作業(yè)模型的建模方法,圖3(b)為天作業(yè)模型的建模方法。其具體步驟為 步驟100令一周到達作業(yè)總數服從Gamma(11.35,176.87,-364.06)分布,依該分布產生一個隨機數T,轉入步驟101; 步驟101依(1.2,1.6)均勻分布產生一個隨機數α2,作為后續(xù)函數的一個參數,轉入步驟102; 步驟102以星期三為分割點,若作業(yè)集中在前半周(周一到周三)到達,則執(zhí)行步驟103;否則,執(zhí)行步驟104; 步驟103依(α2-0.4,α2-0.1)均勻分布生成隨機數α1,作為后續(xù)函數的一個參數,轉入步驟105; 步驟104依(α2+0.1,α2+0.3)均勻分布生成隨機數α1,作為后續(xù)函數的一個參數,轉入步驟107; 步驟105若α1<1,則執(zhí)行步驟106,否則,執(zhí)行步驟107; 步驟106令α1=1,轉入步驟107; 步驟107根據公式px=Beta(x,α1,α2,1,7)×100%計算周二到周六每天到達作業(yè)的數量占一周作業(yè)總數的百分比。其中,x為星期數,取值范圍為{2,3,…,6},Beta為Beta分布對應的概率密度函數,α1、α2為Beta密度函數中的兩個形狀參數(shapeparameters),1和7為Beta分布的界限,轉入步驟108; 步驟108根據以下兩個公式計算周一和周日到達作業(yè)數量占一周作業(yè)總數的百分比 轉入步驟109; 步驟109根據公式T×px計算周一到周七,每天到達的作業(yè)數量Tx。其中T由步驟100得到。
      至此,已完成周作業(yè)模型的建模過程; 下面是天作業(yè)模型的具體步驟 步驟110令產生作業(yè)覆蓋的天數D=0,即當前已產生了D天的作業(yè)到達情況;轉入步驟111; 步驟111依分布1.035×normal(12,4)-0.105×normal(11.5,1)+0.07×Gamma(1,1)生成一個隨機數t,其中normal為正態(tài)分布;轉入步驟112; 步驟112調整t的取值。若t<0,則執(zhí)行步驟113;否則,執(zhí)行步驟114; 步驟113令t=0,轉入步驟116; 步驟114調整t的取值。若t>24,則執(zhí)行步驟115;否則,執(zhí)行步驟116; 步驟115令t=24,轉入步驟116; 步驟116令作業(yè)到達時間=D×24+t(單位小時),其中t可理解為第D天內的相對時間,作業(yè)到達時間為相對于作業(yè)到達時間模型開始運行時的時間;轉入步驟117; 步驟117令x=mod(D,7)+1,即D除以7所得的余數加1,其中D為已產生作業(yè)的天數,x值代表了當前這一天的星期數(星期x);轉入步驟118; 步驟118若星期x的作業(yè)數量已達到該天的作業(yè)總數Tx,則執(zhí)行步驟119;否則,執(zhí)行步驟120; 步驟119令D=D+1,代表已產生了D天到達的作業(yè),后續(xù)的作業(yè)為D+1天到達;轉入步驟120; 步驟120判斷模型是否可以結束的條件。若作業(yè)的數量已足夠多,則執(zhí)行步驟123;否則,執(zhí)行步驟121; 步驟121若已產生一周到達的作業(yè)量,則執(zhí)行步驟122;否則,執(zhí)行步驟111; 步驟122使用步驟100至步驟109(圖2(a))所述的方法,產生下一周作業(yè)到達的情況;轉入步驟111; 步驟123作業(yè)到達時間模型過程結束。
      如圖4所示,圖4為本發(fā)明在機群負載生成模型中對作業(yè)并行度進行建模的方法,其具體步驟為 步驟200依據(0,1)均勻分布產生一個隨機數p; 步驟201根據步驟200產生的隨機數p,判定該作業(yè)是否是并行作業(yè)。若0<p<0.25,則該作業(yè)為串行作業(yè),執(zhí)行步驟202;否則該作業(yè)為并行作業(yè),執(zhí)行步驟203; 步驟202確定該作業(yè)的并行度為1,轉入步驟208; 步驟203依據(0,1)均勻分布產生一個隨機數q,轉入步驟204; 步驟204依據Gamma(4,0.9)分布產生一個隨機數N。Gamma分布的對應關系為α=4,β=0.9,轉入步驟205; 步驟205根據步驟203產生的隨機數q,判定該作業(yè)的并行度是否一定為2的冪數。若0<q<0.75,則該作業(yè)的并行度是2的冪數,執(zhí)行步驟206;否則,該作業(yè)的并行度可以不是2的冪數,執(zhí)行步驟207; 步驟206令步驟204產生的隨機數N等于與2N值最接近(差的絕對值最小)的2的冪數,轉入步驟207; 步驟207令該作業(yè)的并行度等于值最接近(差的絕對值最小)2N的偶數,轉入步驟208; 步驟208作業(yè)并行度模型過程結束。
      如圖5所示,圖5為本發(fā)明在機群負載生成模型中對作業(yè)執(zhí)行時間進行建模的方法,其具體步驟為 步驟300依據以下公式計算y值 y=-0.006×并行度+0.78 其中并行度由作業(yè)并行度模型生成,轉入步驟301; 步驟301根據步驟300得到的值y,確定y的取值。若y<0,執(zhí)行步驟302;否則,執(zhí)行步驟303; 步驟302令y=0,轉入步驟305; 步驟303根據步驟300得到的值y,確定y的取值。若y>1,執(zhí)行步驟304;否則,執(zhí)行步驟305; 步驟304令y=1,轉入步驟305; 步驟305依據分布y×Gamma(4,1.5)+(1-y)×Normal(15,0.682)產生一個隨機數r,轉入步驟306; 步驟306令該作業(yè)的執(zhí)行時間等于2r秒,轉入步驟307; 步驟307作業(yè)執(zhí)行時間模型過程結束。
      如圖6所示,圖6為本發(fā)明在負載組成模型中對作業(yè)類型進行建模的方法,其具體步驟為 步驟400依(0,1)均勻分布生成一個隨機數p,轉入步驟401; 步驟401令可塑性作業(yè)占作業(yè)總量的百分比q=5,轉入步驟402; 步驟402若p×100<q,則執(zhí)行步驟403;否則,執(zhí)行步驟404; 步驟403判定該作業(yè)為可塑性作業(yè),轉入步驟405; 步驟404判定該作業(yè)為剛性作業(yè),轉入步驟409; 步驟405依(0.04,4)均勻分布生成一個隨機數c1,轉入步驟406; 步驟406依(1,100)均勻分布生成一個隨機數c2,轉入步驟407; 步驟407根據下面的公式計算T T=并行度×執(zhí)行時間-并行度×(并行度-1)×c1-c2 其中,T為并行度為1時作業(yè)的執(zhí)行時間,并行度由作業(yè)并行度模型確定,執(zhí)行時間由作業(yè)執(zhí)行時間模型確定,c1、c2為步驟405和步驟406確定;轉入步驟408; 步驟408可塑性作業(yè)的執(zhí)行時間加速關系為 其中,t為作業(yè)的執(zhí)行時間,T由步驟407確定,n為作業(yè)的并行度,c1、c2為步驟405和步驟406確定;該模型描述了可塑性作業(yè)使用計算資源數量與執(zhí)行時間之間的關系。轉入步驟409; 步驟409負載組成模型過程結束。
      從上面對本發(fā)明具體實施方式
      的描述中可以看出,本發(fā)明的機群負載模型建模方法,給出了對一個作業(yè)進行了全面建模的過程;在模型的各部分,使用了多種的分布規(guī)律,并提供了源自于歷史數據參數,不同的歷史數據將得到不同的參數值;這些參數將實際應用的特征引入到機群負載模型當中,使該模型能夠較好地模擬實際應用,同時,模型使用人員也可以根據需要,進行手動微調,以生成符合要求的機群負載,這對于本技術領域的技術人員是很容易的,這里就不再贅述。
      權利要求
      1、一種基于日志特征分析的機群負載模型,其特征在于該機群負載模型包含有機群負載的歷史數據庫、作業(yè)到達時間子模型、作業(yè)并行度子模型、作業(yè)執(zhí)行時間子模型以及作業(yè)類型子模型;其中機群負載的歷史數據庫是通過整合用戶以往的機群使用經驗及多個科研單位公開的機群使用日志所建立的,記錄了每個作業(yè)的到達時間、要求處理器數量、使用處理器數量、開始時間、結束時間;各子模型在調用順序上有一定的約束
      ●作業(yè)到達時間子模沒有調用順序約束;
      ●作業(yè)并行度子模型、作業(yè)執(zhí)行時間子模型以及作業(yè)類型子模型的調用順序為
      作業(yè)并行度子模型→作業(yè)執(zhí)行時間子模型→作業(yè)類型子模型。
      2、一種基于日志特征分析的機群負載模型的建模方法,其特征在于
      作業(yè)到達時間子模型作業(yè)到達時間子模型又分為兩部分,周作業(yè)模型和天作業(yè)模型,分別模擬了一周內每天到達的作業(yè)數量和一天內每個作業(yè)的到達時間;
      周作業(yè)模型的建模方法為
      步驟一根據作業(yè)的提交時間,統(tǒng)計歷史數據庫中各周的作業(yè)總數,然后使用極大似然估計法確定三參數Gamma分布中三個參數的值,并依據該Gamma分布生成一個隨機數,作為本周到達的作業(yè)總數T;其中,Gamma分布的三個參數為形狀參數、尺度參數和位置參數;
      步驟二根據作業(yè)的提交時間,統(tǒng)計歷史數據庫中一周內每天的作業(yè)總數,以星期三為分割點,確定作業(yè)是集中在前半周還是后半周到達,并依據(1.2,1.6)均勻分布生成一個隨機數α2;
      步驟三若作業(yè)集中在前半周到達,則依據(α2-0.4,α2-0.1)均勻分布生成隨機數α1,否則依據(α2+0.1,α2+0.3)均勻分布生成隨機數α1;若得到的α1小于1,則令α1等于1;
      步驟四令x的取值依次為2,3,…,6,并根據公式px=Beta(x,α1,α2,1,7)×100%計算x在不同取值情況下px的值;其中Beta為Beta分布對應的密度函數,px代表星期x到達的作業(yè)總數占一周作業(yè)總數的百分比;
      步驟五根據步驟一中得到的周一和周日到達的作業(yè)數量的比確定一個系數n
      然后根據公式
      計算周一和周日到達作業(yè)總數占一周作業(yè)總數的百分比;
      步驟六令x的取值依次為1,2,3,…,7,根據公式T×px計算周一到周日每天到達的作業(yè)數量;其中T在步驟一中確定,px的取值在步驟四和步驟五中確定。
      天作業(yè)模型的建模方法為
      步驟一令已產生的作業(yè)覆蓋的天數D=0,即第0天的作業(yè)到達時間都已確定;
      步驟二根據歷史數據庫中記錄的作業(yè)提交時間,統(tǒng)計一天中每個時段內到達的作業(yè)數量,然后使用極大似然估計法確定公式(1)中的三個系數a,b,c;
      a×normal(12,4)-b×normal(11.5,1)+c×Gamma(1,1)(1)
      步驟三根據步驟二確定的分布生成隨機數t,作為一個作業(yè)相對于當天0點時刻的提交時間;若t<0,則令t=0,若t>24,則令t=24;然后根據公式D×24+t計算該作業(yè)相對于第0天的提交時間,單位為小時;
      步驟四根據公式mod(D,7)+1確定第D天是星期x,其中mod代表取模運算,x的取值為1到7的整數;
      步驟五若已確定到達時間的作業(yè)數量小于T×px——見周作業(yè)模型中步驟六,則轉到步驟三繼續(xù);
      步驟六若已確定到達時間的作業(yè)數量已足夠多,則結束作業(yè)到達時間子模型;否則執(zhí)行步驟七;
      步驟七若mod(D,7)+1=7,即本周內所有作業(yè)的到達時間均已確定,則調用周作業(yè)模型,得到下一周每天到達的作業(yè)量;
      步驟八令D=D+1,跳轉至步驟三,繼續(xù)執(zhí)行;
      作業(yè)并行度子模型
      步驟一統(tǒng)計歷史數據庫中,串行作業(yè)占作業(yè)總數的百分比a,及并行度為2的冪數的作業(yè)占剩余作業(yè)總數的百分比b;
      步驟二依據(0,1)均勻分布生成兩個隨機數p和q;
      步驟三若p<a,則判定該作業(yè)為串行作業(yè),并行度為1,然后返回步驟二繼續(xù)執(zhí)行,確定下一個作業(yè)的并行度;否則,繼續(xù)執(zhí)行步驟四;
      步驟四根據Gamma(4,0.9)分布生成一個隨機數N;若q<b,則令N等于與2N的值最接近的2的冪數;否則,令N等于與2N的值最接近的偶數;
      步驟五重復執(zhí)行步驟二至步驟四,直至所有作業(yè)到達時間子模型生成的作業(yè)的并行度均已確定;
      作業(yè)執(zhí)行時間子模型
      步驟一以2為底,對歷史數據庫中每個作業(yè)的執(zhí)行時間取對數;并按照歷史數據庫中記錄的作業(yè)的并行度,即使用的處理器數,把取過對數后的數據分為若干組;
      步驟二依次取各組數據,使用極大似然估計法,確定以下分布中的p值
      p×Gamma(4,1.5)+(1-p)×Normal(15,0.682)
      得到一個由<并行度,p>數對組成的集合;
      步驟三根據步驟二得到的數對集合,使用最小二乘法,確定公式p=a×并行度+b中系數a和常數項b的值;
      步驟四取作業(yè)并行度子模型得到的作業(yè)并行度,根據公式P=a×作業(yè)并行度+b計算出P的值;若P<0,則令P=0;若P>1,則令P=1;
      步驟五依據分布P×Gamma(4,1.5)+(1-P)×Normal(15,0.682)生成一個隨機數r,并令該作業(yè)的執(zhí)行時間為2r秒;
      步驟六重復執(zhí)行步驟四至步驟五,直至所有作業(yè)到達時間子模型生成的作業(yè)的執(zhí)行時間均已確定;
      作業(yè)類型子模型本發(fā)明所述的作業(yè)類型子模型,將作業(yè)分為剛性作業(yè)和可塑性作業(yè)兩種
      ●剛性作業(yè)必須達到用戶規(guī)定的執(zhí)行條件才可以執(zhí)行的作業(yè);
      ●可塑性作業(yè)由機群作業(yè)管理系統(tǒng)中的調度程序決定計算資源數量的一類作業(yè),且在作業(yè)開始執(zhí)行后計算資源數量不能改變。
      對于剛性作業(yè),本發(fā)明所述的機群負載模型認為,經過作業(yè)到達時間子模型、作業(yè)并行度子模型、作業(yè)執(zhí)行時間子模型后,已充分刻畫了該作業(yè)的特征;
      對于可塑性作業(yè),本發(fā)明所述的機群負載模型認為,由于這種類型作業(yè)的并行度在執(zhí)行時發(fā)生變化,有必要為該類作業(yè)提供一個加速比關系,用來刻畫機群作業(yè)管理系統(tǒng)中的調度程序改變作業(yè)并行度時,對作業(yè)執(zhí)行時間的影響;
      加速比關系需要使用到之前作業(yè)并行度子模型和作業(yè)執(zhí)行時間子模型輸出的作業(yè)并行度和作業(yè)執(zhí)行時間;
      可塑性作業(yè)的加速比關系為
      步驟一統(tǒng)計歷史數據庫中,要求處理器數量和使用處理器數量不相等的作業(yè)數,占作業(yè)總數的百分比q;
      步驟二依據(0,1)均勻分布生成一個隨機數p;若p>q,則判定該作業(yè)為剛性作業(yè),跳轉至步驟六;否則,判定該作業(yè)為可塑性作業(yè),繼續(xù)執(zhí)行步驟三;
      步驟三分別依據(0.04,4)均勻分布和(1,100)均勻分布生成兩個隨機數c1和c2;
      步驟四根據公式T=并行度×執(zhí)行時間-并行度×(并行度-1)×c1-c2計算當并行度為l時的作業(yè)執(zhí)行時間T;
      步驟五可塑性作業(yè)的加速比關系為
      其中n表示機群作業(yè)管理系統(tǒng)中的調度程序確定的作業(yè)并行度,t表示在該并行度下作業(yè)的執(zhí)行時間;
      步驟六重復執(zhí)行步驟二至步驟五,至所有作業(yè)到達時間子模型生成的作業(yè)的執(zhí)行時間均已確定。
      全文摘要
      本發(fā)明涉及一種基于日志特征分析的機群負載模型,包含有機群負載的歷史數據庫、作業(yè)到達時間子模型、作業(yè)并行度子模型、作業(yè)執(zhí)行時間子模型以及作業(yè)類型子模型。機群負載的歷史數據庫通過整合用戶以往的機群使用經驗及機群使用日志所建立,記錄了每個作業(yè)的到達時間、要求處理器數量、使用處理器數量、開始時間、結束時間;子模型根據歷史數據和統(tǒng)計函數建立,各子模型采用的統(tǒng)計函數的形式是一定的,函數中的參數隨歷史數據的變化而變化。各子模型在調用順序上有一定的約束作業(yè)到達時間子模沒有調用順序約束;作業(yè)并行度子模型、作業(yè)執(zhí)行時間子模型以及作業(yè)類型子模型的調用順序為作業(yè)并行度子模型→作業(yè)執(zhí)行時間子模型→作業(yè)類型子模型。
      文檔編號H04W24/00GK101674194SQ20091009378
      公開日2010年3月17日 申請日期2009年9月28日 優(yōu)先權日2009年9月28日
      發(fā)明者肖利民, 卓 劉, 梁愛華, 利 阮 申請人:北京航空航天大學
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1