一種面向混合任務(wù)的調(diào)度系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)計一種調(diào)度系統(tǒng),具體設(shè)及一種面向混合任務(wù)的調(diào)度系統(tǒng)。
【背景技術(shù)】
[0002] 在操作系統(tǒng)、網(wǎng)格計算、云計算等領(lǐng)域,任務(wù)調(diào)度是系統(tǒng)的核屯、功能模塊,其性能 直接影響到系統(tǒng)運行的整體效果。然而,任務(wù)調(diào)度是一個NP問題,很難找到一種最優(yōu)調(diào)度 算法W滿足所有的約束條件。計算框架也具有類似的特征,即很難找到一種最優(yōu)的計算框 架適合所有的應(yīng)用。
[0003] 化doop提供了一種最簡單的計算架構(gòu),后續(xù)的很多框架W此為基礎(chǔ)進行局部改 進。圖1展示了Mesos計算架構(gòu)。該架構(gòu)采用雙層調(diào)度設(shè)計,首先Mesos將資源分配給下 級的子框架,再由各子框架內(nèi)部實現(xiàn)計算資源的最終分配。其目的是為了融合盡可能多的 負載W提升云平臺資源的利用率。
[0004] 任務(wù)調(diào)度的具體策略取決于調(diào)度目標,常見的目標包括最小時間跨度、公平性、資 源利用率等,實際的可能主要W達到其中的某一個或某幾個目標為目的?,F(xiàn)有調(diào)度策略主 要有W下兩種:用戶利益驅(qū)動的調(diào)度方法和考慮服務(wù)提供成本的調(diào)度方法。前者主要考慮 用戶的服務(wù)質(zhì)量,如任務(wù)完成時間最短、服務(wù)質(zhì)量最高等;后者在滿足用戶服務(wù)的基礎(chǔ)上還 需考慮云平臺服務(wù)提供商的服務(wù)成本,如資源負載均衡、系統(tǒng)資源利用率最高、降低云平臺 能耗等。還有一些分配策略主要考慮方法的可擴展性,如多級任務(wù)調(diào)度策略等。
[0005] -些互聯(lián)網(wǎng)信息探測類、信息獲取類應(yīng)用中,大部分任務(wù)表現(xiàn)出強烈的周期性特 征,即很多任務(wù)實際上是同一個任務(wù)的多次執(zhí)行的實例,即任務(wù)的執(zhí)行結(jié)果與執(zhí)行時刻相 關(guān)。如需要測試某網(wǎng)站的訪問速度。很明顯,在不同時間點同一網(wǎng)站的訪問速度是不同的, 為了得出測試結(jié)果,需要進行間隔不斷的測試,W客觀反應(yīng)網(wǎng)站訪問速度的變化情況。而執(zhí) 行于其它云平臺上的主流計算類任務(wù),如聚類、統(tǒng)計等并不具備周期性特征,通常同一任務(wù) 的多次執(zhí)行結(jié)果是完全一樣的,多次執(zhí)行并無價值,已有的主流云計算框架并未考慮任務(wù) 需要周期性執(zhí)行的情況。因此,云計算環(huán)境下,存在周期性任務(wù)與非周期性任務(wù)混合執(zhí)行的 情況。
【發(fā)明內(nèi)容】
[0006] 為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種面向混合任務(wù)的調(diào)度系統(tǒng),通過 設(shè)置模型解析器、執(zhí)行序列生成器、信息收集器和代理模塊,實現(xiàn)任務(wù)調(diào)度。
[0007] 為了實現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:
[0008] 本發(fā)明提供一種面向混合任務(wù)的調(diào)度系統(tǒng),所述調(diào)度系統(tǒng)包括模型解析器、執(zhí)行 序列生成器、信息收集器和代理模塊;所述模型解析器與執(zhí)行序列生成器單向連接,所述執(zhí) 行序列生成器與信息收集器和代理模塊之間均雙向連接。
[0009] 所述模型解析器用于解析由任務(wù)描述模型描述的各個任務(wù),并將解析得到的任務(wù) 信息發(fā)送給執(zhí)行序列生成器。
[0010] 所述任務(wù)描述模型用于描述任務(wù)集合中的各個任務(wù),所述任務(wù)集合用r= 咕,t2. ..,tj表示,任務(wù)ti= {id。扎,rq。St。ext。pr。ftJ,i= 1,2,…,n,n表示任務(wù) 集合中任務(wù)個數(shù),idi表示任務(wù)ti的ID,pii表示任務(wù)ti執(zhí)行時對物理位置的需求,rqi表示 任務(wù)ti執(zhí)行時對CPU、內(nèi)存、網(wǎng)絡(luò)資源的需求,St康示任務(wù)ti執(zhí)行的時間點,ext康示任務(wù) ti執(zhí)行單次所需要的時間,pri表示任務(wù)ti執(zhí)行的周期需求,fti表示任務(wù)ti執(zhí)行的截止時 間需求,單周期時間利用率Ui=exti/pr;。
[0011]任務(wù)包括周期性任務(wù)和非周期性任務(wù),對于非周期性任務(wù),pri和fti均為0。
[0012] 所述執(zhí)行序列生成器接收模型解析器發(fā)送的任務(wù)信息,并根據(jù)任務(wù)信息對周期性 任務(wù)和非周期性任務(wù)進行調(diào)度;
[0013] 對于非周期性任務(wù),調(diào)度系統(tǒng)直接調(diào)度;
[0014] 對于周期性任務(wù),先將周期性任務(wù)按對虛擬機類型需求的不同分成不同的組,同 一組的周期性任務(wù)在同一類虛擬機上執(zhí)行,選擇最少虛擬機執(zhí)行周期性任務(wù)并生成周期性 任務(wù)的執(zhí)行序列,同時執(zhí)行序列生成器將生成的執(zhí)行序列發(fā)送給信息收集器。
[0015] 生成執(zhí)行序列的具體過程如下:
[0016]1)將任務(wù)集合r中的任務(wù)按單周期時間利用率Ui降序排列;
[0017] 2)對每個虛擬機r創(chuàng)建鏈表If;
[0018] 3)將任務(wù)集合r中的第一個任務(wù)分配至虛擬機1執(zhí)行,在分配后續(xù)任務(wù)時,先判 斷該任務(wù)單周期時間利用率
是否成立,若成立,則新增虛擬機執(zhí)行 該任務(wù);否則將任務(wù)ti分配至虛擬機r執(zhí)行,并將鏈表1j.加入任務(wù)編號;其中U1表示分配 給虛擬機r的第1個任務(wù)的單周期利用率,1 = 1,2,…,kf,kf表示已分配的任務(wù)總數(shù);
[0019] 4)循環(huán)執(zhí)行3),直至任務(wù)分配完畢,各虛擬機的鏈表中任務(wù)序號即為執(zhí)行序列。
[0020] 所述信息收集器采用推或拉的模式收集各個虛擬機的狀態(tài)信息W及虛擬機上應(yīng) 執(zhí)行的任務(wù)序列;
[0021] 所述虛擬機狀態(tài)信息包括CPU使用率、內(nèi)存使用率、已執(zhí)行的任務(wù)集合和正在執(zhí) 行的任務(wù)集合。
[0022] 所述代理模塊部署在每個虛擬機上,用于采集CPU使用率和內(nèi)存使用率,代理模 塊同時將采集的CPU使用率和內(nèi)存使用率上報給信息收集器,同時監(jiān)督虛擬虛擬機上的任 務(wù)是否按照執(zhí)行序列生成器生成的執(zhí)行序列執(zhí)行。
[0023] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
[0024] 本發(fā)明提供的面向混合任務(wù)的調(diào)度系統(tǒng),任務(wù)調(diào)度時考慮了任務(wù)執(zhí)行的周期性時 序特征,即對于需要長時間不間斷運行的任務(wù)可實現(xiàn)"一次調(diào)度、多次運行",避免了對一類 任務(wù)的頻繁調(diào)度、下發(fā),降低了任務(wù)調(diào)度帶來的額外計算成本,極大降低了任務(wù)的頻繁下發(fā) 給網(wǎng)絡(luò)通信帶來的壓力;并將如何為同一組周期性任務(wù)分配最少的資源來執(zhí)行看作一個背 包問題,提出了相應(yīng)的算法,W求得最小的虛擬資源集合來完成任務(wù)的執(zhí)行。
【附圖說明】
[0025] 圖1是本發(fā)明實施例中面向混合任務(wù)的調(diào)度系統(tǒng)結(jié)構(gòu)圖。
【具體實施方式】
[0026] 下面結(jié)合附圖對本發(fā)明作進一步詳細說明。
[0027] 本發(fā)明提供一種面向混合任務(wù)的調(diào)度系統(tǒng),(如圖1)所述調(diào)度系統(tǒng)包括模型解 析器、執(zhí)行序列生成器、信息收集器和代理模塊;所述模型解析器與執(zhí)行序列生成器單向連 接,所述執(zhí)行序列生成器與信息收集器和代理模塊之間均雙向連接。
[0028] 所述模型解析器用于解析由任務(wù)描述模型描述的各個任務(wù),并將解析得到的任務(wù) 信息發(fā)送給執(zhí)行序列生成器。
[0029] 所述任務(wù)描述模型用于描述任務(wù)集合中的各個任務(wù),所述任務(wù)集合用r= {t。t2. . .,tj表示,任務(wù)ti={id。pi。rq。St。ext。pr。ftJ,i= 1,2,…,n,n表示任務(wù) 集合中任務(wù)個數(shù),idi表示任務(wù)ti的ID,pii表示任務(wù)ti執(zhí)行時對物理位置的需求,rqi表示 任務(wù)ti執(zhí)行時對CPU、內(nèi)存、網(wǎng)絡(luò)資源的需求,St康示任務(wù)ti執(zhí)行的時間點,ext康示任務(wù) ti執(zhí)行單次所需要的時間,pri表示