王澤武,孫 磊,郭松輝
(信息工程大學, 鄭州 450000) (*通信作者電子郵箱zewu0307@foxmail.com)
基于滾動優化的密碼云實時任務閾值調度方法
王澤武*,孫 磊,郭松輝
(信息工程大學, 鄭州 450000) (*通信作者電子郵箱zewu0307@foxmail.com)
針對當前云任務調度算法在密碼云環境中無法實現任務實時處理的問題,提出一種基于滾動優化窗口的實時閾值調度方法。首先,將密鑰調用環節融入密碼任務流程中,提出一種密碼云服務架構;其次,為實現任務的實時調度,構建基于滾動窗口的密碼任務調度器模型和吞吐量分析模型,用于獲得實時的吞吐量數據;最后,為滿足云租戶對高速密碼服務的客觀需求,提出吞吐量閾值調度算法,從而根據實時吞吐量相對于吞吐量閾值的變化情況實時遷移虛擬密碼機。仿真結果表明,該方法與未采用滾動優化窗口或虛擬機遷移技術的方法相比,具有任務完成時間短、CPU占用率低的特點,且實時吞吐量能夠持續保持在網絡帶寬的70%~85%,從而驗證了其在密碼云環境中的有效性和實時性。
密碼云;任務調度;滾動優化;吞吐量;閾值
隨著信息技術產業的高速發展,云計算已成為變革性的IT資源供給模式。云計算技術通過整合分布式資源,構建可動態擴展、靈活調度、跨域共享的虛擬計算環境,能夠滿足各行業中不同的應用需求[1]。隨著云計算技術的廣泛應用,云計算安全問題越發引起關注,尤其是虛擬資源可遷移性引發的數據不可控問題。由于用戶無法確定數據在云中的存儲位置,給傳統密碼技術的應用帶來了挑戰,從對依附物理硬件的可控數據加密,轉變成對云環境中“動態不可控”數據的加密[2-4]。云數據的存在方式發生變化,亟須密碼技術為其提供靈活的服務模式。
為適應云中虛擬資源的遷移特性,基于張晏等[4]提出的云環境下密碼服務資源池和安全服務云框架[5],本文提出了密碼云的概念,就是以云模式提供密碼服務的密碼系統,基于軟件定義密碼的思想,將密碼計算資源虛擬成資源池,按需向密碼用戶提供基于網絡的密碼部件、密碼中間件、密碼應用系統三種模式的云服務,具有密碼服務按需部署、運算能力靈活擴展、密碼資源動態調度、密碼管理統一高效等特點。密碼云的基礎設施是密碼服務器集群,密碼服務器的核心是密碼模塊,向云用戶提供個性化的密碼服務。為提供高速、可靠、可擴展的密碼服務,保證密碼云數據中心的實時性和穩定性至關重要,同時易于滿足服務等級協議(Service-Level Agreement, SLA)[6]。
密碼云不僅要求密碼運算的準確性和安全性,而且要求任務處理的實時性[7]。提高云數據中心任務執行效能的有效方法之一是合理的任務調度,當前的云任務調度算法均以云任務為調度主體,采用任務流圖或啟發式算法達到期望的調度效果[8];而應用于密碼云中時,用于加解密任務數據的密鑰調用環節未被考慮在云任務調度過程當中,密鑰調用環節處理不當將會給任務調度帶來很大的障礙。例如,用戶加密傳輸大量數據信息,此時就要向密碼云發出密碼服務請求,同時向密鑰管理中心申請相關密鑰。不同密碼算法需要不同密鑰,所以當用戶提交多種類型的密碼任務時,就需要申請切換密鑰,造成了時延;如果密碼任務執行環節低效,同樣會形成較大時延。若不能最大限度減少時延,將會影響密碼服務質量和用戶體驗,甚至為攻擊者提供盜取密鑰信息的可能[7]。因此任務實時響應形成的安全效益將比系統能耗更為重要。
研究密碼云數據中心的實時任務調度問題,達到實時高效的目的,成為當前研究云環境下密碼服務的關鍵。本文提出了在密碼云數據中心內的一種資源調度模型和算法,主要工作如下:
1)提出了一種密碼云服務框架,構建了一種基于滾動窗口的密碼任務調度器模型;
2)提出了一種吞吐量閾值調度算法(Throughput Threshold Scheduling Algorithm, TTSA),配合虛擬密碼機(Virtual Cipher Machine, VCM)[9]放置、遷移和刪除策略,動態調整密碼云資源,為密碼云任務創造最優的處理環境;
3)通過仿真實驗驗證了TTSA的實時性調度效果。
本文針對涉及密鑰管理的云任務調度問題,在考慮密鑰調用的前提下,將其轉化為傳統的云任務調度問題,并建立吞吐量分析模型,提高密碼服務質量和任務調度處理效率。
密碼任務實時調度是密碼云數據中心提高效能的關鍵環節。提高密碼云數據中心的工作效能,就需要滿足用戶的客觀需求,同時還需要安全高效的密鑰調用環節來保障密碼任務完成。如圖1所示,密碼云服務架構中,密鑰的管理調用與密碼任務的實時調度相結合。下面描述密碼云服務架構:
1)用戶通過業務云管理平臺向密碼云管理平臺發起密碼任務請求,同時向密碼管理中心提交身份認證請求,獲得申請調用密鑰的權限。
2)密碼云數據中心響應密碼任務請求,同時密碼管理中心下發相應密鑰的ID,與密碼任務數據包聚合,形成“ID任務”,在密碼任務實時調度器中度量任務最早截止時間,滾動優化并按次序執行“ID任務”。
3)實時調度器根據密碼云數據中心中的密碼服務器工作狀態,創建、遷移或合并VCM,實時更新密碼服務器狀態信息。
4)虛擬密碼機(VCM)[9]指通過軟件模擬的具有完整硬件系統功能的、運行在一個完全隔離環境中的完整密碼機系統。創建成功的VCM作為密碼任務的執行實體,完成由實時調度器分配的“ID任務”。
5)待該用戶在某密碼服務器上的所有任務完成后,密碼管理中心對該密鑰進行銷毀。

