王澤武,孫 磊,郭松輝,孫瑞辰
(1.信息工程大學(xué) 三院,鄭州450001; 2.31011部隊,北京100089)
(*通信作者電子郵箱zewu0307@foxmail.com)
云計算從根本上改變了IT資源服務(wù)模式,根據(jù)應(yīng)用類型可分為三個層次,軟件即服務(wù)(Software as a Service,SaaS)、平臺即服務(wù)(Platform as a Service,PaaS)和基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)[1]。各服務(wù)層次之間相互支撐,向用戶按需提供靈活可伸縮的計算資源和海量可擴展的存儲資源等。隨著云計算數(shù)據(jù)中心在世界各地大規(guī)模興建,云數(shù)據(jù)海量增長,其安全需求受到持續(xù)關(guān)注和高度熱議。而傳統(tǒng)密碼技術(shù)受限于固定的載體和不可擴展的密碼計算資源,無法滿足針對海量云數(shù)據(jù)的密碼運算需求[2]。
密碼即服務(wù)(Crypto as a Service,CaaS)的出現(xiàn)為傳統(tǒng)密碼技術(shù)在云環(huán)境下的應(yīng)用帶來了機遇和挑戰(zhàn)[3]。Amazon和阿里云先后提出了云密碼服務(wù)解決方案,建立以云計算模式提供密碼服務(wù)的密碼系統(tǒng),基于軟件定義密碼的思想,將密碼資源資源池化,向云用戶按需分配調(diào)度密碼資源,在時變的虛擬環(huán)境下傳統(tǒng)密碼機的不可擴展性問題得到解決,有效地避免了用戶密碼資源的浪費或緊缺[4-5]。密碼云為用戶提供安全可靠的密碼服務(wù),而密碼服務(wù)的供給載體是虛擬密碼機(Virtual Cipher Machine,VCM),通過軟件模擬具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整密碼機系統(tǒng)[6]。密碼云與傳統(tǒng)的業(yè)務(wù)云一樣,虛擬密碼機的管理和調(diào)度是影響密碼服務(wù)質(zhì)量(Quality of Service,QoS)的關(guān)鍵,高效的VCM調(diào)度能夠?qū)崿F(xiàn)良好的負(fù)載均衡,降低服務(wù)等級協(xié)議(Service Level Agreement,SLA)違背率[7],研究設(shè)計一種行之有效的VCM調(diào)度方法十分重要。
當(dāng)前關(guān)于虛擬密碼機調(diào)度的研究較少,因此,如何實現(xiàn)密碼云中VCM的高效調(diào)度,實現(xiàn)負(fù)載均衡,保證密碼服務(wù)質(zhì)量,亟待深入研究。本文提出了一種基于熵權(quán)評價的虛擬密碼機調(diào)度方法(VCM Scheduling Method based on Entropy Weight Evaluation,VSMEWE),并進行了多次系統(tǒng)實驗,驗證了算法性能。
目前,云密碼服務(wù)質(zhì)量問題受到學(xué)者們的廣泛關(guān)注,相關(guān)研究逐步取得進展[8],但虛擬密碼機的調(diào)度效率問題作為影響云密碼服務(wù)質(zhì)量的關(guān)鍵,需借鑒傳統(tǒng)業(yè)務(wù)云中的虛擬機調(diào)度方法。
虛擬機調(diào)度的目的是負(fù)載均衡,利用虛擬機遷移技術(shù)保持最優(yōu)的云服務(wù)狀態(tài),以低經(jīng)濟成本實現(xiàn)高性能服務(wù)。從遷移的本質(zhì)考慮,虛擬機遷移就是數(shù)據(jù)的網(wǎng)絡(luò)傳輸,但頻繁的遷移操作會帶來較高的網(wǎng)絡(luò)通信成本,Zhang等[9]、Duggan等[10]和羅剛毅等[11]分別提出了基于網(wǎng)絡(luò)成本的虛擬機遷移方法,但此類方法僅適用于網(wǎng)絡(luò)通信任務(wù)密集的應(yīng)用環(huán)境中,具有應(yīng)用局限性;Aroca等[12]、Duan 等[13]和 Maio等[14]分別提出了針對數(shù)據(jù)中心能耗問題的虛擬機調(diào)度方法,由于CPU是主要能耗源,故建立的CPU能耗模型近似為系統(tǒng)能耗模型,以最小化系統(tǒng)能耗作為優(yōu)化目標(biāo),采用不同的啟發(fā)式算法得到最優(yōu)的調(diào)度方案,此類方法適用于所有CPU為主要能耗源的場景,在一定程度上克服了應(yīng)用局限性的缺點,但在密碼資源需求為主導(dǎo)的密碼云環(huán)境中,能耗作為系統(tǒng)優(yōu)化目標(biāo)顯然不能得到最優(yōu)的負(fù)載均衡解決方案。
在密碼云系統(tǒng)中,影響密碼服務(wù)質(zhì)量的資源類型較多,以密碼資源為主,但網(wǎng)絡(luò)帶寬、CPU、內(nèi)存等資源缺一不可。文獻[15-16]聚焦系統(tǒng)資源分配問題,針對虛擬機調(diào)度問題提出了Myopic Max-weight調(diào)度方法,充分考慮系統(tǒng)CPU權(quán)重,利用最大化資源總利用率的方法進行虛擬機調(diào)度;文獻[17]針對云主機之間負(fù)載不均衡問題提出了一種層次分析與物理服務(wù)器躲避機制相結(jié)合的虛擬機部署與調(diào)度策略,通過層次分析確定虛擬機內(nèi)存、CPU及網(wǎng)絡(luò)對目標(biāo)物理服務(wù)器選擇的影響權(quán)重;結(jié)合目標(biāo)物理服務(wù)器節(jié)點的資源使用情況對該物理節(jié)點預(yù)測評估。但當(dāng)前基于資源權(quán)重的虛擬機調(diào)度算法均未考慮密碼資源指標(biāo)的影響,以及密碼服務(wù)中密鑰對虛擬密碼機遷移過程的影響。
綜合評價各類型資源需求的影響程度,賦予相應(yīng)的權(quán)重值,但權(quán)重系數(shù)的合理性直接影響了評價結(jié)果的正確性和可信性。吳希[18]在客觀賦權(quán)方法方面分析比較了認(rèn)可度較高的通過標(biāo)準(zhǔn)的內(nèi)在相關(guān)性確定權(quán)重(Criteria Importance Through Intercriteria Correlation,CRITIC)法、標(biāo)準(zhǔn)離差法和熵權(quán)法[19]。CRITIC法的基本思想是在構(gòu)造權(quán)重時,以評價指標(biāo)的對比強度和沖突性為基礎(chǔ);標(biāo)準(zhǔn)離差法是根據(jù)標(biāo)準(zhǔn)差來衡量評價指標(biāo)的變異程度,與權(quán)重系數(shù)呈正相關(guān)關(guān)系;熵權(quán)法是根據(jù)信息熵來描述系統(tǒng)的有序化程度,兩者呈負(fù)相關(guān)關(guān)系。密碼云的性能狀態(tài)與資源利用率息息相關(guān),冗余資源越多而且越均衡,服務(wù)性能越好;但資源之間不具備對比性和關(guān)聯(lián)性,而且資源權(quán)重與其冗余量和需求程度緊密相關(guān),與利用率變化程度無關(guān)。云密碼機的各項資源利用率在虛擬機調(diào)度策略的支撐下,處于動態(tài)變化當(dāng)中,具有不確定性特征。由此,可根據(jù)系統(tǒng)提供的資源利用率信息來確定其不確定度,以度量云密碼機資源的權(quán)重系數(shù),從而衡量密碼云的服務(wù)狀態(tài)。
VCM遷移與虛擬機遷移的最大不同在于密碼的遷移。密碼資源是VCM的關(guān)鍵需求,每項密碼任務(wù)的完成都離不開密碼運算,離不開密碼。VCM是密碼云向云用戶提供密碼服務(wù)的載體,按需向密碼用戶提供基于網(wǎng)絡(luò)的云密碼服務(wù),具有運算能力靈活擴展、密碼資源動態(tài)調(diào)度、密碼管理統(tǒng)一高效等特點[20]。密碼云的基礎(chǔ)設(shè)施是云密碼機集群,云密碼機的核心是密碼卡,利用虛擬化技術(shù)實現(xiàn)對硬件資源的充分利用,其中密碼卡基于單根I/O虛擬化(Single-Root I/O Virtualization,SR-IOV)功能共享密碼資源[21],但離開了密碼卡高性能高帶寬的前提,密碼卡硬件資源的共享將失去意義。云密碼機的虛擬化結(jié)構(gòu)如圖1所示。
圖1 云密碼機虛擬化結(jié)構(gòu)Fig.1 Virtualization structure of cloud cipher machine
云密碼機底層硬件系統(tǒng)中的CPU、內(nèi)存、網(wǎng)絡(luò)設(shè)備和密碼卡等在邏輯上分為多個部分,組成多個 VCM,由 KVM Hypervisor管理并組織實現(xiàn)云密碼機的系統(tǒng)功能[22]。按照系統(tǒng)功能分類,密碼云系統(tǒng)分為4個部分,分別是密碼云管理系統(tǒng)、密碼管理中心、密碼計算中心和身份認(rèn)證系統(tǒng)。密碼云系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 密碼云系統(tǒng)結(jié)構(gòu)Fig.2 System architecture of cryptography cloud
按照密碼服務(wù)流程描述系統(tǒng)模塊化功能,具體如下:
1)用戶Ukey存儲有身份信息和主密鑰,終端從用戶Ukey中下載由用戶私鑰加密后的用戶證書與主密鑰,身份認(rèn)證系統(tǒng)驗證用戶身份后,通過終端瀏覽器登錄密碼云管理系統(tǒng),同時利用用戶主密鑰激活存儲于密碼管理中心的用戶從密鑰,用于提供密碼服務(wù)[23]。
2)密碼管理中心的密鑰代管分發(fā)服務(wù)器向用戶VCM下發(fā)相關(guān)從密鑰,該從密鑰將封存于云密碼機的密碼卡內(nèi)存中,隨著VCM的遷移在卡內(nèi)銷毀。
3)密碼云管理系統(tǒng)包括VCM管理模塊和資源狀態(tài)監(jiān)控模塊。VCM管理模塊的主要職責(zé)是根據(jù)資源狀態(tài)監(jiān)控模塊提供的資源狀態(tài)信息創(chuàng)建、刪除和遷移VCM,資源狀態(tài)信息主要包括云密碼機的CPU占用率、內(nèi)存利用率、密碼資源利用率和網(wǎng)絡(luò)帶寬利用率等。
4)密碼計算中心是云密碼機集群組成的密碼計算資源池,云密碼機均采用圖1所示的虛擬化結(jié)構(gòu),向用戶提供VCM虛擬實體作為密碼服務(wù)的執(zhí)行單元。
密碼云系統(tǒng)將密碼服務(wù)與云計算平臺結(jié)合,通過調(diào)度云密碼機集群動態(tài)擴充密碼運算能力,使密碼運算速度大幅提高,更好地為用戶提供集中化、虛擬化、透明化的密碼服務(wù)。
大多數(shù)遷移算法都是從物理主機的CPU、內(nèi)存和網(wǎng)絡(luò)帶寬三種資源的使用率來考慮。在密碼云中,密碼服務(wù)的資源需求由密碼資源和網(wǎng)絡(luò)帶寬資源占據(jù)主導(dǎo),CPU和內(nèi)存資源主要用于滿足密碼服務(wù)以外其他服務(wù)進程的資源需求,激烈的密碼資源競爭和網(wǎng)絡(luò)帶寬資源競爭容易造成密碼服務(wù)停滯的后果,影響密碼服務(wù)的連續(xù)性??紤]到密碼服務(wù)的資源競爭以及資源需求情況,本文針對VCM調(diào)度問題的研究主要以物理主機的密碼資源利用率(Utilization of cryptography computing resource,Uccr)、網(wǎng)絡(luò)帶寬資源占用比(Utilization of network bandwidth resource,Unbr)、CPU 資 源 利 用 率(Utilization of CPU resource,Ucr)和內(nèi)存資源利用率(Utilization of memory resource,Umr)為主要指標(biāo)來考慮[24]。特別的是,密碼資源利用率是以密碼卡的I/O吞吐率為衡量對象,即卡上的I/O吞吐率與最大吞吐帶寬的比值作為密碼資源利用率,卡上I/O吞吐率包括對稱加解密速率、簽名驗簽速率和雜湊速率等。
密碼云中各資源狀態(tài)的動態(tài)改變或者基礎(chǔ)設(shè)施使用壽命的增加,會使云密碼機的各項資源利用率在一定范圍內(nèi)波動,具有復(fù)雜性和不確定性的特點。收集統(tǒng)計云密碼機各項資源的利用率信息,根據(jù)香農(nóng)信息熵的概念,對不確定性信息量化度量。熵代表了事件發(fā)生的不確定度,即發(fā)生的概率,因此,運用熵權(quán)法對各類型資源進行權(quán)重分析,用于對云密碼機的性能狀態(tài)綜合評價,使其向用戶按需提供密碼服務(wù)。
假設(shè)密碼云數(shù)據(jù)中心由數(shù)臺配置相同的云密碼機組成,包括n臺活躍主機,表示為集合S=(s1,s2,…,sn),其中運行狀態(tài)的 VCM 有 l臺,由 V=(V1,V2,…,Vl) 表示。
首先,由上述4個資源利用率指標(biāo),可以得到以下的原始數(shù)據(jù)矩陣:
其中:m為所考慮的資源類型數(shù),m=4;xij表示第j臺云密碼機的第 i種資源的利用率,j=1,2,…,n。(x11,x12,…,x1n) 表示密碼資源利用率,(x21,x22,…,x2n)表示網(wǎng)絡(luò)帶寬資源利用率,(x31,x32,…,x3n) 表示 CPU 資源利用率,(x41,x42,…,x4n)表示內(nèi)存資源利用率。
由于云計算中心要求以盡可能少的物理資源完成盡可能多的任務(wù),所以資源利用率均為低優(yōu)指標(biāo),但為避免資源浪費,云計算中心更傾向于在一定資源冗余的條件下使資源利用率達到最大,此時可視資源利用率為高優(yōu)指標(biāo),那么可由式(2)對X矩陣進行標(biāo)準(zhǔn)化處理:
其中:xi為X矩陣中的第i行的行向量,zij為標(biāo)準(zhǔn)化后矩陣中的元素,組成新的標(biāo)準(zhǔn)化矩陣Z,如下所示:
計算第i項資源狀態(tài)指標(biāo)下,第j個評價對象的特征比重:
對于每一項資源狀態(tài)指標(biāo),其zij差異越大,信息熵值越小;即各個評價對象的第i項資源狀態(tài)指標(biāo)值差異越大,該指標(biāo)反映的信息量越大,其熵值就越小。指標(biāo)信息熵值的計算公式如下:
其中:k為調(diào)節(jié)系數(shù),k=1/(ln n)。
當(dāng)信息熵值偏大時,表明該指標(biāo)提供的信息量很小,對綜合資源狀態(tài)評價的影響小,即權(quán)重小。為此,引入熵冗余系數(shù):
di越大,則該評價指標(biāo)的熵值越小,相應(yīng)地其信息量越大,對應(yīng)的資源狀態(tài)指標(biāo)越應(yīng)該獲得較大的指標(biāo)權(quán)重。由此各類型資源狀態(tài)指標(biāo)權(quán)重值為:
其中
構(gòu)造加權(quán)規(guī)范化矩陣Y,確定評價對象即云密碼機資源狀態(tài)的最優(yōu)解和最劣解:
根據(jù)式(9)得到Y(jié)矩陣的最優(yōu)向量和最劣向量,即評價對象的最優(yōu)解和最劣解,對應(yīng)云密碼機資源使用的最優(yōu)狀態(tài)和最劣狀態(tài):
最后,可將Ck,即云密碼機的實際資源狀態(tài)與最優(yōu)狀態(tài)的接近程度,視作為云密碼機sk的綜合評價值。顯然,Ck越小,距離最優(yōu)狀態(tài)越接近,即云密碼機的資源利用越充分;反之,說明云密碼機的資源利用狀態(tài)較差,即資源利用率低,不能充分發(fā)揮云密碼機的工作能力,存在一定的資源冗余。這樣就可以對云密碼機狀態(tài)綜合排序,以供選擇使用。
針對虛擬機遷移的研究需要考慮3個問題:一是遷移的觸發(fā)時機,二是待遷移VCM的選擇,三是目標(biāo)主機的選擇。本文假設(shè)遷移已根據(jù)密碼卡的吞吐率閾值觸發(fā),主要研究問題二和問題三。由此,VCM遷移的類型可分為3類:一是源主機內(nèi)所有VCM均遷出,僅需考慮問題三;二是從源主機遷出其中一臺VCM,需考慮問題二和問題三;三是新建立VCM的放置,僅需考慮問題三。VSMEWE算法在實際部署中可設(shè)定時鐘循環(huán)執(zhí)行,達到及時更新狀態(tài)信息,保持云密碼機最佳服務(wù)狀態(tài)的目的。遷移變量的設(shè)置如下分別表示云密碼機sk的密碼資源利用率、網(wǎng)絡(luò)帶寬占用率、CPU利用率和內(nèi)存利用率;ccri、nbri、cri和mri分別表示虛擬密碼機Vi的密碼資源能力、網(wǎng)絡(luò)帶寬能力、CPU配置和內(nèi)存大小在云密碼機相應(yīng)類型資源中的占比。
算法1 源主機中VCM的選擇。
設(shè)sk為遷移源主機,根據(jù)云密碼機資源狀態(tài)的綜合評價值,采用差值排序法確定源主機sk當(dāng)中的待遷移VCM Vi,遷移目的是提供高質(zhì)量密碼服務(wù)同時節(jié)省密碼云資源。
步驟1 計算源主機sk的綜合評價值Ck。
步驟2 根據(jù)“正在運算的密碼任務(wù)不可中斷以進行遷移”的原則,篩選出sk當(dāng)中可遷移的VCM集合Vqian={V1,V2,…,Vp}。
步驟3 依次計算源主機遷出虛擬密碼機Vi(Vi∈Vqian)后的資源狀態(tài)綜合評價值具體如下:
1)計算源主機遷出VCMVi后各類型資源利用率,見式(14):
2)置換 X 矩陣中的 x1k、x2k、x3k、x4k,對新得到的X'進行標(biāo)準(zhǔn)化變換,得標(biāo)準(zhǔn)化矩陣Z'。
3)根據(jù)式(4)~(7)計算出新的資源狀態(tài)指標(biāo)權(quán)重wi'。
4)根據(jù)式(8)~(13)得出虛擬密碼機Vi遷出后的云密碼機資源狀態(tài)綜合評價值。該綜合評價值是在虛擬密碼機Vi遷出源主機但尚未遷入任意一臺目標(biāo)主機的假設(shè)條件下得出的。
步驟4 令ai=Ck-,表示在Vi遷移前的情況下和在Vi遷出sk未遷入目標(biāo)主機的情況下的綜合評價值之差。若ai≤0,表明遷移該VCM后,云密碼機sk的整體資源狀態(tài)變差,距離最優(yōu)的資源狀態(tài)越來越遠(yuǎn),云密碼機資源沒有得到充分地利用,因此虛擬密碼機Vi不遷移;反之,根據(jù)差值ai大小將擬遷移虛擬密碼機Vi按降序排列,取序列中的第一臺VCM作為待遷移虛擬密碼機,云密碼機的整體資源狀態(tài)隨遷移的發(fā)生而處于更優(yōu)的情況下。
算法2 目標(biāo)主機的選擇。
為待遷移VCM選擇最理想的目標(biāo)主機至關(guān)重要,關(guān)系到Vi遷入后云密碼機的性能問題。當(dāng)每臺云密碼機均處于較優(yōu)的性能條件下時,才能保證密碼云系統(tǒng)提供滿足用戶需求的密碼服務(wù)。此處采用與待遷移VCM的選擇方法相同的差值排序法,具體如下:
步驟1 計算云密碼機sr(r≠k)的綜合評價值Cr,并據(jù)此值對云密碼機按升序排列。
步驟2 依次計算虛擬密碼機Vi遷入主機sr后的綜合評價值,具體如下:
1)計算待遷移VCM Vi遷入主機sr后各類型資源的利用率,見式(15):
2)根據(jù)式(14)和(15)置換 X 矩陣中的 x1k、x2k、x3k、x4k和x1r、x2r、x3r、x4r,再對新得到的 X'進行標(biāo)準(zhǔn)化變換,得標(biāo)準(zhǔn)化矩陣Z珘。
4)根據(jù)式(8)~(13)得出待遷移VCM遷入主機sr后的云密碼機資源狀態(tài)綜合評價值。該綜合評價值是在待遷移虛擬密碼機Vi遷出源主機并遷入目標(biāo)主機sr的假設(shè)條件下得出的。
步驟3 令bi=Cr-Cir,表示在Vi尚未遷移的情況下和在Vi遷出sk并遷入目標(biāo)主機sr的情況下的綜合評價值之差。若bi≤0,表明虛擬密碼機Vi遷入后,云密碼機sr的整體資源狀態(tài)變差,距離最優(yōu)的資源狀態(tài)越來越遠(yuǎn),引發(fā)單項資源負(fù)載過高,無法保證高質(zhì)量的密碼服務(wù),因此,Vi不可遷入云密碼機sr;反之,則根據(jù)綜合評價差值bi將主機sr按降序排列,取序列中第一臺云密碼機作為目標(biāo)主機,為虛擬密碼機Vi選擇各項資源均有足夠冗余的云密碼機。
基于OpenStack開源云平臺實現(xiàn)了密碼云原型系統(tǒng),由業(yè)務(wù)云用戶向密碼云申請使用密碼服務(wù)。實驗平臺為5臺刀式云密碼機,作為密碼云計算節(jié)點;1臺云服務(wù)器,作為云管理系統(tǒng);1臺密碼管理服務(wù)器,作為密碼管理中心。每臺云密碼機包括兩個10核2.4 GHz的CPU,6個8 GB的內(nèi)存和2個千兆網(wǎng)卡,一個用于密碼云內(nèi)網(wǎng)通信,另一個用于與業(yè)務(wù)云交互的外網(wǎng)通信。兩臺千兆交換機分別用于內(nèi)、外網(wǎng)。系統(tǒng)部署結(jié)構(gòu)如圖3所示。
實驗的對比算法包括:基線算法(記為 Baseline)[25],即OpenStack云平臺中Nova Scheduler模塊默認(rèn)的虛擬機調(diào)度算法,核心是主機過濾和權(quán)值計算,特點是計算復(fù)雜度低,但負(fù)載均衡效果差;文獻[26]提出的經(jīng)典遷移算法(記為Entropy),即虛擬機再配置算法,核心是最小化主機數(shù)量與遷移成本,特點是有效減少系統(tǒng)能耗,但造成系統(tǒng)服務(wù)質(zhì)量差;本文提出的VSMEWE算法,核心是資源信息評估和過濾選擇,特點是高效節(jié)能,具有全局性。
圖3 系統(tǒng)部署結(jié)構(gòu)Fig.3 Structure of system deployment
本實驗驗證云密碼機分別在 Baseline、Entropy和VSMEWE算法的支撐下,云密碼機中各類型資源的利用率情況。實驗初始時,每臺云密碼機中運行的VCM數(shù)量分別是7、9、8、11、5,各臺 VCM 循環(huán)運行大小呈泊松分布的密碼任務(wù)隊列,各類型資源的實時利用率可由監(jiān)控器獲得。每25 min測算一次資源利用率,共進行4次測算實驗,依次在時段1、2、3、4進行;其中,時段1的資源信息數(shù)據(jù)為初始實驗階段所得。每個時段里,每隔20 s統(tǒng)計一次各類型資源的實時利用率,連續(xù)統(tǒng)計15次,再分別求取各資源的平均利用率作為一次實驗數(shù)據(jù)。為保證對比實驗的合理性,實驗在相同的初始負(fù)載條件下進行,使實驗初始的系統(tǒng)狀態(tài)相同。
從圖4~7可以看出,系統(tǒng)分別在 Baseline、Entropy和VSMEWE三種算法的支撐下,從時段1到時段4,密碼資源、網(wǎng)絡(luò)帶寬、CPU和內(nèi)存的平均利用率在實驗系統(tǒng)中呈現(xiàn)逐步均衡分布的情況。而且時段4相對于其他時段,主機之間的密碼運算資源(Cryptography Computing Resource,CCR)的差異程度最小,網(wǎng)絡(luò)帶寬資源(Network Bandwidth Resource,NBR)、CPU資源(CPU Resource,CR)和內(nèi)存資源(Memory Resource,MR)也是如此,因此三種調(diào)度算法都起到了均衡負(fù)載的效果。相比三種算法的負(fù)載均衡效果,VSMEWE最優(yōu)、其次是Entropy和Baseline。由圖中各時段的平均利用率分布曲線可知,VSMEWE算法能夠使各主機的資源平均利用率曲線在相對較短的時間內(nèi)平穩(wěn),呈現(xiàn)均衡的趨勢,減小主機之間的平均利用率差異,有效避免了單臺主機瞬間超載時產(chǎn)生的突發(fā)狀況[27];而Entropy和Baseline算法的資源均衡速度較慢,或者說是負(fù)載均衡的力度較小,因此VSMEWE算法在負(fù)載均衡方面更具有時效性,充分體現(xiàn)了面向云密碼機的資源利用公平性。
由圖4~7中時段4對應(yīng)的子圖可知,VSMEWE算法的調(diào)度使系統(tǒng)資源的平均利用率從各主機間的無序分布變化為有序的平均分布,從VCM負(fù)載遷移的角度考慮,這必將造成頻繁的VCM遷移操作,而密碼資源是完成VCM任務(wù)的主要資源需求,同時VCM的遷移是由密碼卡的吞吐量閾值來觸發(fā),這種以單一資源的利用率閾值來觸發(fā)遷移的方式有效避免了VCM陷入局部循環(huán)遷移的情況,降低了系統(tǒng)的遷移觸發(fā)頻率,因此VSMEWE算法在VCM遷移中更具有全局性。而根據(jù)圖4~7可以看出,資源平均利用率在各主機之間仍然存在較大的差異,分布曲線起伏較大,而且時段之間存在較多的曲線重疊,這表明系統(tǒng)在Entropy算法和Baseline算法的支撐下不能達到最理想的負(fù)載均衡效果,但與VSMEWE算法相比,具有遷移次數(shù)少的優(yōu)點;雖然Entropy算法是以最小的遷移次數(shù)和遷移成本為約束條件,以減小虛擬機再分配成本為調(diào)度目標(biāo),但是其均衡速度慢,無法避免單臺主機的突發(fā)性超載對服務(wù)質(zhì)量的影響,對于負(fù)載均衡分布的全局性考慮不足。
圖4 不同算法條件下系統(tǒng)CCR分布Fig.4 CCR distribution of system under different algorithms
圖5 不同算法條件下系統(tǒng)NBR分布Fig.5 NBR distribution of system under different algorithms
圖6 不同算法條件下系統(tǒng)CR分布Fig.6 CR distribution of system under different algorithms
本實驗測試密碼云系統(tǒng)中VCM遷移的次數(shù),比較分別在VSMEWE算法、Entropy算法和Baseline算法支撐下系統(tǒng)的遷移頻率。從初始部署開始到時刻P的時間段內(nèi),VCM遷移發(fā)生的次數(shù)越少,遷移造成的總成本越低,據(jù)此比較三種算法的遷移總成本[28]。
圖7 不同算法條件下系統(tǒng)MR分布Fig.7 MR distribution of system under different algorithms
圖8表示密碼云系統(tǒng)在不同算法支撐下的VCM遷移次數(shù),根據(jù)圖中曲線走勢可以看出,VCM遷移次數(shù)隨系統(tǒng)運行時間不斷增加,但呈現(xiàn)減緩的趨勢,這表示隨著VCM的遷移,資源利用率在各主機之間逐漸趨向平均,進而VCM遷移頻率降低。VSMEWE算法曲線收斂最快,其次是Entropy算法和Baseline算法,說明了三種算法相比,VSMEWE算法在負(fù)載均衡效率方面更具有優(yōu)勢,能夠以較少的VCM遷移操作達到最理想的負(fù)載均衡效果,有效降低了遷移總成本,具有高性價比的特點。
圖8 三種調(diào)度算法條件下的VCM遷移次數(shù)Fig.8 VCM migration times under three scheduling algorithms
本實驗利用系統(tǒng)腳本文件執(zhí)行算法源碼,測試VSMEWE算法、Entropy算法和Baseline算法的執(zhí)行速度,客觀比較算法在工程應(yīng)用中的計算復(fù)雜度。具體方法是在腳本代碼首尾分別加上讀取系統(tǒng)時間的代碼模塊,作差值可得出算法執(zhí)行時間。為保證三組實驗的公平性,每做完一組實驗將系統(tǒng)資源狀態(tài)恢復(fù)到和初始時刻一樣,同時調(diào)整VCM的初始部署情況。在密碼云系統(tǒng)中,算法執(zhí)行效率會影響到系統(tǒng)的實時性和用戶的即時體驗[29]。
表1數(shù)據(jù)說明VSMEWE算法的執(zhí)行時間最短,效率最高。在調(diào)度過程中,VSMEWE算法的執(zhí)行時間短,與Baseline算法和Entropy算法相比,其執(zhí)行效率分別提高了22.7%和6.8%。因此,VSMEWE算法的執(zhí)行效率較高,能夠在相同的實驗環(huán)境下更快地完成調(diào)度決策任務(wù),說明其在工程應(yīng)用中的計算復(fù)雜度較低。由此說明由VSMEWE算法造成的時延最小,因而,該算法具有更好的實時性效果,為服務(wù)質(zhì)量提供了效率支撐和即時保障。
表1 各算法執(zhí)行時間 sTab.1 Execution time for different algorithm s
本文研究了虛擬密碼機的調(diào)度效率問題,調(diào)度目標(biāo)是提高系統(tǒng)的服務(wù)質(zhì)量和負(fù)載均衡效果,為此提出了一種基于熵權(quán)評價的虛擬密碼機調(diào)度方法。該方法有效改善了系統(tǒng)的負(fù)載均衡效果,采用熵權(quán)法確定密碼運算、網(wǎng)絡(luò)帶寬、CPU和內(nèi)存等資源的權(quán)重,并根據(jù)云密碼機的資源狀態(tài)綜合評價值決策,實現(xiàn)密碼云系統(tǒng)的高效運行。為評估調(diào)度算法性能,本文通過對比實驗進行了測試。實驗結(jié)果表明:在相同的負(fù)載條件下,VSMEWE算法具有更好的性能和效率優(yōu)勢,以較低的遷移成本達到最理想的遷移效果,云密碼機的各項資源利用率快速收斂于系統(tǒng)均值,為密碼云系統(tǒng)良好的負(fù)載狀態(tài)提供了策略支撐。