《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于云基礎(chǔ)設(shè)施的服務(wù)部署優(yōu)化問(wèn)題建模
基于云基礎(chǔ)設(shè)施的服務(wù)部署優(yōu)化問(wèn)題建模
2015年微型機(jī)與應(yīng)用第2期
頡 斌,楊 揚(yáng),曠 毅
(北京科技大學(xué) 計(jì)算機(jī)通信工程學(xué)院,北京 100083)
摘要: 目前典型的云基礎(chǔ)設(shè)施提供商所提供的虛擬機(jī)資源都是有限的規(guī)格類(lèi)型,當(dāng)同一個(gè)服務(wù)部署在不同配置的虛擬機(jī)上時(shí),會(huì)體現(xiàn)出不同的性能。通過(guò)對(duì)基于云基礎(chǔ)設(shè)施的SaaS層服務(wù)部署情況進(jìn)行研究和分析,提出對(duì)服務(wù)部署策略進(jìn)行優(yōu)化的必要性,并將該服務(wù)部署優(yōu)化問(wèn)題抽象為多目標(biāo)組合優(yōu)化問(wèn)題,對(duì)其進(jìn)行數(shù)學(xué)建模;然后利用排隊(duì)論,得出優(yōu)化指標(biāo)的計(jì)算方法,并進(jìn)行實(shí)驗(yàn)驗(yàn)證。
Abstract:
Key words :

  摘  要: 目前典型的云基礎(chǔ)設(shè)施提供商所提供的虛擬機(jī)資源都是有限的規(guī)格類(lèi)型,當(dāng)同一個(gè)服務(wù)部署在不同配置的虛擬機(jī)上時(shí),會(huì)體現(xiàn)出不同的性能。通過(guò)對(duì)基于云基礎(chǔ)設(shè)施的SaaS層服務(wù)部署情況進(jìn)行研究和分析,提出對(duì)服務(wù)部署策略進(jìn)行優(yōu)化的必要性,并將該服務(wù)部署優(yōu)化問(wèn)題抽象為多目標(biāo)組合優(yōu)化問(wèn)題,對(duì)其進(jìn)行數(shù)學(xué)建模;然后利用排隊(duì)論,得出優(yōu)化指標(biāo)的計(jì)算方法,并進(jìn)行實(shí)驗(yàn)驗(yàn)證。

  關(guān)鍵詞云計(jì)算;服務(wù)部署優(yōu)化;多目標(biāo)組合優(yōu)化

0 引言

  云計(jì)算供應(yīng)商提供了常見(jiàn)的可從Web瀏覽器獲取的在線服務(wù)應(yīng)用,通常用基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)、平臺(tái)即服務(wù)(Platform as a Service,PaaS)和軟件即服務(wù)(Software as a Service,SaaS)3個(gè)層次來(lái)表示。

  SaaS可基于傳統(tǒng)計(jì)算架構(gòu)提供,也可基于云計(jì)算架構(gòu)提供。在基于云計(jì)算架構(gòu)部署SaaS時(shí),可直接在IaaS層之上部署,也可在PaaS層之上進(jìn)行部署。IaaS層中的資源,尤其是虛擬機(jī)形式的資源,常常是有限的。目前典型的IaaS提供商所提供的虛擬機(jī)資源一般是固定的幾種,SaaS提供商在利用IaaS層中的資源部署應(yīng)用時(shí),需要考慮部署應(yīng)用的虛擬機(jī)規(guī)格。

  由于不同類(lèi)型的用戶對(duì)SaaS層的應(yīng)用服務(wù)有不同的服務(wù)質(zhì)量需求,服務(wù)提供商需要與不同類(lèi)型的用戶分別簽訂服務(wù)等級(jí)協(xié)議,以滿足其需求。此外,要部署的應(yīng)用通常由多個(gè)不同的服務(wù)及其工作流組成,構(gòu)成應(yīng)用的每個(gè)服務(wù)可以生成多個(gè)服務(wù)實(shí)例,每個(gè)服務(wù)實(shí)例部署在不同配置的虛擬機(jī)上體現(xiàn)出的性能也不同。因此,對(duì)于云供應(yīng)商而言,服務(wù)部署是要實(shí)施的最重要的任務(wù)。

1 服務(wù)部署優(yōu)化問(wèn)題分析

  1.1 SaaS層服務(wù)部署方式

  云服務(wù)是指服務(wù)提供者向服務(wù)使用者提供的任何類(lèi)型的IT功能。云服務(wù)的典型類(lèi)別包括基礎(chǔ)架構(gòu)、平臺(tái)、軟件或業(yè)務(wù)流程服務(wù),常用IaaS、PaaS和SaaS 3個(gè)層次來(lái)表示[1]。本文主要研究SaaS層的服務(wù)部署,它的部署方式有基于PaaS平臺(tái)和基于IaaS平臺(tái)兩種,圖1和圖2分別表示了這兩種方案。