圖1 密碼云服務架構
密碼云數據中心是一種專用云平臺,由密碼服務器集群組成,采用虛擬化技術將底層硬件設備虛擬化(包括CPU、內存、存儲和硬件密碼模塊),實現對硬件資源的充分利用。該密碼云數據中心可描述為密碼服務器的無限集合Hk={h1,h2,…}。用有n個元素的集合Ha表示活躍的密碼服務器,Ha∈H。任意一臺密碼服務器hk可描述為用每秒百萬條指令(Million Instructions Per Second, MIPS)定義的CPU性能、一定數量的內存、網絡帶寬。即hk={ck,rk,nk},這里ck,rk和nk分別表示第k臺服務器的CPU能力、內存和網絡帶寬。每臺密碼服務器容納一個VCM集合Sk={V1k,V2k,…,Vjk}。對于vjk,本文分別使用c(vjk)、r(vjk)和n(vjk)表示分配給該VCM的CPU能力、內存和網絡帶寬。并且根據密碼云中心的實時負載程度,多臺VCM可以在一臺密碼服務器上運行并動態地開啟和關閉;同時,VCM還能在密碼服務器集群中進行動態遷移,充分利用計算資源保證密碼任務高速完成。圖2給出了基于滾動窗口的實時調度器模型。

圖2 基于滾動窗口的實時調度器模型
1.2.1 滾動優化窗口
在傳統云任務調度策略中,一旦任務被調度,就把該任務發送到虛擬機或服務器的本地隊列中。為滿足實時條件下新到達任務與已到達未處理任務的對比調度,本文設計了滾動優化窗口,將所有待處理任務放在一個滾動優化窗口中,采用云任務調度算法不斷重復調度,如貪心算法、蟻群算法、遺傳算法和粒子群算法等;同時動態調整活躍服務器數量,以便服務商將閑置資源外租其他租戶。滾動窗口的優勢有:一是將任務和系統資源的實時信息充分利用,將動態優化問題轉化為靜態時間片局部優化問題,避免了任務調度信息考量的單一性和局限性;二是具有最早截止期屬性的任務將被優先調度,保障任務的執行時效,有利于提高任務的完成率;三是任務等待在滾動窗口中,結合系統實時狀態完成多次調度過程,有利于提高VCM的吞吐量和主機資源的利用率。
1.2.2 調度器模型
調度器模型包括滾動優化窗口、聚合模塊、實時控制器和VCM控制器等主要部件。聚合模塊將任務數據包與用戶密鑰ID編排聚合,生成帶有用戶密鑰特征的“ID任務”;滾動優化窗口容納著新到達的任務和正在等待執行的任務;當一個新任務到達時就觸發一個調度進程,把新任務和滾動優化窗口中所有的等待任務重新調度[7];實時控制器主要用于確定任務的最早截止期和系統狀態信息;VCM控制器確定VCM的實時狀態信息,以及控制VCM的創建、刪除、遷移和合并。

