一種老化感知的任務(wù)調(diào)度系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機技術(shù)領(lǐng)域,特別是涉及一種老化感知的任務(wù)調(diào)度系統(tǒng)。
【背景技術(shù)】
[0002]已有研宄表明,當(dāng)軟件連續(xù)運行較長時間時,它們內(nèi)部的一些錯誤條件的積累會導(dǎo)致軟件性能衰退甚至停止運行,這種現(xiàn)象稱為軟件老化。軟件老化在需要長時間運行的系統(tǒng)中尤為常見,如虛擬機和虛擬機管理器、操作系統(tǒng)、云平臺系統(tǒng)軟件等。為降低甚至消除軟件老化帶來的風(fēng)險,人們提出了一種名為軟件再生的方法,及時評估系統(tǒng)老化狀態(tài)并適時采取重啟操作,提升系統(tǒng)可靠性。如何選擇再生的時機是消除軟件老化風(fēng)險的關(guān)鍵,再生太早則代價過高、效果不明顯,而再生太晚則起不到降低風(fēng)險的作用。
[0003]任務(wù)調(diào)度是計算機領(lǐng)域的經(jīng)典問題,操作系統(tǒng)、網(wǎng)格計算、云計算等領(lǐng)域已對任務(wù)調(diào)度已經(jīng)有了非常多的研宄。常見的有先來先服務(wù)(FIFO)、輪轉(zhuǎn)調(diào)度、公平性調(diào)度等策略。任務(wù)調(diào)度已被證明為NP問題,很難找到一種最優(yōu)的任務(wù)調(diào)度算法以滿足所有的約束條件。現(xiàn)有任務(wù)調(diào)度的目標(biāo)主要有以下兩種:用戶利益驅(qū)動的調(diào)度方法和考慮服務(wù)提供成本的調(diào)度方法。前者主要考慮用戶的服務(wù)質(zhì)量,如任務(wù)完成時間最短、服務(wù)質(zhì)量最高等;后者在滿足用戶服務(wù)的基礎(chǔ)上還需考慮平臺服務(wù)提供商的服務(wù)成本,如資源負載均衡、系統(tǒng)資源利用率最高、降低平臺能耗等。還有一些調(diào)度策略主要考慮調(diào)度方法的可擴展性,如多級任務(wù)調(diào)度策略等。
[0004]然而,現(xiàn)有調(diào)度方法對執(zhí)行節(jié)點支撐平臺的老化問題考慮不足。已有的可用性調(diào)度方法主要通過副本或是為關(guān)鍵任務(wù)分配較為可靠的計算資源、網(wǎng)絡(luò)資源來完成,但軟件老化使得計算能力強的資源在運行過程中也不可避免地會發(fā)生性能下降現(xiàn)象甚至崩潰,影響了任務(wù)實際運行效果。
【發(fā)明內(nèi)容】
[0005]為克服考慮資源節(jié)點支撐平臺軟件老化所帶來的負面影響,本發(fā)明提供一種老化感知的任務(wù)調(diào)度系統(tǒng),在任務(wù)調(diào)度和運行時,能夠?qū)崟r感知資源節(jié)點的老化狀態(tài),及時恢復(fù)資源節(jié)點的服務(wù)能力,提高了任務(wù)執(zhí)行效率。
[0006]為了實現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:
[0007]本發(fā)明提供一種老化感知的任務(wù)調(diào)度系統(tǒng),所述任務(wù)調(diào)度系統(tǒng)包括老化探測模塊、軟件再生模塊、任務(wù)調(diào)度模塊、調(diào)度策略模塊和資源信息庫模塊;所述老化探測模塊與資源信息庫模塊雙向連接,所述資源信息庫模塊與軟件再生模塊和任務(wù)調(diào)度模塊均單向連接,所述調(diào)度策略模塊與任務(wù)調(diào)度模塊單向連接。
[0008]所述老化探測模塊包括采集代理,所述采集代理部署在資源節(jié)點上,采集代理將采集的內(nèi)存使用率和CPU使用率傳送給資源信息庫模塊,實現(xiàn)資源節(jié)點老化狀態(tài)的實時更新。
[0009]所述軟件再生模塊主要對系統(tǒng)資源進行再生操作,其主要包括軟件再生時機判定模塊和軟件再生執(zhí)行模塊。
[0010]所述軟件再生時機判定模塊采用基于模型的方法或基于測量的方法完成軟件再生時機的判定;
[0011]基于模型的方法運用馬爾科夫、petri網(wǎng)對資源節(jié)點建模,訓(xùn)練得出模型參數(shù),并根據(jù)資源節(jié)點的實際狀態(tài)得出再生概率;
[0012]基于測量的方法通過不斷探測資源節(jié)點關(guān)鍵指標(biāo)值,通過機器學(xué)習(xí)方法預(yù)測關(guān)鍵指標(biāo)值的變化趨勢,當(dāng)探測到資源節(jié)點的老化狀態(tài)達到設(shè)定閾值時,立即執(zhí)行再生操作;
[0013]所述關(guān)鍵指標(biāo)值包括CPU利用率、內(nèi)存使用率和帶寬占用率。
[0014]所述軟件再生執(zhí)行模塊根據(jù)資源信息庫模塊對資源節(jié)點執(zhí)行重啟操作,以將資源節(jié)點恢復(fù)到初始狀態(tài);如需上層應(yīng)用不中斷,則采用熱迀移的方式以在軟件再生前將應(yīng)用迀移到其他的資源節(jié)點,否則在保存完運行環(huán)境后直接采取重啟操作。
[0015]所述調(diào)度策略模塊以插件的形式嵌入任務(wù)調(diào)度系統(tǒng)中,用于存儲可供用戶選擇的任務(wù)調(diào)度策略;所述任務(wù)調(diào)度策略根據(jù)不同的應(yīng)用場景采用不同的調(diào)度算法實現(xiàn),所述調(diào)度算法包括Min-Min、Max-Min或遺傳算法。
[0016]所述資源信息庫模塊用于存儲資源節(jié)點信息,資源節(jié)點信息包括資源節(jié)點的編號、物理位置和實際狀態(tài)。
[0017]所述任務(wù)調(diào)度模塊根據(jù)任務(wù)到達情況、并結(jié)合用戶的實際需求選擇相應(yīng)的調(diào)度策略進行任務(wù)調(diào)度;對于高優(yōu)先級用戶提交的任務(wù)或是運行時間短且任務(wù)執(zhí)行截止期限近的任務(wù),任務(wù)調(diào)度模塊優(yōu)先選擇初始狀態(tài)的資源節(jié)點執(zhí)行任務(wù);在任務(wù)執(zhí)行時,當(dāng)探測到資源節(jié)點的老化狀態(tài)超過設(shè)定閾值時,啟動軟件再生模塊及時恢復(fù)資源節(jié)點的服務(wù)能力,以提高任務(wù)的執(zhí)行效率。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
[0019]本發(fā)明提供的老化感知的任務(wù)調(diào)度系統(tǒng)設(shè)置了老化探測模塊、軟件再生模塊、任務(wù)調(diào)度模塊、調(diào)度策略模塊和資源信息庫模塊;通過監(jiān)測資源節(jié)點的實際狀態(tài),考慮了軟件老化給任務(wù)執(zhí)行帶來的負面影響,能夠及時再生老化的資源節(jié)點,避免了因老化造成節(jié)點的崩潰進而影響了任務(wù)的執(zhí)行,提升了任務(wù)調(diào)度質(zhì)量和執(zhí)行效率。
【附圖說明】
[0020]圖1是本發(fā)明實施例中老化感知的任務(wù)調(diào)度系統(tǒng)結(jié)構(gòu)圖。
【具體實施方式】
[0021]下面結(jié)合附圖對本發(fā)明作進一步詳細說明。
[0022]本發(fā)明提供一種老化感知的任務(wù)調(diào)度系統(tǒng),(如圖1)所述任務(wù)調(diào)度系統(tǒng)包括老化探測模塊、軟件再生模塊、任務(wù)調(diào)度模塊、調(diào)度策略模塊和資源信息庫模塊;所述老化探測模塊與資源信息庫模塊雙向連接,所述資源信息庫模塊與軟件再生模塊和任務(wù)調(diào)度模塊均單向連接,所述調(diào)度策略模塊與任務(wù)調(diào)度模塊單向連接。
[0023]所述老化探測模塊包括采集代理,所述采集代理部署在資源節(jié)點上,采集代理將采集的內(nèi)存使用率和CPU使用率傳送給資源信息庫模塊,實現(xiàn)資源節(jié)點老化狀態(tài)的實時更新。
[0024]所述軟件再生模塊主要對系統(tǒng)資源進行再生操作,其主要包括軟件再生時機判定模塊和軟件再生執(zhí)行模塊。
[0025]所述軟