001.jpg

  若SaaS層應(yīng)用要以獨(dú)立于平臺(tái)的方式部署在云上,IaaS一定是最佳選擇。應(yīng)用開(kāi)發(fā)者或SaaS提供商可租用IaaS提供商提供的各種虛擬機(jī)(Virtual Machine,VM),將應(yīng)用部署到云環(huán)境中,以SaaS的形式提供給最終用戶使用[2]。但是,IaaS層中的資源,尤其是虛擬機(jī)形式的資源,不同配置規(guī)格提供不同的服務(wù)質(zhì)量,也需要不同的服務(wù)價(jià)格。

  1.2 優(yōu)化問(wèn)題提出

  在SaaS中,服務(wù)提供商通過(guò)接口將功能和數(shù)據(jù)封裝成應(yīng)用提供給用戶訪問(wèn)。應(yīng)用可以理解成服務(wù)的集合。服務(wù)可以單獨(dú)訪問(wèn),也可以組合訪問(wèn)[3]。因此,一個(gè)復(fù)雜的應(yīng)用服務(wù)通常是由一組子服務(wù)以及這些子服務(wù)構(gòu)成的工作流組成。工作流定義了服務(wù)之間的交互方式。

  不同的SaaS層用戶對(duì)應(yīng)用服務(wù)有不同的服務(wù)質(zhì)量需求。為了滿足不同的服務(wù)等級(jí)協(xié)議(Service Level Agreement,SLA)[4],SaaS提供商在部署SaaS層的應(yīng)用服務(wù)時(shí),需要考慮使用由IaaS提供商提供的哪種VM配置方案以及每個(gè)服務(wù)需要多少服務(wù)實(shí)例,從而為每類(lèi)用戶優(yōu)化服務(wù)部署。由于SLA中需要滿足的性能指標(biāo)較多且可能沖突,同時(shí)可能的服務(wù)實(shí)例和VM類(lèi)型的組合也較多,因此部署決策問(wèn)題實(shí)際是一個(gè)多目標(biāo)組合優(yōu)化問(wèn)題。

2 問(wèn)題的抽象與建模

  總結(jié)前文分析,可將云計(jì)算環(huán)境中的服務(wù)部署優(yōu)化問(wèn)題的基本模型概括為:IaaS提供商給定一組不同配置和價(jià)格的虛擬機(jī),SaaS提供商利用這些虛擬機(jī)資源部署應(yīng)用。應(yīng)用由一組服務(wù)及其工作流組成。SaaS提供商需要找到一種部署應(yīng)用的方案,實(shí)現(xiàn)在滿足不同類(lèi)型的用戶的服務(wù)質(zhì)量需求的情況下,最小化部署費(fèi)用。

  應(yīng)用中每個(gè)服務(wù)可生成任意多個(gè)服務(wù)實(shí)例,同一個(gè)虛擬機(jī)上也可以部署多個(gè)不同的服務(wù)實(shí)例,因此,服務(wù)實(shí)例與虛擬機(jī)的組合結(jié)果是無(wú)限的。優(yōu)化目標(biāo)包括延遲、吞吐量和費(fèi)用,它們無(wú)法統(tǒng)一為一個(gè)量綱,并存在相互制約關(guān)系。

  由此可見(jiàn),云計(jì)算環(huán)境中的服務(wù)部署優(yōu)化問(wèn)題是一個(gè)典型的多目標(biāo)組合優(yōu)化問(wèn)題,問(wèn)題初始化變量包括服務(wù)實(shí)例、虛擬機(jī)類(lèi)型以及優(yōu)化指標(biāo),可做如下數(shù)學(xué)描述:

  S={s1,s2,…,si,…,sm}(1)

  V={v1,v2,…,vi,…,vn}(2)

  O={o1,o2,…,oi,…,ol}gi(o)≥Ki,i=1,2,…,l(3)

  其中,S代表組成應(yīng)用的所有服務(wù)集合,si對(duì)應(yīng)服務(wù)i;V為云環(huán)境中由IaaS提供商提供的所有虛擬機(jī)類(lèi)型集合,vi對(duì)應(yīng)虛擬機(jī)類(lèi)型i;O代表可優(yōu)化的SLA中的指標(biāo),如延遲、吞吐量、費(fèi)用等,每個(gè)指標(biāo)都有對(duì)應(yīng)的邊界值,使其在實(shí)際問(wèn)題中有現(xiàn)實(shí)意義,這里用gi(o)≥Ki表示。

  S和V中的元素可以任意組合,數(shù)學(xué)表述如下:

  R(s,v)={s1v1,s2v2,…,sivj,…,smvn},vi∈V,si∈S(4)

  r1=s1v1(5)

  r2=s1v2(6)

  …

  rk=sivj(7)

  …

  rp=smvn(8)

  R(s,v)={r1,r2,…,rk,…,rp}(9)

  {s1,s2,…,si,…,sm}=S(10)

  |R(s,v)|≥|S|(11)

  其中,式(7)表示一個(gè)r(rk)代表某個(gè)服務(wù)實(shí)例(si)部署到某種虛擬機(jī)(vj)。R為服務(wù)部署的具體方案。式(10)表示一個(gè)部署方案R必須保證所有服務(wù)實(shí)例都被部署。式(11)說(shuō)明一個(gè)部署方案R中,某些服務(wù)實(shí)例可能被部署多次。圖3表示了某部署問(wèn)題中,某種部署方案Ri的生成方式。