圖3 密碼任務執行流程
借鑒文獻[7],當用戶提交一個新任務時,調度器執行過程如下:
步驟1 聚合模塊先處理用戶任務和密鑰ID,形成具有用戶密鑰特征的“ID任務”,觸發新的調度進程。
步驟2 實時控制器負責系統狀態信息的收集,比如進行中任務的剩余執行時間、上一任務的執行總時間、活躍服務器列表、各個VCM的配置信息以及滾動優化窗口中任務的截止期和數據大小等。
步驟3 在滾動優化窗口中對待調度任務按任務最早截止期進行非降序排序,采用以最早截止期為導向的貪心算法調度優化任務分配策略。
步驟4 實時控制器確定滾動優化窗口中的等待任務是否可以預期內完成。若能預期內完成,則繼續等待調度;否則由VCM控制器增加新VCM以預期內完成任務。
步驟5 實時更新負載均衡和資源調度信息,比如滾動優化窗口中的任務隊列、執行時間和密碼服務器活躍狀態等。
步驟6 當待執行任務被調度后,將任務發送到指定VCM上。
另外,當任務量超出服務器荷載時,VCM控制器依據超載密碼服務器資源狀態信息決定是否開啟新的主機,并利用虛擬機遷移技術均衡負載,達到密碼服務可靠高效的目的。
實時控制器和VCM控制器協同工作,根據任務最早截止期動態分配密碼任務、調整密碼服務器和VCM,最大限度地減少密碼任務完成時間。
本文考慮一組隨機的獨立密碼任務集合T={t1,t2,…}。一個任務Wi由一個用戶提交,并且能夠通過一個參數集表示,也就是ti={ai,li,di,fi}。其中:ai、li、di和fi分別表示任務Wi的到達時間、長度、最早截止期和完成時間[7]。令rtjk表示在密碼服務器hk上虛擬密碼機Vjk的準備就緒時間,同樣,假設stijk為任務Wi在Vjk上的開始時間。由于VCM運算單元的異構性,假設TCTijk為任務Wi在Vjk上的執行時間:
TCTijk=li/c(vjk)
(1)
假設ftijk為任務Wi在Vjk上的完成時間,可由式(2)計算:
ftijk=stijk+TCTijk
(2)
另外,使用xijk表示密碼任務與VCM之間的映射關系,如果任務Wi分配到虛擬密碼機Vjk上,則xijk=1;否則,xijk=0。密碼任務結束時反向判斷密碼任務截止期是否得到滿足,即
(3)
任務處理效率主要由VCM配置、密碼服務器狀態、聚合速度、調度算法決定,其中以VCM配置和密碼服務器狀態為主。圖3是密碼任務的整個執行流程。
密碼任務處理效率集中體現在圖3的步驟5~步驟12,在相關密鑰已加載到對應密碼服務器的情況下將跳過步驟10和步驟11。為刻畫任務調度處理的高速性和實時性,本文設計了吞吐量閾值模型。假設本模型中的吞吐量為隨機時間段[t1,t2]內的測量值;令TCijk為任務Wi在虛擬密碼機Vjk中處理時產生的吞吐量;以TCRjk表示Vjk的有效吞吐率,即VCM處理密碼任務產生的吞吐量與VCM的總網絡吞吐量TCTijk之比。吞吐量TCijk可以根據式(4)計算:
TCijk=TCTijk*TCRjk
(4)
因此,一臺密碼服務器執行密碼任務的整體吞吐量為:

