一種面向云計算環境下的動態多資源公平分配方法
【技術領域】
[0001] 本發明涉及云計算技術領域,尤其是涉及一種針對云計算共享平臺中的動態多資 源公平分配方法。
【背景技術】
[0002] 云計算共享平臺通過對多種計算資源進行整合,實現對資源的統一管理和調度, 為外部應用提供各種服務。云共享平臺的資源調度策略根據各虛擬機節點的任務資源需 求,對資源進行合理分配,使得虛擬機節點能夠有足夠的資源完成計算任務并且保證用戶 之間資源的公平性分配。因此如何在滿足用戶任務資源需求下對資源進行公平有效分配, 從而保證資源分配的公平性和提高資源分配效率是云計算共享平臺需要解決的一個關鍵 問題。
[0003] 目前,針對解決資源分配的公平性問題上,主要的研究工作集中在以下兩個方面: 單一資源和多資源分配的公平性問題。在單一資源分配公平方面,主要集中在對單一資 源(如CPU、鏈路帶寬等)尋求最小資源需求的最大化分配策略(Max-min)研究上,保證 多數用戶的資源需求得到滿足,實現公平性分配。在多資源分配公平方面,Ghodsi等人 最早系統地研究云計算系統中多資源公平分配問題,提出了多用戶多資源DRF(Dominant Resource Fairness)算法,解決了在多種不同資源并存情況下如何保證分配公平性問題, 顯示出諸多令人滿意的公平屬性,并在此基礎上衍生出各種多資源公平分配機制(GH0DSI A, ZAHARIA M,HINDMAN B,et al. Dominant resource fairness:Fair allocation of multiple resource types[A]. Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation [C]· Berkeley,CA, 2011. 24.) D Dolev 等人提出了 一種基于瓶頸資源的公平分配(Bottle-based Fairness,BBF)算法(D0LEV D,FEITELS0N D G,HALPERN J Y,et al. No justified complaints: On fair sharing of multiple resources[A]. Proceedings of the 3rd Innovations in Theoretical Computer Science Conference [C] · Cambridge,MA,2012. 68-75.) ;Bhattacharya 等人重新定義 DRF 以此來 支持多層次資源分配(BHATTACHARYA A A,CULLER D,FRIEDMAN E,et al.Hierarchical scheduling for diverse datacenter workloads[A]. Proceedings of the 4th Annual Symposium on Cloud Computing (SOCCi 13) [C]. Erlangen, Germany,2013.); Wang等人提出改進DRF策略,使其能夠適用于異構云計算環境(WANG W,LI B,LIANG B. Dominant resource fairness in cloud computing systems with heterogeneous servers [C]. Proceedings of IEEE INF0C0M[C]. Toronto, Canada, 2014. 583-591.); Psomans等人研究在多個計算節點上對離散任務的多資源公平分配方法(PSOMS C A, SCHWARTZ J. Beyond beyond dominant resource fairness:Indivisible resource allocation in clusters[R]· Tech Report Berkeley,2013.) ;Parks 等人用多種方 法擴展DRF,包括某些資源的零需求、不可劃分任務和權重用戶傾斜等情形(PARKES D C,PROCACCIA A Dj SHAH N.Beyond dominant resource fairness: extensions ,I imitations, and indivisibilities[J]. ACM Transactions on Economics and Computation, 2015, 3(1) :3.);然而這些研究都是基于系統中所有用戶資源需求的靜態 分配,與實際系統中用戶隨機加入和退出的動態性有本質的不同,而且資源分配過程中并 沒有考慮到歷史分配信息。針對此問題,研究者提出了一種動態情形下資源公平分配策 略DDRF,允許用戶隨時加入系統但不會離開的情形(KASH I,PROCACCIA A D,SHAH N.No agent left behind:Dynamic fair division of multiple resources[J]. Journal of Artificial Intelligence Research, 2014. 579-603.)。但是研究者是基于用戶加入云共 享平臺時帶入相同數量資源的假設,并未考慮實際用戶對資源共享量的差異性以及資源分 配調度過程中共享資源量多的用戶的分配情況,從而導致了比較低的資源利用率和公平 性。通過對以上資源公平分配策略的概述可以看出,目前的資源分配方法沒有考慮到動態 情形下用戶資源需求與共享資源量差異性對資源分配的公平性和效率的影響,因此有必要 在云計算環境下,對動態多資源公平分配方法做進一步研究使其更符合實際資源分配調度 需求。
【發明內容】
[0004] 為了解決上述問題,本發明基于動態情形下用戶資源需求和共享資源量的差異 性,提供一種面向云計算環境下的動態多資源公平分配方法,旨在解決云計算共享平臺中 多資源分配的公平性和效率問題。
[0005] 本發明面向云計算環境下的動態多資源公平分配方法通過下述步驟構建:
[0006] 部署云計算實驗平臺;對多資源分配屬性進行描述與定義;研究云計算環境下多 用戶多資源動態公平分配優化模型;設計實現一種快速資源分配算法;進行仿真平臺構 建;對性能進行測試實驗。
[0007] 在云計算共享平臺中,用戶任務請求是由具有不同資源配置的虛擬機進行響應。 假定資源池中包含m種硬件資源,如CPU、內存、磁盤、網絡帶寬等。令R = {1,2, ···!!!}表示資 源的種類集合,U = {1,2,…η}表示用戶集合。用戶i的資源需求向量為D1= (D11,…,D1J, 其中Du表示用戶i的任務對資源j的需求量占整個資源池中資源j的總量的比例,且D^> 0。對0;作歸一化處理,得到di= (Clil,…,Clij,…,dim),其_
用戶i任務需求量最大的資源為優勢資源j,即屯=1。令^表示用戶i對資源池中每種 資源的共享資源量,且
當系統中有k個用戶時,k e {1,…,η},γ表示用戶i分配 得到的優勢資源份額數,即可執行的任務數。根據優勢資源定義,用戶i的優勢資源份額 為:
[0008] 當系統中有k個用戶時,一個動態多資源公平分配方案為Ak,
為用戶i的資源分配向量。表示用戶i 在資源j上分配得到的資源數量,對每種資源j e R,滿足條件
[0009] 進一步,基于用戶資源需求和共享資源量構建動態多資源公平分配優化模型:結 合動態資源公平分配過程中的動態帕累托最優、激勵共享性、動態無嫉妒性、防策略性操 作、分配不可逆屬性特征,設計出一個線性優化模型,見式(I),通過最大化#值,求得最大 化優勢資源分配份額數(4,…,4),并盡可能保證資源分配的公平性。
[0011] 基于該線性規劃模型,引入一種更快速的多項式時間復雜度算法,來改進求解最 優分配方案的算法運行效率問題;該算法采用二分法思想尋找一個用戶τ對應的(ντ 對應一個彳值),使得如果汐V'AK成立,則A:f =W1 ;否則彳=Mi .Vi;。根據線性規劃模型(1) 中前兩個約束條件,推出xf =HiaxfMi 卜從而確定<,并最終得到(.么…W )。
[0012] 本發明針對云計算環境下多用戶多資源公平分配問題,對用戶動態進入系統時, 用戶資源需求以及用戶所共享資源量的差異性帶來的分配的公平性和效率問題作綜合考 慮,提供一種面向云計算環境下的動態多資源公平分配方法。該方法給出動態情形下的優 勢資源和優勢資源份額定義,并構建一個滿足公平分配屬性的線性優化模型,在滿足用戶 資源需求同時盡可能實現優勢資源的最大公平性分配。設計一種動態多資源公平分配算法 使得算法運行時間復雜度減小到〇 Oi2Iogn) (η為系統中總用戶數)。本發明提供的方法能 夠解決實際情況下多用戶多資源的公平分配問題,并且提高了資源分配效率。
[0013] 本發明具有如下技術優點:
[0014] 其一:由于云計算共享系統中共享資源類型以及用戶資源需求的多樣性和共享資 源量的差異性,以及用戶動態加入或退出系統,使得多類型資源的分配很難做到完全公平 性,基于此,在多種不同資源并存情況下提出一種針對動態情形下的優勢資源公平分配方 法,將多資源問題轉化成為單資源的分配問題;
[0015] 其二:基于用戶資源需求和共享資源量,建立一個動態多資源公平分配優化模型, 該模型滿足公平分配的動態帕累托最優、激勵共享、動態無嫉妒性、防止策略性操作,以及 動態分配過程中分配不可逆屬性,符合真實云計算環境下用戶共享資源并能夠得到公平有 效分配的實際情況;