002.jpg

  由于R所占用的虛擬機(jī)種類(lèi)及數(shù)量會(huì)隨集合值的不同而不同,因此,不同R會(huì)對(duì)應(yīng)一組不同的O值。R所包含元素的組合方式有很多種,因此服務(wù)部署方案,也就是問(wèn)題的數(shù)學(xué)解集RX(式(12))的元素有無(wú)窮多個(gè),其中元素Ri代表了一種具體的部署方案,根據(jù)Ri占用的虛擬機(jī)資源可得到Oi,Oi包含了所有要優(yōu)化的目標(biāo)值,所有Oi組成的集合定義為OX,即式(13)。

  RX={R1,R2,…,Ri,…,R∞}(12)

  OX={O1,O2,…,Oi,…,O∞}(13)

  服務(wù)部署優(yōu)化的問(wèn)題對(duì)應(yīng)于其數(shù)學(xué)模型上的求解為在RX中的眾多元素中找到合適的Ri值,使得其對(duì)應(yīng)的Oi值能最好地滿足SLA中規(guī)定的各項(xiàng)指標(biāo),該Ri即為優(yōu)化服務(wù)部署方案。

3 優(yōu)化指標(biāo)計(jì)算及驗(yàn)證

  3.1 云環(huán)境中的SLA

  SLA是服務(wù)提供者和服務(wù)需求者之間定義的關(guān)于服務(wù)的具體水平的正式協(xié)議,包括服務(wù)描述、服務(wù)等級(jí)參數(shù)、保證以及所有違例情況的行動(dòng)和補(bǔ)救措施[5]。SaaS應(yīng)用中的SLA主要關(guān)注的是與SaaS應(yīng)用的服務(wù)質(zhì)量相關(guān)的性能參數(shù),例如響應(yīng)時(shí)間、吞吐量、可靠性、易用性、可擴(kuò)展性和操作便捷性等[6]。為了簡(jiǎn)化問(wèn)題,本文選取響應(yīng)時(shí)間、吞吐量和費(fèi)用3個(gè)目標(biāo)進(jìn)行優(yōu)化。

  3.2 服務(wù)實(shí)例的吞吐量和延遲

  設(shè)μ是平均單位服務(wù)速率,它是平均請(qǐng)求處理時(shí)間的倒數(shù)?;讦?,當(dāng)一個(gè)服務(wù)實(shí)例在多種不同請(qǐng)求到達(dá)率下運(yùn)行在一個(gè)具有多種VM配置的部署方案上,可利用排隊(duì)論來(lái)評(píng)估服務(wù)實(shí)例的吞吐量和延遲。

  服務(wù)請(qǐng)求的到達(dá)可將其表示為一個(gè)泊松分布。λ是平均請(qǐng)求到達(dá)率,即單位時(shí)間內(nèi)對(duì)一個(gè)服務(wù)實(shí)例的請(qǐng)求的平均數(shù)量。

  對(duì)一個(gè)確定的服務(wù)實(shí)例而言,它對(duì)每個(gè)請(qǐng)求的服務(wù)處理時(shí)間一般是固定的,因此將服務(wù)實(shí)例建模為一個(gè)M/D/1排隊(duì),即泊松到達(dá)、確定服務(wù)時(shí)間和單服務(wù)窗口。

  M/D/1排隊(duì)系統(tǒng)的服務(wù)時(shí)間Tn是定長(zhǎng)分布。據(jù)Little公式,可得顧客平均排隊(duì)等待時(shí)間為[7]:

  X1Y7`(N8MN_WI(HM`E~ICM0.jpg

  既然μ已知,當(dāng)λ給定時(shí),Wq就可以計(jì)算出來(lái)。當(dāng)λ>μ時(shí),所有n個(gè)CPU核的使用率都超過(guò)了100%,此時(shí)的服務(wù)實(shí)例吞吐量就是μ;而當(dāng)λ≤μ時(shí),服務(wù)實(shí)例的吞吐量即為λ。

  3.3 端到端的QoS值

  由于云環(huán)境中的一個(gè)應(yīng)用是由一組服務(wù)及其工作流組成的,因此,在計(jì)算出應(yīng)用中各個(gè)服務(wù)實(shí)例的延遲、吞吐量、費(fèi)用等優(yōu)化指標(biāo)值之后,還需要計(jì)算整個(gè)應(yīng)用的總優(yōu)化指標(biāo)值,即端到端的QoS(Quality of Service)值。

  組成應(yīng)用的各服務(wù)之間存在串聯(lián)、并聯(lián)和分支等多種情況,對(duì)同一個(gè)服務(wù)而言,也可能是一個(gè)或多個(gè)服務(wù)實(shí)例同時(shí)提供服務(wù)。因此,在計(jì)算端到端的QoS值時(shí),需分別考慮這些情況。

  3.4 仿真實(shí)驗(yàn)驗(yàn)證

  本文用MATLAB等工具對(duì)前述理論計(jì)算公式進(jìn)行了實(shí)驗(yàn)驗(yàn)證。

  圖4為在單服務(wù)實(shí)例情況下,當(dāng)服務(wù)速率μ分別為15 req/s、24 req/s、32 req/s時(shí),在不同請(qǐng)求到達(dá)率下的平均延遲曲線圖??梢钥闯?,當(dāng)用戶請(qǐng)求到達(dá)率λ小于服務(wù)速率μ時(shí),測(cè)量值與理論值曲線的吻合度較高,誤差較?。划?dāng)λ接近μ時(shí),據(jù)式(15)可知,延遲值將趨近無(wú)限大;當(dāng)λ>μ時(shí),理論值公式不再適用,因此與圖4所示實(shí)際值誤差較大。綜上所述,當(dāng)λ<μ時(shí),該排隊(duì)模型和計(jì)算公式能夠較為精確地表示單服務(wù)實(shí)例的延遲值。