(5)
密碼服務器吞吐量的產生可分為兩種情況,服務器上所有的VCM都是空閑的和一部分VCM空閑的。當服務器上所有的VCM都空閑時,通過動態電壓頻率調節(Dynamic Voltage and Frequency Scaling,DVFS)技術將該服務器的電壓設為最低值,以便服務商將閑置資源外租其他租戶[10]。在此情況下,Vjk無密碼任務,即此時有效吞吐率TCRjk=0,那么該密碼服務器的吞吐量為:
TCallIdle=0
(6)
如果服務器上只有一部分VCM空閑,由于VCM空閑時其總網絡吞吐量很小可忽略,則可以假設空閑VCM的有效吞吐率與非空閑時的有效吞吐率一樣,也就是說,VCM的吞吐率為TCRjk,然后可得到此時的吞吐量為:



(7)

據以上分析,從式(5)~(7)中可得到綜合考慮執行時間和空閑時間時的吞吐量為:
TCI=TCexec+TCallIdle+TCpartIdle=

(8)
假設該時間段內有S個周期,在每個周期中密碼服務器Sk上的VCM個數是動態變化的。令tp表示第p個周期的時間,即密碼服務器資源信息狀態的刷新時間,然后可得到第p個周期的吞吐量:
TC=TCI/S*tp
(9)
根據以上吞吐量分析統計,可測出一臺密碼服務器在每一段刷新時間內的吞吐量。一臺密碼服務器的吞吐量越大,表明任務數據處理量越大,負載越高,資源占用率越高,數據處理效率就會降低;反之,吞吐量越小,負載越低,資源占用率越低,但性價比就會降低。服務器最大網絡帶寬通常都是有限的,或者說是固定的。因此,密碼服務器的吞吐量保持在合適的范圍內才能令服務器工作在最佳狀態下。本文選取吞吐量最佳范圍為服務器最大網絡帶寬的70%~85%[11],即吞吐量閾值,基于文獻[11]對吞吐量與網絡帶寬的比較分析以及以往的實驗經驗選取。當吞吐量比例較小時,會造成網絡資源浪費;太大時會減緩數據傳輸,影響用戶體驗。密碼服務器吞吐量保持在吞吐量閾值區間內主要是根據系統狀態動態地開啟和關閉服務器以及動態創建、刪除和遷移VCM來實現。
在本文算法中,新任務將被添加到已經傳送到新分配VCM上的任務后面。因此任務Wi在Vjk上的開始時間stijk可以計算為:
stijk=max{rtjk,ai}
(10)
其中:rtjk表示Vjk的準備就緒時間,每傳送一個新任務Wq到Vjk上就更新它。VCM新的準備就緒時間為:
rtjk=stqjk+TCTqjk
(11)
分配密碼任務到VCM的過程中,在滿足截止期的條件下,TTSA要盡可能地在吞吐量閾值范圍內增大吞吐量。該算法首先從密碼任務集合Q中選出截止期最早的任務,然后,計算密碼任務在VCM上的開始時間和執行時間。如果任務的最早截止期可以得到滿足,說明該任務是可以合理分配的,接下來計算密碼服務器的實時吞吐量,選擇吞吐量最小的密碼服務器中的VCM來執行任務。如果某些密碼服務器的吞吐量超過吞吐量閾值上限,則調用函數ScaleUpResource()增加VCM,以完成任務;如果某些密碼服務器的吞吐量低于吞吐量閾值下限,則調用函數ScaleDownResource()進行VCM遷移合并,從而達到資源合理高效利用的目的[12]。
當任務不能成功分配到現有的VCM上時,調用函數ScaleUpResource()創建新的VCM,新VCM能夠在任務截止期內完成不能繼續分配的任務。本文通過以下三個步驟確定是否創建新的VCM:
步驟1 在當前活躍服務器上直接創建新的VCM,不對其他VCM進行遷移。
步驟2 如果步驟1中不能創建新VCM,則利用虛擬機遷移技術把服務器的空閑資源匯聚集中到一臺服務器上,然后把VCM創建在該密碼服務器上。
步驟3 如果前兩個步驟都不能成功地創建VCM,則重新開啟一臺服務器,在該服務器上創建新VCM。
令st(hk)、ct(Vjk)、mt(Vjk)分別表示服務器hk的開啟時間、虛擬密碼機Vjk的創建時間和遷移時間。虛擬密碼機的遷移時間定義類似文獻[13],表示如下:
mt(Vjk)=r(Vjk)/n(Vjk)
(12)
值得注意的是,使用不同的步驟創建新的VCM,其準備就緒時間是不同的,也就是任務的開始時間stijk是不同的。
因此,當使用不同的步驟時,對應不同的任務開始時間,可表示如下:
(13)
1)首先選擇一個吞吐量盡可能接近吞吐量閾值上限,同時剩余MIPS盡可能少的服務器容納VCM,然后選擇一種能夠在任務截止期內完成任務的虛擬密碼機。
2)如果找不到這種狀態的服務器或虛擬密碼機,則把剩余MIPS最小同時吞吐量較小的VCM遷移到剩余資源相對較小的密碼服務器上。
3)當VCM遷移后,繼續檢測Vjk是否可以創建在VCM遷出的服務器上。
4)若可行,則創建VCM并檢測任務Wi能否在截止期內完成;若不存在VCM遷移,或者任務不能在截止期內完成,則開啟另一臺主機,并在其上創建VCM并檢測任務Wi能否在截止期內完成。
當密碼服務器為VCM提供的資源多余時,虛擬機在理論上可以重新調整或者合并到盡可能少的服務器上,然后關閉空閑服務器,這樣可以節省資源,使密碼云數據中心發揮更大效用。
1)如果某些密碼服務器的吞吐量小于設定的吞吐量閾值下限,則關閉這些VCM。如果之后某些服務器上不存在活躍的VCM,則關閉這些服務器。
2)令SH和DH均表示活躍服務器的集合,但SH是按吞吐量升序排列,DH中主機排序與SH相反。若集合SH中的某臺服務器上所有VCM遷移到DH中的一臺或多臺密碼服務器上,然后將遷移源主機從集合SH和DH中刪除并關閉。
3)如果源服務器上的VCM并非全部遷移,則放棄VCM的遷移。
本文將通過模擬實驗測試TTSA的性能,基于算法特征定義了三種基準算法進行比較,分別是無滾動優化的TTSA算法(Non-RH-TTSA)、無虛擬機遷移技術的TTSA算法(Non-Migration-TTSA)和無滾動無遷移的TTSA算法(Non-RH-Migration-TTSA)。這三種算法與TTSA算法的區別如下:
1)Non-RH-TTSA算法(NRTTSA):與TTSA算法的區別是沒有采用滾動優化窗口。
2)Non-Migration-TTSA算法(NMTTSA):與TTSA算法的區別是沒有采用虛擬機遷移技術。
3)Non-RH-Migration-TTSA算法(NRMTTSA):與TTSA算法的區別是滾動優化窗口和虛擬機遷移技術均沒有采用。
本文主要從以下三個指標比較以上四種算法的性能:
1)任務完成時間(Task Completion time, CT);
2)CPU占用率(CPU utility, CPU);
3)密碼服務器吞吐量(Throughput, THR)。
實驗采取Cloudsim仿真軟件模擬云計算環境[14],物理實驗平臺搭建在一臺浪潮英信服務器NF5280M4上,選用千兆網卡Intel E1G42ET和16口千兆交換機TP-LINK TL-SG1016DT,假設吞吐量閾值為網絡帶寬的70%~85%,即700 Mb/s~850 Mb/s。為體現算法在實時性方面的性能優勢,采用單一變量控制方法,分別控制任務負載數量和任務到達時間間隔,比較TTSA與三種基準算法在三種性能指標上的差異。
實驗模擬參數如表1所示,其中:
1)參數taskCount表示一輪實驗中的密碼任務數量。
2)單位時間內到達的任務數服從泊松分布,參數intervalTime表示兩個連續任務間的平均時間間隔。

