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

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

  關鍵詞云計算;服務部署優(yōu)化;多目標組合優(yōu)化

0 引言

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

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

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

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

  1.1 SaaS層服務部署方式

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

001.jpg

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

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

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

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

2 問題的抽象與建模

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

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

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

  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代表組成應用的所有服務集合,si對應服務i;V為云環(huán)境中由IaaS提供商提供的所有虛擬機類型集合,vi對應虛擬機類型i;O代表可優(yōu)化的SLA中的指標,如延遲、吞吐量、費用等,每個指標都有對應的邊界值,使其在實際問題中有現(xiàn)實意義,這里用gi(o)≥Ki表示。

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

  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)代表某個服務實例(si)部署到某種虛擬機(vj)。R為服務部署的具體方案。式(10)表示一個部署方案R必須保證所有服務實例都被部署。式(11)說明一個部署方案R中,某些服務實例可能被部署多次。圖3表示了某部署問題中,某種部署方案Ri的生成方式。

002.jpg

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

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

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

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

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

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

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

  3.2 服務實例的吞吐量和延遲

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

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

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

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

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

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

  3.3 端到端的QoS值

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

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

  3.4 仿真實驗驗證

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

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

003.jpg

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

004.jpg

4 結論

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

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

參考文獻

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

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

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

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

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

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

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


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