003.jpg

  這里也對(duì)端到端的QoS值進(jìn)行了驗(yàn)證。假設(shè)服務(wù)1、2、3和4的服務(wù)速率分別是μ1=24 req/s,μ2=15 req/s,μ3=32 req/s,μ4=32 req/s,圖5為該應(yīng)用在不同請(qǐng)求到達(dá)率下的端到端延遲值。可以看出,前述理論計(jì)算方法能夠較為精確地表示端到端的延遲值。

004.jpg

4 結(jié)論

  本文通過(guò)對(duì)云計(jì)算環(huán)境中的服務(wù)部署情況的詳細(xì)分析,提出了在基于云基礎(chǔ)設(shè)施對(duì)SaaS層服務(wù)進(jìn)行部署時(shí)進(jìn)行優(yōu)化的必要性。通過(guò)抽象和數(shù)學(xué)建模,將問(wèn)題表示成一個(gè)多目標(biāo)組合優(yōu)化問(wèn)題。最后利用排隊(duì)論得出了SLA中的優(yōu)化指標(biāo)計(jì)算方法,并通過(guò)仿真實(shí)驗(yàn)進(jìn)行了驗(yàn)證。

  下一步研究中,可利用此優(yōu)化模型,將實(shí)際情況與已有多目標(biāo)優(yōu)化算法結(jié)合,設(shè)計(jì)出適用于本研究課題的優(yōu)化算法,并通過(guò)仿真實(shí)驗(yàn)對(duì)算法的有效性進(jìn)行驗(yàn)證。

參考文獻(xiàn)

  [1] 徐星,周劍雄,王明哲.基于模型仿真的云計(jì)算PaaS構(gòu)建模式選擇[J].微電子學(xué)與計(jì)算機(jī),2014(6):91-96.

  [2] 曹偉杰,賀建民,孫志丹.IaaS模式下虛擬機(jī)部署機(jī)制研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(10):105-108.

  [3] 張曉娟,易明巍.基于云計(jì)算與SOA的企業(yè)集成架構(gòu)及實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(9):1-6.

  [4] 馮國(guó)富,唐明偉,劉林源,等.基于服務(wù)級(jí)別協(xié)議的云資源分配[J].計(jì)算機(jī)科學(xué),2014,41(4):36-39.

  [5] 張健.云計(jì)算服務(wù)等級(jí)協(xié)議(SLA)研究[J].電信網(wǎng)技術(shù),2012(2):16-21.

  [6] 程旭.基于SLA的SaaS應(yīng)用性能管理機(jī)制研究[D].濟(jì)南:山東大學(xué),2010.

  [7] 陸傳賚.排隊(duì)論[M].北京:北京郵電大學(xué)出版社,2009.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。