表1 實驗參數
實驗參數每變化一次,開啟新一輪實驗,假設除該變化參數以外,每輪實驗初始環境相同。
在本組實驗中,為測試密碼任務數量對調度算法性能的影響,將任務數從5 000變化到30 000,從任務完成時間、CPU占用率和密碼服務器吞吐量三個指標,對比四種算法的性能。
圖4表示密碼任務數量增加時,任務完成時間的變化情況。四種算法在此情況下變化趨勢相同,呈上升趨勢,但密碼云對密碼任務處理的實時性要求較高,當密碼任務數量相同時,TTSA算法完成時間最短,相對于其他三種算法更具有優勢;此外,采用滾動窗口技術或者虛擬機遷移技術的NRTTSA算法和NMTTSA算法的任務完成時間相對于NRMTTSA算法時間更短,可以提供更好的用戶體驗,達到了實時性的效果,同時輔證了采用滾動優化技術和虛擬機遷移技術的性能優勢。

圖4 完成時間隨任務數的變化趨勢
圖5表示CPU占用率的變化情況。任務負載增加,對計算、存儲等資源的占用率勢必會升高,但在相同的負載情況下,TTSA算法結合虛擬機遷移技術將有助于服務器負載的均衡,使CPU的高計算負載得到緩解。在相同負載條件下,未采用虛擬機遷移技術的NMTTSA算法和NRMTTSA算法相對于其他兩種算法CPU占用率略高,達到30 000個任務時,CPU資源狀態顯現的劣勢較為突出。

