net/dev系統文 件的第四行。性能收集程序開始記錄下這兩個數據的初始值,以后每次獲得這個值后均減 去這個初始值即為從集群啟動開始從本節(jié)點通過的數據包。利用上述數據即可計算出節(jié)點 1/0利用率,如公式(2)所示:
[0055] network_load = (output_packet+input_packet)/2 (2)
[0056] 其中network_load為節(jié)點1/0利用率,output_packet為單位時間輸出的數據包, input_packet為單位時間流入的數據包。
[0057] 為了獲取Linux系統磁盤空間利用信息,需要從/etc/mtab系統文件中獲得一個 數據:當前已經掛載的分區(qū)名字,其位于/etc/mtab系統文件的每行的第二列。通過獲得的 分區(qū)名,再通過系統函數int fstatfs(int fd,struct statfs*buf)函數,便能夠得到該分 區(qū)的磁盤空間信息。因此節(jié)點的磁盤利用率可以表示為:
[0058] used = (fs_uesed/fs_size) (3)
[0059] 其中fs_uesed表示已經使用的磁盤空間,fs_size表示節(jié)點總的磁盤空間。
[0060] 則集群節(jié)點的性能指標可以表示為:
[0062] S2、計算地震作業(yè)的復雜度;
[0063] 地震作業(yè)的復雜度基于地震作業(yè)的大小以及地震作業(yè)采用的處理模塊的類型。因 此每次調度作業(yè)時,都應當解析作業(yè)的數據大小以及對其中用到的模塊類型進行整體評 估,得到模塊的復雜度,通過模塊的復雜度和作業(yè)的大小計算出地震作業(yè)的復雜度:
[0064] task_complex = u*task_size+(1-u)*module_complex (5)
[0065] 其中task_size為地震作業(yè)的大小,u為一個加權值且0 < u < 1,本發(fā)明實施例 中u = 0. 5, module_complex為模塊的復雜度,可通過公式(6)計算得到:
[0067] 其中η為地震作業(yè)的總的模塊數目,Iiiodulejomplexi為第i個模塊的復雜度。
[0068] S3、通過基于混沌算法的作業(yè)調度策略對地震作業(yè)進行調度。
[0069] 該步驟中,首先選擇混純變量,選用公式(7)所示的Logistic映射:
[0070] χη+1= μ Xn(I-Xn) (7)
[0071] 其中μ是控制參量,本發(fā)明實施例中,取μ = 4。設0彡XiS Ii = 0, 1,2,...,η, 可以證明:當μ = 4系統完全處于混沌狀態(tài)。利用混沌對初值敏感的特點,賦給(7)式i 個微小差異的初值即可得到i個混沌變量。然后將混沌狀態(tài)變量引入到優(yōu)化變量中,并把 混沌運動的遍歷范圍"放大"到優(yōu)化變量的取值范圍,再利用混沌變量進行搜索。設總共有 集群節(jié)點M個,地震作業(yè)有N個,因此設置f (X1)的公式為:
[0073] 其中i和j分別表示將地震作業(yè)i分配到集群節(jié)點j上運行,所以公式⑶能夠 表示為總的處理時間。
[0074] 如圖3所示,該步驟包括以下分步驟:
[0075] S31、算法初始化。
[0076] 置參量k = l,k' = 1,獲取每個地震作業(yè)的復雜度,生成一維字符串,表示為隨機 將子任務分配給一個資源,組成i組序列X1,如(2143)表示將地震作業(yè)1分配給節(jié)點2,將 地震作業(yè)2分配給節(jié)點1,將地震作業(yè)3分配給節(jié)點4,將地震作業(yè)4分配給節(jié)點3。將它們 映射到[0, 1]坐標系中,使得〇彡X1S 1。通過公式(7),則可得到i個軌跡不同的混沌變 里 Xi,n+1 0
[0077] S32、對混沌變量進行第一次載波。
[0078] 通過公式(7)將選定的i個混沌變量Xl,n+1分別引入到公式(9)中的i個優(yōu)化變 量中,使其轉化成混沌變量X' 1ιη+1,并將混沌變量的變化范圍分別放大到相應的優(yōu)化變量的 取值范圍。
[0079] x'ljn+1= c ,+d^Xi.n+i Ο)
[0080] 其中(^和d ;為常數,相當于放大倍數。本發(fā)明實施例中設c ;= x min、(Ii= x max; 而Xmax和x min分別是節(jié)點個數的最大值M和最小值0。
[0081] S33、用第一次載波后的混沌變量進行迭代搜索。
[0082] 令Xi (k) = X' iin+1,計算相應的性能指標t (k)。
[0083] 首先進行迭代搜索時值的初始化操作,令彳=以0),.廠=7(0),若仁〇〇彡6表示 本次迭代所得的性能指標更優(yōu),所以令/ ==,伐),進行下一次迭代;否則表示本 次迭代所得的性能指標不是更優(yōu)的值,放棄X1 (k),并令k = k+Ι,接著進行下一次迭代。
[0084] S34、判斷經步驟S33的迭代搜索后混沌變量是否保持不變,即經過步驟S33中的 若干步搜索后f"是否保持不變,若是則進入步驟S35,否則返回步驟S33。
[0085] S35、按公式(10)對混沌變量進行第二次載波:
[0086] ^"+, ^4 + α·χ?ηα (1〇)
[0087] 其中alXl,n+1為遍歷區(qū)間很小的混沌變量,a i為調節(jié)常數,其值可以小于1,<為當 前最優(yōu)解。
[0088] S36、用第二次載波后的混沌變量繼續(xù)進行迭代搜索。
[0089] 首先進行迭代搜索時值的初始化操作,令Xi (k')= X'iin+1,計算相應的性能指標 ^ (k'),若仁(k')彡f%表示本次迭代所得的性能指標更優(yōu),則令.廣= =.r,(/;__),進 行下一次迭代;否則表示本次迭代所得的性能指標不是更優(yōu)的值,放棄X1G^ ),并令C = C +1,接著進行下一次迭代。
[0090] S37、判斷經步驟S36的迭代搜索后混沌變量是否保持不變,即經過步驟S36中的 若干步搜索后f"是否保持不變,若是則進入步驟S38,否則返回步驟S36。
[0091] S38、輸出最優(yōu)解。
[0092] 這里的最優(yōu)解即公式(8)中求得的總的處理時間f (X1)。
[0093] 雖然混沌運動在一定的范圍內具有遍歷性,但某些狀態(tài)可能需要較長時間才能達 到,則搜索時間較長,因此該算法引入了二次載波。用第一次載波經過一段搜索后找出一個 近似最優(yōu)解,然后在近似最優(yōu)解的基礎上二次載波。二次載波的范圍很小,相當于在近似 最優(yōu)解的領域內進行仔細搜索,這樣可以很快找到全局最優(yōu)解,大大提高搜索效率。運用混 沌算法可以高效率地進行尋優(yōu)操作。在尋優(yōu)操作過程中,混沌算子遍歷整個求解區(qū)間,僅僅 利用目標函數進行判斷。也就是說,混沌算法較之傳統尋優(yōu)算法所受限制要更小,最重要的 是它不需要一個明顯的目標函數表達式。
[0094] 本領域的普通技術人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā) 明的原理,應被理解為本發(fā)明的保護范圍并不局限于這樣的特別陳述和實施例。本領域的 普通技術人員可以根據本發(fā)明公開的這些技術啟示做出各種不脫離本發(fā)明實質的其它各 種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護范圍內。
【主權項】
1. 一種基于地震數據的作業(yè)調度方法,其特征在于,包括以下步驟: 51、 獲取集群節(jié)點的資源信息; 52、 計算地震作業(yè)的復雜度; 53、 通過基于混沌算法的作業(yè)調度策略對地震作業(yè)進行調度。2. 根據權利要求1所述的作業(yè)調度方法,其特征在于,所述步驟Sl包括以下分步驟: Sl 1、計算集群節(jié)點; 512、 讀取配置文件; 513、 進行數據處理。3. 根據權利要求2所述的作業(yè)調度方法,其特征在于,所述步驟S12中的配置文件包括 /proc/stat系統文件、/proc/net/dev系統文件以及/etc/mtab系統文件。4. 根據權利要求2所述的作業(yè)調度方法,其特征在于,所述步驟S13中數據處理具體包 括:計算節(jié)點CPU利用率、計算節(jié)點I/O利用率、計算節(jié)點磁盤利用率以及計算集群節(jié)點的 性能指標。5. 根據權利要求1所述的作業(yè)調度方法,其特征在于,所述步驟S2中地震作業(yè)的復雜 度基于地震作業(yè)的大小以及地震作業(yè)采用的處理模塊的類型。6. 根據權利要求1所述的作業(yè)調度方法,其特征在于,所述步驟S3包括以下分步驟: 531、 算法初始化; 532、 對混沌變量進行第一次載波; 533、 用第一次載波后的混沌變量進行迭代搜索; 534、 判斷經步驟S33的迭代搜索后混沌變量是否保持不變,若是則進入步驟S35,否則 返回步驟S33 ; 535、 對混沌變量進行第二次載波; 536、 用第二次載波后的混沌變量繼續(xù)進行迭代搜索; 537、 判斷經步驟S36的迭代搜索后混沌變量是否保持不變,若是則進入步驟S38,否則 返回步驟S36 ; 538、 輸出最優(yōu)解。
【專利摘要】本發(fā)明公開了一種基于地震數據的作業(yè)調度方法,包括以下步驟:S1、獲取集群節(jié)點的資源信息;S2、計算地震作業(yè)的復雜度;S3、通過基于混沌算法的作業(yè)調度策略對地震作業(yè)進行調度。本發(fā)明基于總的處理時間最優(yōu)、負載均衡等條件的地震作業(yè)調度策略,通過獲取到的集群節(jié)點的資源信息和地震作業(yè)的復雜度,利用混沌算法的地震作業(yè)調度策略,最終實現了對地震作業(yè)的調度。
【IPC分類】G06Q10/04, G06Q50/26
【公開號】CN105046378
【申請?zhí)枴緾N201510566599
【發(fā)明人】費高雷, 黎明, 胡光岷
【申請人】電子科技大學
【公開日】2015年11月11日
【申請日】2015年9月8日