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

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

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

0 引言

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

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

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

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

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

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

001.jpg

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

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

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

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

2 問題的抽象與建模

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

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

  由此可見,云計算環(huán)境中的服務(wù)部署優(yōu)化問題是一個典型的多目標(biāo)組合優(yōu)化問題,問題初始化變量包括服務(wù)實例、虛擬機類型以及優(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對應(yīng)服務(wù)i;V為云環(huán)境中由IaaS提供商提供的所有虛擬機類型集合,vi對應(yīng)虛擬機類型i;O代表可優(yōu)化的SLA中的指標(biāo),如延遲、吞吐量、費用等,每個指標(biāo)都有對應(yīng)的邊界值,使其在實際問題中有現(xiàn)實意義,這里用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)表示一個r(rk)代表某個服務(wù)實例(si)部署到某種虛擬機(vj)。R為服務(wù)部署的具體方案。式(10)表示一個部署方案R必須保證所有服務(wù)實例都被部署。式(11)說明一個部署方案R中,某些服務(wù)實例可能被部署多次。圖3表示了某部署問題中,某種部署方案Ri的生成方式。

002.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3.3 端到端的QoS值

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

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

  3.4 仿真實驗驗證

  本文用MATLAB等工具對前述理論計算公式進行了實驗驗證。

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

003.jpg

  這里也對端到端的QoS值進行了驗證。假設(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)用在不同請求到達率下的端到端延遲值??梢钥闯?,前述理論計算方法能夠較為精確地表示端到端的延遲值。

004.jpg

4 結(jié)論

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

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

參考文獻

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

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

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

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

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

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

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


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