圖5 CPU占用率隨任務數的變化趨勢
圖6表示密碼云服務器的平均吞吐量情況。在千兆網絡帶寬的條件下,TTSA算法優勢顯現。當任務數增加到25 000時,平均吞吐量達到吞吐量閾值上限,開啟新的密碼服務器,通過虛擬機遷移技術降低了每臺服務器的吞吐量,緩解了網絡資源緊張的情況;而其他兩種未采用虛擬機遷移技術的算法在負載升高的情況下,平均吞吐量并不能得到有效的緩解。

圖6 平均吞吐量隨任務數的變化趨勢
在本組實驗中,為測試連續密碼任務到達時間間隔對調度算法性能的影響,假設在密碼任務數量相同的條件下,將時間間隔從60 ms變化到300 ms,從任務完成時間、CPU占用率和密碼服務器吞吐量三個指標,對比四種算法的性能。
圖7表示連續到達任務的時間間隔增大時,任務完成時間的變化情況。在相同任務量和時間間隔的條件下,任務完成時間最短的是TTSA算法,但是在任務完成時間指標上優勢并不突出,這是由于任務完成時間與任務緊迫性(即任務截止期)息息相關。

圖7 完成時間隨任務時間間隔的變化趨勢
圖8表示CPU占用率的變化情況。隨著時間間隔的變化,CPU占用率基本保持在70%~85%,如圖8虛線所示。首先,可以看出采用TTSA算法相對于其他三種基準算法,CPU占用率較低,可有效緩解計算資源短缺的壓力;其次,NRTTSA算法相對于TTSA算法,任務調度策略由于未采用滾動優化窗口而存在劣勢。同樣,NRMTTSA算法由于未采用虛擬機遷移技術而不能較好地均衡計算資源而存在劣勢。這證實了采用NRTTSA算法、NMTTSA算法和NRMTTSA算法調度密碼任務時,造成的資源浪費。

