引言
云計(jì)算技術(shù)利用高速互聯(lián)網(wǎng)的傳輸能力,將計(jì)算、存儲(chǔ)、軟件、服務(wù)等資源從分散的個(gè)人計(jì)算機(jī)或服務(wù)器移植到互聯(lián)網(wǎng)中集中管理的大規(guī)模高性能計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、虛擬計(jì)算機(jī)中,從而使用戶(hù)像使用電力一樣使用這些資源。從層次上云計(jì)算平臺(tái)可以分為以下3 種服務(wù)模式:軟件即服務(wù)(softwareas a service,SaaS),平臺(tái)即服務(wù)(platform as a service,PaaS),基礎(chǔ)架構(gòu)即服務(wù)(infrastructure as a service,IaaS)。從服務(wù)對(duì)象和范圍來(lái)講,云計(jì)算平臺(tái)可以被分為3 種:公有云,私有云和混合云。
IaaS公有云平臺(tái)是當(dāng)前云計(jì)算平臺(tái)最重要的一種表現(xiàn)形式。自亞馬遜(Amazon) 通過(guò)其彈性計(jì)算云(elastic computecloud,EC2)實(shí)施IaaS以來(lái),以面向公眾服務(wù)提供計(jì)算資源和存儲(chǔ)資源的平臺(tái)不斷推出,如Scientific Cloud[6],OpenNebula,Eucalyptus和IBM Blue Cloud等。國(guó)內(nèi)的云計(jì)算的發(fā)展正處于成長(zhǎng)期,技術(shù)和商業(yè)模式學(xué)習(xí)歐美,采用復(fù)制并本地化發(fā)展方式。由于國(guó)內(nèi)企業(yè)對(duì)云計(jì)算技術(shù)抱有謹(jǐn)慎務(wù)實(shí)態(tài)度,比如安全問(wèn)題等,國(guó)內(nèi)更傾向于創(chuàng)建私有云,而不是使用公有云服務(wù)。但隨著用戶(hù)迅速增長(zhǎng)的服務(wù)需求,云計(jì)算將向公共計(jì)算機(jī)網(wǎng)發(fā)展,對(duì)大規(guī)模的協(xié)同計(jì)算技術(shù)提出新的要求,虛擬機(jī)的互操作,資源的統(tǒng)一調(diào)度,需要更加開(kāi)放的標(biāo)準(zhǔn)。所以,有必要對(duì)IaaS 公有云平臺(tái)的服務(wù)模型進(jìn)行研究。在此,本文抽象出IaaS 公有云平臺(tái)的服務(wù)模型,基于排隊(duì)論對(duì)平臺(tái)服務(wù)模式、隊(duì)列長(zhǎng)度、調(diào)度服務(wù)器設(shè)置等進(jìn)行了優(yōu)化分析,并重點(diǎn)討論了平臺(tái)調(diào)度的幾個(gè)核心問(wèn)題。相關(guān)模型和算法在廣東電子工業(yè)研究院自主研發(fā)的云計(jì)算平臺(tái)上驗(yàn)證了可行性。
1 IaaS 公有云服務(wù)模型
IaaS公有云平臺(tái)以面向廣域網(wǎng)用戶(hù)提供虛擬機(jī)作為主要的服務(wù)模式。其核心目標(biāo)即按用戶(hù)定制需求,提供對(duì)應(yīng)操作系統(tǒng)類(lèi)型、CPU 頻率、核心數(shù)和硬盤(pán)空間的虛擬機(jī)。
1.1 平臺(tái)組成
IaaS公有云的調(diào)度對(duì)象主要是虛擬機(jī),即用戶(hù)定制的虛擬機(jī)應(yīng)該運(yùn)行在具體哪個(gè)物理機(jī)上,當(dāng)虛擬機(jī)狀態(tài)發(fā)生改變?nèi)绾沃匦抡{(diào)整虛擬機(jī)的分布,從而實(shí)現(xiàn)平臺(tái)效率的最大化。從調(diào)度角度來(lái)看IaaS 公有云和IaaS 私有云的最大區(qū)別,公有云面對(duì)的物理資源的優(yōu)先級(jí)是相同的,用戶(hù)虛擬機(jī)可以運(yùn)行在任一物理機(jī)上;而私有云往往需要對(duì)虛擬機(jī)的安全性和可用性有特殊要求,虛擬機(jī)具體運(yùn)行在哪臺(tái)物理機(jī)上還要由物理機(jī)的性能、可用性及安全性等來(lái)確定。如由于辦公位置需要,而把虛擬機(jī)運(yùn)行在部門(mén)獨(dú)立管理的服務(wù)器上。
從邏輯上講,如圖1 所示IaaS 公有云平臺(tái)主要由3 個(gè)重要組成部份組成:
云管理中心:是云對(duì)外服務(wù)的接口,也是云資源統(tǒng)一管理、監(jiān)控和調(diào)度的中心。云管理中心接受用戶(hù)對(duì)整個(gè)云的資源請(qǐng)求,按需從平臺(tái)管理的資源中為用戶(hù)分配好所需的資源(如虛擬機(jī)、存儲(chǔ)資源等),并進(jìn)行初始設(shè)置,然后將資源訪(fǎng)問(wèn)路徑返回給用戶(hù)。
云計(jì)算資源中心:由邏輯上可管理的物理計(jì)算資源組成,對(duì)于云平臺(tái)而言,這些物理機(jī)將作為虛擬機(jī)的宿主機(jī),供平臺(tái)調(diào)度。平臺(tái)的調(diào)度服務(wù)器將根據(jù)用戶(hù)需求,從平臺(tái)中選擇最優(yōu)的資源以保證虛擬機(jī)的運(yùn)行。一般情況下,多個(gè)云計(jì)算資源中心以一臺(tái)代理服務(wù)器作為資源與云管理中心的接入點(diǎn),以完成對(duì)計(jì)算資源的監(jiān)控和調(diào)度。
云存儲(chǔ)資源中心:由邏輯上可管理的物理存儲(chǔ)資源組成。對(duì)IaaS 平臺(tái)而言,虛擬機(jī)模板、用戶(hù)虛擬機(jī)鏡像、快照等全部存儲(chǔ)在統(tǒng)一管理的存儲(chǔ)結(jié)點(diǎn)上,如NFS、S3、ISCSI 等。用戶(hù)的虛擬機(jī)文件在創(chuàng)建時(shí)讀入具體的物理機(jī)并由虛擬機(jī)系統(tǒng)加載,對(duì)于平臺(tái)而言,物理機(jī)和虛擬機(jī)之間是松耦合的。這也是公有云平臺(tái)和私有云平臺(tái)的最大區(qū)別。
圖1 IaaS 公有云服務(wù)模型及流程
1.2 服務(wù)流程
下面以公有云平臺(tái)操作的兩個(gè)流程來(lái)分析公有云平臺(tái)資源調(diào)度的一般流程。用戶(hù)向平臺(tái)申請(qǐng)資源流程如下所示:(1)注冊(cè)用戶(hù)登錄平臺(tái)Portal 服務(wù)器,向平臺(tái)提出虛擬機(jī)資源請(qǐng)求,包含CPU 核心數(shù)、主頻、內(nèi)存、硬盤(pán)大小等相關(guān)參數(shù)。
(2)Portal 服務(wù)器將用戶(hù)請(qǐng)求轉(zhuǎn)發(fā)給調(diào)度服務(wù)器。
(3)調(diào)度服務(wù)器查詢(xún)?cè)獢?shù)據(jù)庫(kù),查找可以滿(mǎn)足該虛擬機(jī)運(yùn)行需求的物理服務(wù)器列表。
(4)調(diào)度服務(wù)器從列表中選擇優(yōu)先級(jí)最高的一臺(tái)物理機(jī),把請(qǐng)求轉(zhuǎn)給該物理機(jī)所在區(qū)域的代理服務(wù)器。
(5)調(diào)度服務(wù)器根據(jù)用戶(hù)請(qǐng)求的虛擬機(jī)類(lèi)型從存儲(chǔ)資源中選擇虛擬機(jī)鏡像模板,把鏡像傳輸請(qǐng)求交給存儲(chǔ)資源的代理服務(wù)器。
(6)用戶(hù)請(qǐng)求的虛擬機(jī)鏡像被加載到被調(diào)度服務(wù)器選中的物理機(jī)中。調(diào)度服務(wù)器通過(guò)代理服務(wù)器啟動(dòng)物理服務(wù)器上加載成功的虛擬機(jī)。如果(4)-(6)的過(guò)程中出錯(cuò),調(diào)度服務(wù)器將選擇新的物理機(jī)加載虛擬機(jī)。
(7)用戶(hù)請(qǐng)求的虛擬機(jī)啟動(dòng)后,用戶(hù)可以通過(guò)RDP、VNC、ICA、SSH 協(xié)議終端遠(yuǎn)程訪(fǎng)問(wèn)運(yùn)行中的虛擬機(jī)。
各代理服務(wù)器同時(shí)具有資源的監(jiān)控功能,它們定期向云管理中心返回各云計(jì)算資源和存儲(chǔ)資源中心的資源情況,并更新元數(shù)據(jù)庫(kù),從而保證平臺(tái)調(diào)度的正確性。更新元數(shù)據(jù)庫(kù)的流程包括如下兩個(gè)步驟:
(8) 監(jiān)控服務(wù)器向調(diào)度服務(wù)器定時(shí)發(fā)出資源信息更新請(qǐng)求,請(qǐng)調(diào)度服務(wù)器將請(qǐng)求分發(fā)到各代理服務(wù)器,代理服務(wù)器獲取信息后將請(qǐng)求返回給監(jiān)控服務(wù)器。
(9)監(jiān)控服務(wù)器將資源信息更新到元數(shù)據(jù)庫(kù),以保證信息的有效性,從而提高資源的調(diào)度效率。
1.3 平臺(tái)服務(wù)模型
根據(jù)平臺(tái)的服務(wù)流程,可以將IaaS 平臺(tái)的服務(wù)過(guò)程抽象為如圖2 所示的模型。
圖2 IaaS 平臺(tái)服務(wù)模型
模型包括3 個(gè)主要的流程:①云管理中心的調(diào)度平臺(tái),從用戶(hù)請(qǐng)求隊(duì)列中取出優(yōu)先級(jí)最高的用戶(hù)請(qǐng)求R。R 首先讀取元數(shù)據(jù)庫(kù),根據(jù)用戶(hù)請(qǐng)求的硬件資源判斷是否能被當(dāng)前空閑的物理機(jī)資源滿(mǎn)足,如CPU 頻率、核心數(shù)、帶寬、存儲(chǔ)、硬盤(pán)空間等。如果能滿(mǎn)足,則直接轉(zhuǎn)向步驟②;如果不能滿(mǎn)足,判斷是否可以通過(guò)平臺(tái)虛擬機(jī)遷移,釋放相關(guān)資源;如果可以則再執(zhí)行遷移步驟,轉(zhuǎn)步驟②;如果即使遷移也無(wú)法完成,則退出,并報(bào)告用戶(hù)資源無(wú)法完成請(qǐng)求。②如果資源請(qǐng)求可以滿(mǎn)足,調(diào)度服務(wù)器從存儲(chǔ)結(jié)點(diǎn)中選擇與用戶(hù)請(qǐng)求對(duì)應(yīng)的虛擬機(jī)模板T (對(duì)于新建立的虛擬機(jī)) 或虛擬機(jī)鏡像I。③調(diào)度服務(wù)器將I遷入對(duì)應(yīng)的物理機(jī),并創(chuàng)建對(duì)應(yīng)的虛擬機(jī)實(shí)例V。
從模型中可以看出,平臺(tái)調(diào)度的幾個(gè)核心問(wèn)題:
(1)平臺(tái)隊(duì)列的長(zhǎng)度如何確定,優(yōu)先級(jí)如何調(diào)整,從而保證最快的用戶(hù)請(qǐng)求響應(yīng)。
(2) 調(diào)度服務(wù)器如何分解用戶(hù)請(qǐng)求R,并從元數(shù)據(jù)庫(kù)找到最優(yōu)的資源,為用戶(hù)提供服務(wù)。
(3)如果平臺(tái)需要調(diào)整現(xiàn)有物理機(jī)上的虛擬機(jī)分布,如何以最小的調(diào)整代價(jià),實(shí)現(xiàn)資源的重新分配。對(duì)于部分平臺(tái),由于遷移可能造成平臺(tái)QoS的不穩(wěn)定,遷移的條件要求較高,以確保最少的虛擬機(jī)受到影響為準(zhǔn)。
2 IaaS 平臺(tái)調(diào)度模型
根據(jù)平臺(tái)的服務(wù)模型,通過(guò)對(duì)各項(xiàng)指標(biāo)進(jìn)行量化,來(lái)分析云平臺(tái)的吞吐率,并對(duì)模型進(jìn)行優(yōu)化分析。
2.1 請(qǐng)求隊(duì)列
從排隊(duì)論的觀點(diǎn)來(lái)看,IaaS 公有云平臺(tái)的資源請(qǐng)求及調(diào)度過(guò)程是一個(gè)排隊(duì)及接受服務(wù)的過(guò)程,排隊(duì)系統(tǒng)的輸入即用戶(hù)請(qǐng)求,服務(wù)臺(tái)即調(diào)度服務(wù)器,輸出為用戶(hù)請(qǐng)求到的資源。用戶(hù)請(qǐng)求隊(duì)列為R={R1,R2,R3,?,Rn}。
一般可假設(shè)在IaaS 公有云平臺(tái)用戶(hù)的排隊(duì)過(guò)程中,用戶(hù)請(qǐng)求到達(dá)服從泊松分布,服務(wù)時(shí)間服從指數(shù)分布。用表示單位時(shí)間內(nèi)平均到達(dá)的用戶(hù)請(qǐng)求數(shù),用表示服務(wù)臺(tái)的平均服務(wù)速率(服務(wù)臺(tái)的服務(wù)能力)。用表示平均每單位時(shí)間中系統(tǒng)可以為顧客服務(wù)的比例, = / 即服務(wù)強(qiáng)度。Ws 表示顧客在系統(tǒng)中的平均逗留時(shí)間(包括排隊(duì)等待時(shí)間和接受服務(wù)的時(shí)間),Wq 表示顧客排隊(duì)等待的平均時(shí)間,可通過(guò)如下公式計(jì)算,在單隊(duì)單服務(wù)臺(tái)的情況下
多隊(duì)多服務(wù)臺(tái)可看作是多個(gè)單隊(duì)單服務(wù)臺(tái),并結(jié)合以上公式進(jìn)行分析。一般情況下,為了將平臺(tái)的響應(yīng)時(shí)間控制在用戶(hù)可以接受的范圍內(nèi)。平臺(tái)將限定隊(duì)列的最大的長(zhǎng)度值,當(dāng)隊(duì)列長(zhǎng)度超過(guò)限定值時(shí),所有的用戶(hù)請(qǐng)求均暫時(shí)被拒絕,因此隊(duì)列可能的最長(zhǎng)響應(yīng)時(shí)間即最長(zhǎng)隊(duì)列的處理時(shí)間。
2.2 模型量化
設(shè)IaaS 云計(jì)算平臺(tái)所包含的物理機(jī)集合為,則:P={P1,P2, P3,?,Pn},其中n為物理機(jī)的數(shù)量。設(shè)F為物理機(jī)的單CPU核心的主頻,F(xiàn)={F1,F2,F3,? n};設(shè)為物理機(jī)對(duì)應(yīng)的核心數(shù),C={C1,C2,C3 ,?Cn}; 為物理機(jī)對(duì)應(yīng)的可用磁盤(pán)空間,D={D1,D2,D3,?Dn}; 為物理機(jī)可用的最大帶寬,B={B1,B2,B3,?Bn};為物理機(jī)可用的最大內(nèi)存,M={M1 ,M2 ,M3 ,? Mn};則有每臺(tái)物理機(jī)的總頻率之和為T(mén)F,即=TF{TF1,TF2,TF3,?TFn}={F1*C1F2*C2F3*C3,?,Fn*Cn},即Fi*Ci。各變量及公式說(shuō)明如表1 所示。
表1 公式說(shuō)明
設(shè)用戶(hù)請(qǐng)求Ri可以被分解為對(duì)CPU 頻率的請(qǐng)求RFi,對(duì)CPU核心數(shù)的請(qǐng)求RCi,對(duì)內(nèi)存的請(qǐng)求RMi,對(duì)磁盤(pán)空間的請(qǐng)求RDt對(duì)帶寬的請(qǐng)求RBi。調(diào)度服務(wù)器首先遍歷元數(shù)據(jù)庫(kù)中的物理機(jī),根據(jù)其當(dāng)前狀態(tài)信息找到當(dāng)前剩余資源可以滿(mǎn)足用戶(hù)需要的物理機(jī)集合;然后按照物理機(jī)的使用率對(duì)結(jié)果集合進(jìn)行排序。用戶(hù)請(qǐng)求的虛擬機(jī)將優(yōu)先被部署在總體使用率較低的物理機(jī)上。使用率包含主頻、核心數(shù)、內(nèi)存等各方面。一般情況下以CPU 總體使用率作為物理機(jī)使用率的主要指標(biāo)。虛擬機(jī)的篩選算法如圖3 所示。
圖3 物理機(jī)的篩選算法
2.4 遷移模型
公有云平臺(tái)可以通過(guò)遷移物理機(jī)上虛擬機(jī)以釋放資源,來(lái)完成當(dāng)前資源請(qǐng)求無(wú)法滿(mǎn)足的需求。由于虛擬機(jī)的遷移會(huì)造成虛擬機(jī)QoS 的下降,并影響相關(guān)物理機(jī)上所有的虛擬機(jī)(I/O 操作相關(guān)影響)。因此,平臺(tái)應(yīng)盡可能減少虛擬機(jī)的遷移操作,盡可能用一次虛擬機(jī)遷移操作即可得到可以滿(mǎn)足用戶(hù)請(qǐng)求的物理機(jī)。當(dāng)物理機(jī)集合中所有物理機(jī)都不能滿(mǎn)足請(qǐng)求時(shí),調(diào)度平臺(tái)首先找到使用率最低的兩臺(tái)物理機(jī),然后嘗試遷移使用率最低的虛擬機(jī)到另外一臺(tái)物理機(jī)以釋放足夠的資源來(lái)運(yùn)行新的虛擬機(jī)請(qǐng)求。對(duì)于找到的物理機(jī),如果一次遷移也無(wú)法釋放足夠的資源,則拒絕用戶(hù)請(qǐng)求。虛擬機(jī)的篩選算法如圖4 所示。
圖4 虛擬機(jī)遷移算法
3 實(shí)驗(yàn)
CN Cloud 是廣東電子工業(yè)研究院自主研發(fā)的IaaS公有云平臺(tái)。本文通過(guò)一組實(shí)驗(yàn)驗(yàn)證了相關(guān)調(diào)度模型的可行性,實(shí)驗(yàn)數(shù)據(jù)如表2 所示。模擬實(shí)驗(yàn)平臺(tái)具有100 臺(tái)物理機(jī),每臺(tái)物理機(jī)最多產(chǎn)生8 臺(tái)虛擬機(jī)。通過(guò)改變隊(duì)列長(zhǎng)度,并提交與隊(duì)列長(zhǎng)度等長(zhǎng)的虛擬機(jī)創(chuàng)建請(qǐng)求,來(lái)驗(yàn)證相關(guān)方法的可行性。從表2 中可以看出,由于隊(duì)列采用FIFO 先進(jìn)先出模式,因此平臺(tái)的最小響應(yīng)時(shí)間基本不受隊(duì)列長(zhǎng)度的影響。但是平臺(tái)的平均響應(yīng)時(shí)間隨隊(duì)列長(zhǎng)度的增加增長(zhǎng)速度較為明顯(如圖5 所示),尤其是在隊(duì)列長(zhǎng)度超過(guò)40 以后,平臺(tái)平均響應(yīng)時(shí)間明顯加快,最大響應(yīng)時(shí)間在隊(duì)列長(zhǎng)度為70 以上時(shí)均超過(guò)了120s,超過(guò)用戶(hù)的容忍時(shí)間。因此在實(shí)際平臺(tái)中,隊(duì)列長(zhǎng)度應(yīng)設(shè)置為40 或50。
表2 隊(duì)列長(zhǎng)度及平臺(tái)響應(yīng)時(shí)間/s
圖5 平臺(tái)響應(yīng)時(shí)間隨隊(duì)列長(zhǎng)度變化趨勢(shì)
平臺(tái)物理資源的利用率(虛擬機(jī)容積率)超過(guò)80%后,出現(xiàn)無(wú)法找到足夠資源為用戶(hù)創(chuàng)建虛擬機(jī)的情況。平臺(tái)可以通過(guò)虛擬機(jī)的遷移來(lái)釋放資源,以保證平臺(tái)的可用性。虛擬機(jī)的遷移和虛擬機(jī)的鏡像文件大小、內(nèi)存大小及虛擬機(jī)調(diào)度算法有關(guān),如圖6 所示為虛擬機(jī)遷移釋放資源隨鏡像文件大小的變化過(guò)程。從中可見(jiàn)虛擬機(jī)遷移過(guò)程中,鏡像文件大小將決定總體響應(yīng)時(shí)間,因此在遷移過(guò)程中將鏡像文件大小和虛擬機(jī)的使用率加權(quán)作為選擇虛擬機(jī)的依據(jù)。
圖6 虛擬機(jī)遷移響應(yīng)時(shí)間與虛擬機(jī)鏡像大小關(guān)系
4 結(jié)束語(yǔ)
IaaS 公有云平臺(tái)是當(dāng)前公有云的主要應(yīng)用形式。本文總結(jié)了IaaS公有云平臺(tái)的服務(wù)模型,給出了以云管理中心、云計(jì)算資源中心、云存儲(chǔ)資源中心為主體的服務(wù)模型。結(jié)合排隊(duì)論對(duì)平臺(tái)的服務(wù)流程進(jìn)行了優(yōu)化分析,提出一種定長(zhǎng)隊(duì)列的管理模型;結(jié)合IaaS 平臺(tái)資源利用率最大化和單虛擬機(jī)性能的最優(yōu)化的設(shè)計(jì)目標(biāo),給出一種基于用戶(hù)請(qǐng)求向量的篩選方法,通過(guò)分析平臺(tái)動(dòng)態(tài)更新的元數(shù)據(jù),向調(diào)度服務(wù)器返回滿(mǎn)足需求且利用率最低的宿主機(jī);平臺(tái)調(diào)度算法結(jié)合了虛擬機(jī)遷移操作,對(duì)于一次性無(wú)法找到符合要求的宿主機(jī),通過(guò)利用率較低的宿主機(jī)間虛擬機(jī)的遷移操作,對(duì)物理資源進(jìn)行重新分配,在提高平臺(tái)的服務(wù)接受率的同時(shí)提高平臺(tái)的整體效率。相關(guān)模型和算法在廣東電子工業(yè)研究院自主研發(fā)的云計(jì)算平臺(tái)進(jìn)行了驗(yàn)證,平臺(tái)的總體QoS 有了較大的提高。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴(lài)品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:IaaS公有云平臺(tái)調(diào)度模型研究
本文網(wǎng)址:http://m.hanmeixuan.com/html/support/1112158513.html