王治東
【摘要】 任務(wù)調(diào)度作為云計算環(huán)境下資源管理的主要方法,對云計算體系架構(gòu)的整體效率和安全性有性有很大的影響。 同時由于任務(wù)調(diào)度的算法復(fù)雜性而使得云計算環(huán)境下節(jié)點(diǎn)負(fù)載均衡控制相當(dāng)困難。本文主主要論述為了解決云計算環(huán)境中資源統(tǒng)一管理的困難,引出了虛擬機(jī)資源調(diào)度模型,使資源在橫向資源底層之間的差異以及縱向上資源的兼容性做到透明化的處理,也就便于資源的統(tǒng)一化管理。
【關(guān)鍵詞】 任務(wù)調(diào)度 云計算 負(fù)載均衡 虛擬機(jī)資源 調(diào)度模型
一、云計算環(huán)境下任務(wù)調(diào)度模型概述
目前云計算提供商之間并沒有形成一個統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范,它們所發(fā)展的云計算技術(shù)體系結(jié)構(gòu)也有很多不同之處,在對各大廠商的云計算技術(shù)進(jìn)行對比分析后得出了目前云計算技術(shù)的一個簡單的體系結(jié)構(gòu),它的體系結(jié)構(gòu)是分層結(jié)構(gòu),主要由SOA構(gòu)建層、管理中間層、資源池層和物理資源層四層組成。
云計算編程模式主要目的是使得進(jìn)行云計算服務(wù)開發(fā)的人員和用戶在不用考慮云計算環(huán)境下復(fù)雜的軟硬件環(huán)境的前提下方便快捷的使用云中的資源,同時保證云計算系統(tǒng)的安全性。當(dāng)下比較流行的是先前介紹過的由Google公司提出的云計算編程模式MapReduce。MapReduce的具體調(diào)度模型和主要計算執(zhí)行過程如下:其中有兩個主要任務(wù)Map和Reduce,三個基本角色:Master、User、Worker。三個基本角色中Master是主控程序,主要負(fù)責(zé)給空閑的Worker分配Map或Reduce任務(wù)。Worker有兩種,分別是Map Worker和Reduce Worker,它們的作用也不相同。前者用來解析用戶提出任務(wù)的Key/Value對,進(jìn)行Map操作,并將結(jié)果對緩存在本地磁盤中,將地址返回給Master;后者主要是從Master處獲得已得到的Key/Value地址,讀取本地磁盤存儲的數(shù)據(jù),進(jìn)行Reduce操作,并對用戶返回結(jié)果。User即是云計算的用戶,他們提出自己的任務(wù)需求,同時實(shí)現(xiàn)需求的Map和Reduce函數(shù),控制其計算。
二、云計算環(huán)境下任務(wù)調(diào)度研究
2.1任務(wù)調(diào)度的定義
任務(wù)調(diào)度是云計算研究中的一個重點(diǎn)問題,在云計算環(huán)境下任務(wù)調(diào)度本質(zhì)上是一個映射的過程,它在一定的約束條件下,根據(jù)云計算環(huán)境下任務(wù)、資源兩者的預(yù)測信息和狀態(tài)將用戶提交的互相獨(dú)立的任務(wù)映射到相應(yīng)的虛擬機(jī)資源上執(zhí)行,然后返回處理結(jié)果。判斷一個任務(wù)調(diào)度算法是否良好主要看其能否有效協(xié)調(diào)和分配虛擬機(jī)資源,降低任務(wù)的總執(zhí)行時間和總消耗量,使云系統(tǒng)達(dá)到最大性能。任務(wù)調(diào)度的目的有兩個:一是便于用戶將任務(wù)透明地提交給資源;二是通過任務(wù)和資源的匹配實(shí)現(xiàn)更高的資源利用率和更好的滿足用戶的需求約束。云計算依靠任務(wù)調(diào)度算法,可以實(shí)現(xiàn)充分利用虛擬機(jī)資源,保證用戶透明的獲取更好的服務(wù)質(zhì)量。但實(shí)現(xiàn)更好的任務(wù)調(diào)度來滿足用戶需求是一個很有挑戰(zhàn)性的問題,因?yàn)樵骗h(huán)境具有動態(tài)、分布、自治和異構(gòu)等特性。
云計算環(huán)境下的任務(wù)調(diào)度實(shí)質(zhì)是將n個任務(wù)合理調(diào)度給m個異構(gòu)資源,以便高效完成任務(wù),任務(wù)調(diào)度其實(shí)是一個NP-hard問題,由于解NP-hard問題的函數(shù)值僅有相對最優(yōu)解,因此在任務(wù)調(diào)度中經(jīng)常將最短任務(wù)完成時間跨度設(shè)定為目標(biāo)函數(shù)。將調(diào)度目標(biāo)函數(shù)將不僅以任務(wù)完成時間跨度度量,而是作為一個QoS效用函數(shù),新的效用函數(shù)將以執(zhí)行成本約束、資源可靠性約束和任務(wù)完成時間約束來計算。
2.2虛擬機(jī)資源調(diào)度模型
在云計算環(huán)境中,我們將云看做一個超級計算機(jī),里面存儲著我們需要的應(yīng)用、服務(wù)和數(shù)據(jù),并且需要對這些應(yīng)用、服務(wù)和數(shù)據(jù)資源進(jìn)行科學(xué)高效的管理。目前由于不同的數(shù)據(jù)中心設(shè)備的不同,導(dǎo)致不同數(shù)據(jù)中心之間的兼容性并不好,因此也給云計算平臺下資源的統(tǒng)一管理帶來了巨大的挑戰(zhàn)。
為了解決云計算環(huán)境中資源統(tǒng)一管理的困難,引出了虛擬化技術(shù),它可以將系統(tǒng)底層的硬件資源,包括CPU、內(nèi)存和網(wǎng)絡(luò)帶寬等進(jìn)行抽象處理,這就使得資源在橫向資源底層之間的差異以及縱向上資源的兼容性做到透明化的處理,也就便于資源的統(tǒng)一化管理。云計算的一個核心內(nèi)容就是利用虛擬化技術(shù)將物理硬件映射到虛擬機(jī)層,通過虛擬機(jī)來執(zhí)行用戶提出的任務(wù)。由此提出的虛擬機(jī)兩級資源調(diào)度理念包括以下兩級調(diào)度:一級調(diào)度主要用來解決用戶任務(wù)與虛擬機(jī)資源的匹配問題,以便找到合適的云計算資源處理相關(guān)的用戶任務(wù);二級調(diào)度主要用來解決主機(jī)與虛擬機(jī)的映射問題,同時二級調(diào)度還需要考慮資源的負(fù)載均衡問題。
總結(jié):本文對云計算環(huán)境下任務(wù)調(diào)度模型進(jìn)行了概述,對云計算的整體架構(gòu)和編程模式做了論述介紹。 為解決云計算環(huán)境中資源統(tǒng)一管理的困難,引出了虛擬機(jī)資源調(diào)度模型, 提出了的虛擬機(jī)兩級資源調(diào)度理念,以便找到合適的云計算資源處理相關(guān)的用戶任務(wù)以及解決主機(jī)與虛擬機(jī)的映射問題,便于資源的負(fù)載均衡和統(tǒng)一化管理。
參 考 文 獻(xiàn)
[1]陳康, 鄭緯民. 云計算: 系統(tǒng)實(shí)例與研究現(xiàn)狀[J]. 軟件學(xué)報, 2009;
[2]馮登國. 從國家戰(zhàn)略的高度認(rèn)識云計算安全[J]. 信息安全與通信保密, 2012;
[3]王昊鵬, 劉旺盛. 虛擬化技術(shù)在云計算中的應(yīng)用初探[J]. 電腦知識與技術(shù): 學(xué)術(shù)交流, 2015;
[4]周文煜, 陳華平, 楊壽保, 等. 基于虛擬機(jī)遷移的虛擬機(jī)集群資源調(diào)度[J]. 華中科技大學(xué)學(xué)報 (自然科學(xué)版), 2011。