圖8 CPU占用率隨任務時間間隔的變化趨勢
圖9表示平均吞吐量隨時間間隔的變化情況。在千兆網絡帶寬環境中,根據假設條件吞吐量閾值范圍設置為700 Mb/s~850 Mb/s。當采用TTSA算法時,平均吞吐量維持在吞吐量閾值范圍內,并隨著時間間隔的增加呈現周期性;周期性的出現源于虛擬機遷移技術的應用。如圖8所示,當時間間隔增大,處理相同的任務量時任務完成時間就會延長,導致圖9所示平均吞吐量在周期內衰減;平均吞吐量降低至吞吐量閾值下限將關閉某密碼服務器,并采用虛擬機遷移技術達到服務器間的負載均衡。其他三種算法與TTSA算法相比,存在任務完成時間相對較長的劣勢;但NMTTSA算法和NRMTTSA算法的劣勢更加明顯,由于未采用虛擬機遷移技術,導致高負載狀態下的密碼服務器不能迅速緩解運行壓力.隨著時間間隔增大,其任務處理效率降低,形成資源浪費;時間間隔較小時,任務完成時間短,CPU占用率和平均吞吐量均能保持在較好區間范圍內,始終使密碼服務器保持在良好的工作狀態,利于滿足實時性的性能需求。

