于方澤 楊松濤



摘要:隨著云技術的不斷發展,云數據中心部署的服務器內部資源呈現出了多樣化、大容量的特征。基于此,由于數據業務發展需求量的大幅提升,可以通過云計算技術為相關用戶提供穩定可靠的在線請求服務,但需要及時地尋找到一種能夠縮短虛擬機部署時延的優化算法,為其技術提供支持。
關鍵詞:云數據;虛擬機;部署時延算法;優化方法
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)06-0241-02
互聯網技術的高速發展,網絡業務量也隨著其技術發展而不斷變化。為了能夠更好地滿足許多企業基于云計算核心技術環境下,構建數據中心的發展需求。可以利用云計算數據中心中的虛擬化技術來增強其數據中心資源利用率,最終結合用戶服務需要,針對其服務請求來完成將虛擬機部署于服務器上的方法,實現為用戶提供更加優質的服務。但在這個業務處理過程中,由于云數據中心服務器數量繁多,其中心的帶寬會在一定程度上受到限制,對于其中心虛擬機部署時延優化問題成為了當前各專家所研究的重點。因此,為了能夠有效減少服務器數量以及緩解虛擬機遷移,需要一種能夠切實解決其問題的優化算法,以此來提高云數據中心性能。
1云數據中心模型分析
2優化算法設計思路
2.1算法簡介
在行云數據中心的虛擬機部署時延優化過程中,可以選擇采用遺傳算法。通過這種算法,能夠有效地對其組合優化。但在此所運用的遺傳算法與傳統算法有一定的區別,可以考慮與貪心理念進行結合來實現對目標服務器的選擇。此外,為了能夠解決因交叉問題所造成的沖突問題,可以為其算法設計相應的交叉個體檢查法。整個算法的主要流程為以下幾個方面:(1)在進行初始化時,需要通過貪心理念來為其整個算法構建一個種群,其大小為[P]。在所構建的種群中,不同的個體可以一個部署方案進行對應,其長度為[M]。(2)再根據所構建種群所產生的隨機概率進行個體選擇,將其兩個個體進行對比,然后選擇將一個適應性非常好的個體進行保存,成為個體種群。(3)再將其種群個體進行奇偶數排列,然后通過將奇、偶數位置的個體進行隨機交叉,同時需要對交叉成所形成的新個體進行檢查,分析個體是否存在沖突問題。(4)經過交叉后形成的新體,需要其進行變異位的隨機選擇,然后在所有種群中提取出最佳的個體進行保留。(5)通過重復上述幾個流程,實現完成所規定迭代次數,然后完成算法并輸出結果。
2.2算法設計細節,提升個體適應性
對于本文所提及的優化算法,主要是以遺傳算法為核心思想。想要實現通過初始化來完成編碼的目標,需要以隨機生成虛擬機的部署序列的方式來進行。(如圖1所示)
圖1中的編碼,是以隨機產生的方式對長度為M部署序列,根據相應的次序來選擇貪心理念排序后的目標服務器。但在一定程度上會受到帶寬影響,導致虛擬機網絡遷移時延大于配置時延。所以,需要結合貪心理念并按照上次公式來針對虛擬機到目標服務器的部署時延進行計算。在此過程中,需要將能夠部署的目標服務器部署時延按照從小到大的順序進行排列,然后再結合虛擬機不同資源需求以及相應的容量限制,并根據貪心理念將虛擬機部署到目標服務器形成長度為[M]的個體,在通過重復執行之后會形成一個種群,其種群大小為[P]。通過其種群中的不同個體進行選擇,將其適應性最好的個體虛擬機到目標服務器的總體部署時延高為Γ,如果Γ呈現出較短的表現,則代表其個體的適應性非常好。然后再將其種群中所有奇數位個體遍歷,將其隨機生成[0,1]間的數,將所生成的隨機數小于交叉概率的個體與下一個偶數位個體進行交叉。通過這樣的交叉方法,可以形成一個新的交叉個體,從而可以有效地防止出現重復交叉個體的出現。這也是一種非常有效的檢查是否存在沖突的手段。
在此過程中,如果完成交叉后的虛擬機沒有部署到目標服務器,可以讓其完成其余虛擬機部署后,再對其進行部署,而且其時延會最小并能夠滿足虛擬機資源需求的目標服務器。在實現交叉操作之后,需要變異操作。其具體操作方法是遍歷所有個體生成[0,1]隨機數,將隨機數小于變異概率進行變異。在整個變異操作過程中,每一次變異都是針對某一位所進行隨機變異,再結合貪心理念來將虛擬機部署至時延最小且滿足虛擬機資源需求的目標服務器。
2.3算法分析
本文所提出來的云數據中心虛擬機部署時延優化算法,其主要核心是以遺傳算法為主,并結合了貪心策略來進行完成。因此,對于整個優化算法的每一個流程需要進行復雜化分析。(1)針對貪心理念的分析。假設具算法中虛擬機的數量為M,物理服務器的數量為N。同時,在其云數據中心中擁有L條通信鏈路。在進行貪心理念排序算法時間復雜度時,可以通過O(N·M·L)來表示。(2)針對選擇、交叉、變異操作的復雜度分析。前面有所提及,這些操作過程都是在選擇了大小為[P]的種群來進行操作。因此,需要把種群個體均分后,在確保其不會出現重復的前提下進行對比,然后保留下適應度較好的個體。因此,可以通過來代表其復雜度。當完成交叉操作后,再將其種群中奇、偶數個體根據交叉概率來完O(P2)成交叉形成新個體。因此,如果所有偶數位個體被交叉,其操作最壞復雜度為D(P2);如果所有偶數位個體只有一個被交叉,其復雜度應該為:O(P)。根據這種算法,可以得到種群內個體某個位進行變異,算法復雜度最壞為:O(M)。綜合上述各個步驟,再對其算法復雜度進行分析后得知:如果種群中個體數為P,算法規定的迭代次數為G,則可以得出最壞的情況下復雜度為:O(G·(NML+2P2+M))。
3結語
總之,在本文中所提出的云數據中心的虛擬機部署時延優化算法,主要是基于遺傳算法為核心,并結合了理論來完成將虛擬機部署到目標服務器的時延從小到大的排列。通過這種優化算法,可以實現每次選擇時延最小的服務器部署形成個體,同時還可以針對個體形成的多樣性進行了解,基本終實現最小化虛擬機部署的時延。