圖9 平均吞吐量隨任務時間間隔的變化趨勢
本文研究了密碼云數據中心的密碼任務實時調度問題,其調度目標是在任務調度處理時效與密碼服務器吞吐量之間進行權衡。為了達到這一目標,本文提出了一種基于滾動優化的TTSA調度方法。該方法可有效提高系統靈活性,根據網絡吞吐量和系統負載情況對新到達任務和滾動窗口中的任務進行資源伸縮,保證密碼服務器良好的運行狀態。為了評估TTSA算法的性能,本文通過大量模擬實驗對其進行了測試。實驗結果表明:在系統負載的較大變化范圍內,TTSA算法與其他算法相比具有更好的性能,可以為密碼云數據中心實時任務處理提供良好的策略支撐。
下一步的研究工作主要包括三個方面:第一,將現任務調度方法改進以滿足并行滾動優化的需求;第二,尋求合理的吞吐量閾值動態量化方法,避免經驗論帶來的不足;第三,改進處理密碼任務的密鑰調用策略以滿足保密數據的高安全需求。
References)
[1] PIETRI I, SAKELLARIOU R. Mapping virtual machines onto physical machines in cloud computing: a survey[J]. ACM Computing Surveys, 2016, 49(3): 49.
[2] 趙云, 龐振江, 夏信, 等. 適用于云計算的密碼機技術研究[J]. 信息安全與通信保密, 2016(3): 103-105. (ZHAO Y, PANG Z J, XIA X, et al. Crypto technology for cloud computing[J]. Information Security and Communications Privacy, 2016(3): 103-105.)
[3] 楊維永, 劉金鎖, 屠正偉, 等. 基于密碼卡的虛擬化可信平臺設計[J]. 信息技術, 2016(1): 171-176. (YANG W Y, LIU J S, TU Z W, et al. Design of virtualization trusted platform based on HSM[J]. Information Technology, 2016(1): 171-176.)
[4] 張晏, 岑榮偉, 沈宇超, 等. 云計算環境下密碼資源池系統的應用[J]. 信息安全研究, 2016, 2(6): 558-561. (ZHANG Y, QIN R W, SHEN Y C, et al. The application of cryptography resource system in cloud computing[J]. Journal of Information Security Research, 2016, 2(6): 558-561.)
[5] 孫磊, 戴紫珊. 安全服務云框架研究[J]. 計算機應用, 2012, 32(1): 13-15. (SUN L, DAI Z S. The security service cloud framework [J]. Journal of Computer Applications, 2012, 32(1): 13-15.)
[6] BOBROFF N, KOCHUT A, BEATY K. Dynamic placement of virtual machines for managing SLA violations[C]// IM 2007: Proceedings of the 10th IFIP/IEEE International Symposium on Integrated Network Management. Piscataway, NJ: IEEE, 2007: 119-128.
[7] 陳超, 朱曉敏, 陳黃科, 等. 基于滾動優化的虛擬云中實時任務節能調度方法[J]. 軟件學報, 2015, 26(8): 2111-2123. (CHEN C, ZHU X M, CHEN H K, et al. Energy-efficient scheduling for real-time tasks by rolling-horizon optimization in virtualized clouds[J]. Journal of Software, 2015, 26(8): 2111-2123.)
[8] TANAKA M, TATEBE O. Workflow scheduling to minimize data movement using multi-constraint graph partitioning[C]// Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. Washington, DC: IEEE Computer Society, 2012: 65-72.
[9] 楊紹光, 張云勇. 一種云計算資源池系統及其實現方法: CN103581325A[P]. 2014- 02- 12. (YANG S G, ZHANG Y Y. A cloud computing resource pool system and its implementation: CN103581325A [P]. 2014- 02- 12.)
[10] GE R, FENG X, CAMERON K W. Performance-constrained distributed DVS scheduling for scientific applications on power-aware clusters[C]// SC 2005: Proceedings of the 2005 ACM/IEEE Conference on Supercomputing. New York: ACM, 2005: 34.
[11] BELAY A, PREKAS G, PRIMORAC M, et al. The IX operating system: combining low latency, high throughput, and efficiency in a protected dataplane[J]. ACM Transactions on Computer Systems, 2016, 34(4): 1-39.
[13] BELOGLAZOV A, BUYYA R. Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers[J]. Concurrency amp; Computation Practice amp; Experience, 2012, 24(13): 1397-1420.
[14] CALHEIROS R N, RANJAN R, BELOGZAOV A, et al. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms[J]. Software Practice amp; Experience, 2011, 41(1): 23-50.
Real-timetaskthresholdschedulingmethodforcryptographycloudbasedonrollingoptimization
WANG Zewu*, SUN Lei, GUO Songhui
(InformationEngineeringUniversity,ZhengzhouHenan450000,China)
Since the current cloud task scheduling algorithm in the cryptography cloud environment cannot achieve the target that tasks are processed in real-time, a real-time threshold scheduling method based on rolling optimization window was proposed. Firstly, a cryptography cloud service architecture was given by integrating the link of key calling into the process of cryptographic task; secondly, to realize real-time scheduling, a cryptographic task scheduler model based on the rolling window and a throughput analysis model which was used to obtain the real-time throughput data were established; finally, to meet the objective needs of high-speed cryptographic service for cloud tenants, a throughput threshold scheduling algorithm was proposed, which migrates virtual cipher machine in real-time according to the changes of real-time throughput relative to throughput threshold. The simulation results show that compared with the method without the rolling optimization window or virtual machine migration technology, the proposed method has characteristics of shorter task completion time and lower CPU utility, meanwhile the real-time throughput of it can be continuously kept in 70%-85% of the network bandwidth, thus verifying its effectiveness and real-time performance in the cryptography cloud environment.
cryptography cloud; task scheduling; rolling optimization; throughput; threshold
2017- 04- 20;
2017- 06- 08。
國家重點研發計劃項目(2016YFB0501900)。
王澤武(1992—),男,河南安陽人,碩士研究生,主要研究方向:云計算系統保密工程; 孫磊(1973—),男,江蘇靖江人,研究員,博士,主要研究方向:云計算基礎設施的可信增強與可信虛擬化; 郭松輝(1979—),男,四川樂山人,副研究員,博士,主要研究方向:云計算安全、虛擬化。
1001- 9081(2017)10- 2780- 07
10.11772/j.issn.1001- 9081.2017.10.2780
TP302
A
This work is partially supported by the National Key Ramp;D Plan (2016YFB0501900).
WANGZewu, born in 1992, M. S. candidate. His research interests include security engineering of cloud computing system.
SUNLei, born in 1973, Ph. D., research fellow. His research interests include trusted enhancement and trusted virtualization of cloud computing infrastructure.
GUOSonghui, born in 1979, Ph. D., associate professor. His research interests include cloud computing security, virtualization.