云计算中基于任务复制的安全性敏感工作流的调度方法

文档序号:10724717阅读:651来源:国知局
云计算中基于任务复制的安全性敏感工作流的调度方法
【专利摘要】本发明提供一种云计算中基于任务复制的安全性敏感工作流的调度方法,并命名为SOLID,其包括两个重要阶段:1)基于选择性任务复制的任务调度,2)利用任务松弛时间加密工作流中间数据。解决了目前已有的工作流调度方法往往没有考虑工作流运行过程时中间数据的安全需求,此外没有充分利用由工作流任务之间的数据依赖关系造成的资源空闲时隙。本发明弥补了以上不足,最后,使用随机产生的工作流进行模拟实验,实验结果表明本调度方法优于现有算法。
【专利说明】
云计算中基于任务复制的安全性敏感工作流的调度方法
技术领域
[0001] 本发明涉及一种云计算方法,尤其是涉及一种云计算中基于任务复制的安全性敏 感工作流的调度方法。
【背景技术】
[0002] 1、背景
[0003]云计算已成为分布式计算的新样式。在这种模式下,云供应商以即用即付费的方 式,按需为用户提供服务(例如,应用,平台和计算资源)[1]。特别是,基础设施即服务 (IaaS)模式,即平台,已成为最常用的服务模式。在这种模式下,云服务提供商管理着大规 模异构的虚拟机(VM)来处理用户的应用。另外,IaaS平台中的可用虚拟机可以动态增加和 减少。由于云计算在价格、快速伸缩等方面的优势[1,2],云计算已被应用到越来越多的领 域,如银行,电子商务,零售业和科研机构等[3]。
[0004] 虽然云计算提供了种种好处,大量潜在用户或组织对是否采用云计算仍持观望态 度[4,5]。根据调查,缺乏安全性是阻止用户采用云计算的主要原因之一 [6]。这是因为敏感 数据的泄露可能会导致组织的财产损失。更糟的是,如果这些数据极其敏感,他们的泄露将 导致不可弥补的后果[7]。因此,当部署应用到云计算平台时,提供相应的安全服务来保障 数据安全至关重要。
[0005] 在支持IaaS云平台处理应用的编程模式中,通常用有向无环图(DAG)表示的工作 流。值得注意的是,工作流的处理往往是计算密集型和数据密集型,同时伴随着大量中间数 据的产生和传输。部署工作流应用到IaaS云时,数据安全威胁主要有两个来源:云供应商和 不良用户[10]。云供应商掌握用户的数据,一些恶意的云供应商会公布这些数据,甚至卖给 别人。此外,在IaaS环境中,资源由大量用户共享,这样的共享方式,将导致用户的数据很容 易被其他不良用户窃取或篡改[9]。
[0006] 为了保障处理工作流过程中的数据安全,一种切实可行的方法是在中间数据存储 和传输之前,对其进行加密[9]。加密中间数据能够满足工作流的安全需求,但同时数据加 密必然造成一定的时间开销[10]。此外,每个中间数据都有多种安全性需求,如保密性,完 整性和认证。与此同时,每个中间数据的每一个安全要求,可以使用多种计算时间和安全强 度的加密实例。特别地,加密的时间开销会延迟等待这些中间数据的任务的开始时间,并递 归地传播到多个任务,不仅包括它们的后续任务,还包括调度在它们后面的任务及这些任 务的后续任务。很显然,为每个中间数据的每个安全要求选择一个合适的加密实例,是典型 的组合优化问题。
[0007] 2、相关工作:
[0008]在过去的二十年中,已有大量的研究来解决工作流调度问题。例如,Zhu等人扩展 NSGA-II来优化云环境中运行工作流的完工时间和成本[llLRodriguez等人提出了一种粒 子群优化算法,其目标是尽量减少工作流的执行成本,同时满足工作流执行的最后期限 [12]。另外,Talukd er等人采用差分进化算法(DE)在网格计算中工作流调度中进行完工时 间和成本之间的权衡[13]。然而,这些以随机搜索为基础的方法具有较高的时间复杂度,使 得它们很难在实际云计算平台中应用。
[0009]此外,一些启发式方法已被研究人员提出来解决工作流调度问题。这些方法大致 可分为:基于列表,聚类和任务复制的启发式算法。例如,durillo等人扩展了工作流调度算 法(HEFT),用于处理多个相互冲突的目标:最小化完工时间和成本[14] Aoutin等人提出了 一种高度可扩展和协调调度框架Appollo,从整体上考虑各种因素,以减少任务完成时间 [SLLee等人研究了资源有效利用的工作流调度问题,并提出了调度算法MER来权衡任务的 完成时间和成本[15] jbrishami等人提出了两个基于任务聚类的工作流调度算法,在满足 其截止期要求的条件下,优化了工作流的执行成本[17]。然而,上述启发式方法并没有充分 利用资源的空闲时间时隙。
[0010]此外,还有一些工作研究基于任务复制的工作流调度方法。例如,Zong等人提出了 高效节能的复制调度算法,以提高集群的性能和能源使用效率[18 ]。Choudhury等人提出 了一种基于关键任务复制的混合调度方法,在多处理器嵌入式系统中调度工作流任务 [19]。然而,在集群和嵌入式系统中,现有的基于任务重复的启发式通常忽略了数据安全问 题。
[0011]由于云计算环境中对数据安全意识的日益提高,已有一些研究提出相应方法来保 障工作流中间数据的安全。比如,Liu等人提出一个数据放置策略,在运行工作流的过程中, 动态放置中间数据[7]。如1!等人提出了基于ILP的加密实例选择策略,来保障工作流的可调 度性和中间数据的安全[10] deng等人提出一个工作流调度算法,同时考虑了中间数据的 成本和安全性约束[21]。然而,已有的安全性调度方法并没有充分利用空闲时隙来备份工 作流任务,以提前工作流任务的开始时间和工作流的完成时间。另外,这些方法几乎没有利 用任务的松弛时间来加密中间数据,以至于数据的加密时间开销严重推迟了工作流的完成 时间。
[0012] 有效的工作流调度方法和加密实例选择策略是最小化安全性敏感工作流完成时 间和成本,以及保证数据安全的有效途径。现有关于IaaS云中工作流调度的研究,要么最小 化工作流的完成时间和成本,要么试图在降低工作流的运行成本同时,满足其截止期。值得 注意的是,虚拟机上的空闲时隙是由任务之间的数据依赖关系造成的,即使是最优的调度 方法也不可避免。然而,很少有研究复制任务到这些空闲时隙,以此改善工作流的完成时间 和运行成本。此外,执行工作流产生的中间数据的安全性要求没有得到充分考虑。
[0013] 针对已有研究的局限性,我们研究如何调度工作流任务到虚拟机同时选择性地复 制任务到空闲时隙,以最小化工作流的完成时间和运行成本,同时提高虚拟机(VM)的资源 效率。此外,我们寻找利用任务的松弛时间来对工作流的中间数据进行加密,以满足工作流 的安全要求。
[0014] 参考文献:
[0015] [1]P.Mel1 and T·Grance,"The nist definition of cloud computing," National Institute of Standards and Technology,vol.53,no.6,p.50,2009.
[0016] [2]X.Zhu,L.T.Yang,H.Chen,J.Wang,S.Yin,and X.Liu,"Real-time tasks oriented energy-aware scheduling in virtualized clouds,',IEEE Transactions on Cloud Computing,vol.2,no.2,pp.168-180,2014.
[0017] [3]G.Juve,A.Chervenak,E·Deelman,S·Bharathi,G·Mehta,and K·Vahi, "Characterizing and profiling scientific workflows,''Future Generation Computer Systems,vol·29,no·3,pp·682-692,2013·
[0018] [4]C.ffang,K.Ren,and J·Wang,"Secure and practical outsourcing of linear programming in cloud computing,',in Proceedings of the 2011 INF0C0M.IEEE,2011,pp·820-828·
[0019] [5]L.Wei,H.Zhu,Z·Cao,X.Dong,W.Jia,Y.Chen,and A.V.Vasilakos,"Security and privacy for storage and computation in cloud computing,',Information Sciences,vol.258,pp.371-386,2014.
[0020] [6]C.A.Ardagna,R.Asal,E.Damiani,and Q.H.Vu,uFrom security to assurance in the cloud: A survey,',ACM Computing Surveys (CSUR), vol. 48 ,no. 1 ,p. 2, 2015.
[0021] [7]ff.Liu,S.Peng,ff.Du,ff.Wang,and G.S.Zeng,aSecurity-aware intermediate data placement strategy in scientific cloud workflows,''Knowledge and Information Systems,vol.41,no.2,pp.423-447,2014.
[0022] [8]E.Boutin,J.Ekanayake,W.Lin,B.Shi,J.Zhou,Z.Qian,M.Wu,and L.Zhou, "Apollo: scalable and coordinated scheduling for cloud-scale computing,',in Proceedings of the 11th USENIX conference on Operating Systems Design and Implementation.USENIXAssociation,2014,pp.285-300.
[0023] [9]S. Pearson and A·Benameur,"Privacy,security and trust issues arising from cloud computing,',in Proceedings of the Second International Conference on Cloud Computing Technology and Science(CloudCom)·IEEE,2010, pp·693-702·
[0024] [10]M.Qiu,L.Zhang,Z.Ming,Z.Chen,X.Qin,and L·T·Yang,"Security-aware optimization for ubiquitous computing systems with seat graph approach,', Journal of Computer and System Sciences,vol.79,no.5,pp.518-529,2013.
[0025] [11]Z.Zhu,G. Zhang ,M. Li , and X.Liu,"Evolutionary multi-objective workflow scheduling in cloud,',IEEE Transactions on Parallel and Distributed Systems,D01:10·1109/TPDS·2015·2446459·
[0026] [12]M.A.Rodriguez and R.Buyya,"Deadline based resource provisioning and scheduling algorithm for scientific workflows on clouds,',IEEE Transactions on Cloud Computing,vol.2,no.2,pp.222-235,2014.
[0027] [13]A.Talukder,M.Kirley,and R.Buyya,"Multi-objective differential evolution for scheduling workflow applications on global grids,',Concurrency and Computation:Practice and Experience,vol.21,no.13,pp.1742-1756,2009.
[0028] [14]J.J.Durillo,R.Prodan,and J.G.Barbosa,"Pareto tradeoff scheduling of workflows on federated commercial clouds ,,:,Simulation Modelling Practice and Theory,vol·58,pp·95-111,2015·
[0029] [15]Y.C ? Lee,H·Han,A·Y·Zomaya,and M.Yousif,"Resource-efficient workflow scheduling in clouds,',Knowledge-Based Systems ,vol.80,pp.153-162 , 2015.
[0030] [16]H.M.Fard,R.Prodan,and T·Fahringer,"A truthful dynamic workflow scheduling mechanism for commercial multicloud environments,',IEEE Transactions on Parallel and Distributed Systems,vol.24,no.6,pp.1203-1212, 2013.
[0031] [17]S.Abrishami,M.Naghibzadeh,and D.H.Epema,"Deadline constrained workflow scheduling algorithms for infrastructure as a service clouds,',Future Generation Computer Systems,vol.29,no.1,pp.158-169,2013.
[0032] [18]Z.Zong,A.Manzanares,X.Ruan,and X.Qin,"Ead and pebd:two energy-aware duplication scheduling algorithms for parallel tasks on homogeneous clusters,',IEEE Transactions on Computers,vol · 60,no · 3,pp · 360-374,2011 ·
[0033] [19]P.Choudhury,R. Kumar , and P.Chakrabarti,uHybrid scheduling of dynamic task graphs with selective duplication for multiprocessors under memory and time constraints,',IEEE Transactions on Parallel and Distributed Systems,vol·19,no·7,pp·967-980,2008·
[0034] [20]X. Tang,K. Li ,Z.Zeng, and B.Veeraval1i,UA novel security driven scheduling algorithm for precedence-constrained tasks in heterogeneous distributed systems,',IEEE Transactions on Computers,vol .60,no.7,pp. 1017-1029, 2011.
[0035] [21]L.Zeng,B.Veeravalli,and X.Li,uSaba:A security -aware and budget-aware workflow scheduling strategy in clouds,',Journal of Parallel and Distributed Computing,vol.75,pp.141-151,2015.
[0036] [22]M.Malawski,G.Juve,E.Deelman,and J.Nabrzyski,"Algorithms for cost-and deadline-constrained provisioning for scientific workflow ensembles in iaas clouds,',Future Generation Computer Systems,vol.48,pp. 1-18,2015.
[0037] [23]S.Kianpisheh,N.M.Charkari,and M·Kargahi,"Reliabi1ity-driven scheduling of time/cost-constrained grid workflows,''Future Generation Computer Systems,vol.55,pp.1-16,2016.
[0038] [24]T.Xie and X.Qin, ''Scheduling security-critical real-time applications on clusters,',IEEE Transactions on Computers ,vol. 55 ,no. 7 ,pp. 864-879,2006.
[0039] [25]S.K.Garg and R.Buyya,uNetworkcloudsim:Mode 11ing parallel application in cloud simulations,',in Proceeding of the Fourth IEEE International Conference on Utility and Cloud Computing(UCC). IEEE,2011, pp.105-113.
[0040] [26]S.Abrishami,M.Naghibzadeh,and D.H.Epema,"Cost-driven scheduling of grid workflows using partial critical paths,',IEEE Transactions on Parallel and Distributed Systems,vol.23,no.8,pp.1400-1414,2012.
[0041] [26]L.F.Bittencourt ,E.R.Madeira,and N.L.Da Fonseca, ''Scheduling in hybrid clouds,',IEEE Communications Magazine,vol · 50,no · 9,pp · 42-47,2012 ·
[0042] [27]R.N.Calheiros,R.Ranjan,A·Beloglazov,C·A·De Rose,and R·Buyya, "Cloudsim:a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms,',Software: Practice and Experience,vol.41,no.1,pp.23-50,2011.
[0043] [28]R.N. Calheiros and R. Buyya ,''Meeting deadlines of scientific workflows in public clouds with tasks replication ,,:,IEEE Transactions on Parallel and Distributed Systems,vol.25,no.7,pp.1787-1796,2014.
[0044] [29]https ://confluence .pegasus.isi.edu/display/pegasus/ fforkflowGenerator.

【发明内容】

[0045] 本发明提供了一种云计算中基于任务复制的安全性敏感工作流的调度方法,不同 于已有的方法,本发明利用虚拟机上现有的空闲时隙来有选择性地复制一些前驱任务,努 力减少工作流程的完成时间和成本,同时提高虚拟机的资源效率。此外,工作流任务的松弛 时间被用来加密任务的输出数据,这样保证了工作流的安全要求,同时最小化工作流的完 成时间和成本的增加。其技术方案如下所述:
[0046] -种云计算中基于任务复制的安全性敏感工作流的调度方法,包括下列步骤:
[0047] (1)初始化可用虚拟机列表,记为vmList;找到所有就绪任务并初始化,记为 readyTL;为readyTL中的每个任务赋予一个权重;
[0048] (2)调度算法SOLID采用迭代方法调度readyTL中的就绪任务,每一次迭代, readyTL中权重最大的就绪任务将被函数ScheduleTaskByDuplication()调度到相应的虚 拟机,所述函数ScheduleTaskByDuplicationO首先用于保证就绪任务在其最晚完成时间 前完成,且最小化运行成本;其次,最小化任务的完成时间而不考虑运行成本;当一个就绪 任务被调度后,其部分或全部后续任务将变为就绪任务,同时调度方法SOLID找出刚变为就 绪的任务,赋予权重,并添加到中readyTL;
[0049] (3)当所有的工作流任务被调度到虚拟机后,调度方法SOL ID调用函数 EncryptDataO对工作流的中间数据进行加密,所述函数EncryptDataO为每个中间数据的 每个安全服务选择合适的加密实例,来满足工作流的数据安全需求;
[0050] (4)函数EncryptData()在每一次迭代中,利用任务的松弛时间来加密工作流的中 间数据,来逐步增强数据的安全性。
[0051 ]进一步的,步骤(1)中,任务权重的计算如下:
[0053]其中,precKtO表示任务的前驱任务集合,r(p)表示分配给任务的虚拟机的索引, ftP,r(P)表示任务如在虚拟机上的完成时间,mttp表示任务之间的最大数据传输时 间;met表示任务的最大运行时间,precKt)! = Φ表示该就绪任务。的前驱任务为非空。
[0054] 进一步的,步骤(2)中,函数ScheduleTaskByDuplication()包括下列步骤:
[0055] 1)选择一台虚拟机,该虚拟机能够在任务^的最晚完成时间前完成该任务,或者 该虚拟机能最早完成该任务;
[0056] 2)如果步骤1)中,没有找到能够在任务ti的最晚完成时间内完成该任务的虚拟 机,那么,判断不断复制任务h的瓶颈前驱任务到虚拟机vm;' (々 = 1,2,…,η),是否能够在 任务最晚完成时间内完成任务ti或者更早完成任务ti;如果成立,那么选择该台虚拟机;
[0057] 3)如果步骤2)中,没有虚拟机能够在任务U最晚完成时间之前完成任务U,函数 ScaleUpVM()将被调用,来判断增加一台新虚拟机是否能够更早完成任务ti或者在任务最 晚完成时间内完成任务ti;如果成立,则增加一台新虚拟机;
[0058] 4)根据任务复制计划,任务^的部分或全部前驱任务将被复制到选择出来的虚拟 机vm;·上,然后将任务t分配到该虚拟机。
[0059] 进一步的,所述函数ScaleUpVmO包括下列步骤:
[0060] 1)选择一个虚拟机类型s*,该类型的虚拟机要么在任务ti最迟完成时间内以最小 的费用完成任务^,要么使得任务^有最早完成时间;
[0061] 2)如果选出一个合适的虚拟机类型,该函数将租用一台该类型的新虚拟机,并将 新虚拟机添加到虚拟机列表。
[0062] 进一步的,步骤(3)中,函数EncryptDataO包括下列步骤:
[0063] 1)首先对每类安全服务的加密实例按照安全强度进行非递减排序;
[0064] 2)然后对于每一个中间数据,选择权重最大的安全服务需求,并分配最低安全强 度的加密实例给该数据;
[0065] 3)在以上加密实例无法满足工作流的整体安全需求时,逐步提高每个数据的每个 安全服务需求的加密实例安全强度,直到满足工作流的整体安全需求。
[0066] 其中,所述瓶颈前驱任务bptUO是指在任务t的前驱任务中,数据到达任务^最 晚的前驱任务,
,所述precKtd表示任务的前驱任务集 合,ftP,r(P)表示任务知在虚拟机上的完成时间,ttP>1表示任务、与^之间的数据传输 时间。
[0067]进一步的,将任务^的瓶颈前驱任务bptUd复制到任务^所在的虚拟机上,需要 在该虚拟机上找出一个合适的空闲时隙,在虚拟机的任务队列中寻找能放置任务bpt (ti) 的最早空闲时隙,同时保证任务间的约束关系。
[0068]进一步的,步骤(4)中,所述任务ti的松弛时间h如下所示:
[0070]其中,succ(ti)表不任务ti的直接后续任务集和)表;^任务t s的开 始时间和完成时间;tt1>s表示任务。与任务ts之间的通信时间;succUOlzci)表示任务非 空,表示任务^的开始时间,ta表示刚好排在任务U后面的任务。
[0071]本发明有如下优点:
[0072] (1)提出两个定理来分析通过有选择地复制部分前驱任务来最小化工作流任务的 开始时间;定义了工作流任务的最晚完成时间,并提出另一个定理,来分析工作流任务的 完成可以延迟到它的最晚完成时间,以减少费用,同时避免延迟它们的后续任务和工作流 的完成时间。
[0073] (2)在以上定理的基础上,设计了一个基于有选择地复制任务的调度算法SOLID, 来最小化工作流在云计算中的完成时间和运行成本,同时提高虚拟机的使用效率。
[0074] (3)提出一个中间数据加密策略,并集成到SOLID中,来挖掘任务的松弛时间,对工 作流中间数据进行加密,以保证工作流的安全要求,同时最小化完成时间和成本的增加。
【附图说明】
[0075]图1是云计算平台实例;
[0076]图2是带中间数据的工作流实例;
[0077]图3a、图3b、图3c、图3d分别表示调度方法的整体流程图的一部分,各部分的连线 采用对应的大写字母A、B、C、D、E、F进行连接;
[0078]图4a是工作流的安全需求对其运行费用的影响图;
[0079]图4b是标准化完工时间的比较图;
[0080]图4c是关于虚拟机的资源利用率的示意图。
【具体实施方式】
[0081 ] 3、模型和问题描述
[0082]在这一部分中,本发明依次给出IaaS云计算、工作流、数据安全性模型。在以上模 型的基础上,描述工作流的调度模型,同时考虑应用的安全性要求。
[0083] 3.1模型
[0084] 3.1.1 IaaS云计算平台
[0085] 类似于文献[16,17,22],本发明关注基础设施即服务(IaaS)云平台,如图1所示。 整个架构中,调度器将用户与IaaS平台关联起来。最顶层是用户,动态地向调度器提交工作 流,而最底层是IaaS平台,为用户按需提供虚拟机(VM)。调度器是IaaS平台中的关键部件, 负责调度工作流任务和为中间数据选择加密实例。本发明研究IaaS中调度器的相关规则。 [00 86] IaaS云计算平台提供多种类型的虚拟机,记为S= {si,S2,···,Sm} [11]。不同类型虚 拟机的配置差异主要体现在:不同的处理器性能、内存、存储、网络和操作系统。每一个811都 有一个与它相关的价格Price(s u)。虚拟机的使用时间以小时为单位,不够一个小时的那部 分时间按照一个小时来计费。比如,虚拟机使用了5.1个小时,计使用了6个小时。我们使用 符号胃^表示云计算平台中的第k台虚拟机,且该虚拟机的类型为s u。
[0087] 虚拟机之间的通信链路使用两个ηΧη矩阵bwnXn和nlnXn来表示,其中η表示可使用 虚拟机的数量;bwk,k,和nlk,k,分别表示虚拟机和VW;"之间的网络带宽和延迟[23]。
[0088] 3.1.2安全性敏感的工作流模型
[0089]本发明中,有向无环图(DAG)模型用来支持安全性敏感工作流,表示为:W={T,D, Ε,θ},其中,T={ti,t2,···,tn}表示工作流W中的任务集合;D= {di,d2,···,dn}表示中间数据 集合,且cU对应任务^的输出数据;另外,sizdcU)表示ck的数据量。五 ΕΓχ Γ是边的集合, 如果任务^与任务k之间存在依赖关系,那么有向边叫=(tk) GΕ就存在;t是任务tj的 直接前驱,而k是任务U的直接后继。符号precKtO表示任务^所有直接前驱组成的集合, 符号succUO表示任务^所有直接后继组成的集合。Θ表示工作流的安全需求。Θ取值在〇到1 之间,根据用户数据的敏感程度来定义,最低安全性要求为〇,最高为1。
[0090] 图2显示了一个由5个任务组成的工作流实例图。DAG图的顶点对应任务表示为圆 形,而每个任务的输出数据使用矩形表示。从数据到任务的有向边表示任务间的数据依赖 关系。
[0091] 3.1.3数据安全性模型
[0092]在云环境中,数据的篡改、窥探和欺骗是三种常见的攻击,那么三个对应的安全服 务需求是:保密性、完整和认证。因此,我们使用下面的定义来表示工作流任务输出数据的 安全服务需求。
[0093]定义1.任务"输出数据土的安全服务需求可表示为一个三元组:
[0094] sri = {sr,,sriis,srias},其中sr,、srilPsr^分别表示数据di的保密服务(cs) 需求,诚信服务(is)需求和认证服务(as)需求。
[0095] 每个安全服务需求都有多个加密实例选择。保密服务需求,诚信服务需求,与认证 服务需求的加密实例分别表示为'产=,…,d; s)},《'w = {?^?'···,£^(?Κ)}。下标N( j),je {cs,is,as}表示第j种服务需求的加密实例的 数量。
[0096] 为了优化工作流的安全服务,需要定量衡量不同的加密实例的安全强度和计算开 销。一个加密实例《·/ e 丨似:,可以被建模为 ri/ = 丨,其 中1表示加密实例的索引;s^(ea/)和co(ca/)分别表示的安全强度和计算开销。对于这些加 密实例,他们的安全强度归一化到〇到1的范围。
[0097] 3.2问题描述
[0098] 参数用来表示数据cU的第_]_£{(^48,&8}类安全需求与加密实例的映射关系 :
[0100]由于中间数据的每类安全服务需求只能用一个加密实例,它涉及到以下约束:
[0102] 其中,D表示所有任务产生中间数据的集合;|D|表示集合中元素的数量;
[0103] 对于一个给定的中间数据di,其第je {cs,is,as}类安全服务的计算时间开销为:
[0105] 其中,1表示加密实例的索引;N( j)表示第j类加密实例的数量;co(a//_)表示第j类 第1个加密实例的时间开销;Size(cU)表示数据cU的大小;^^表示数据cU与加密实例之间的 关系,见公式(1)。
[0106] 因此,中间数据cU的安全开销可以表示为:
[0108] 定义2.分配给任务^的虚拟机的索引定义为HtO。比如,如果工作流W中的任务t2 被调度到虚拟机v/;f上,那么r(t2) = 8。
[0109] 由于工作流中任务之间的前后约束关系,一个任务只有接收到所有前驱任务的数 据才能开始运行。因此,有以下约束:
[0111]其中,precKtO表示任务的前驱任务集合;/&r(v表示任务知在虚拟机·上完 成时间;CO(p)表示数据的加密开销;ttP>1表示任务4与。之间的数据传输时间;托>(0表示 任务"在虚拟机的开始时间。
[0112]类似于文献[23,25],从任务知到。的数据传输时间《[),1计算如下 :
[0114] 其中示网络延迟;w(eP>1)表示需要传输的数据量;⑴表示虚拟 机之间的带宽;r(tP)和Γ(ω分别表示任务tP和任务^映射的虚拟机的索引。
[0115] 对于一个给定数据di,其第j e {CS, is,as}类安全服务的安全强度可计算为:
[0117]数据cU的安全强度计算为:
[0119]其中,w/表示数据cU第类j安全需求的权重,=1, eD。
[0120]因此,工作流W的整体安全强度的(sec(W))为:
[0122] 其中,表示数据cU与加密实例之间的关系,见公式(1)。
[0123] 为了满足一个工作流的安全需求,我们有以下约束:
[0124] Sec(W)彡Θ (10)
[0125] 满足约束条件(2)、(5)和(10),本发明主要的优化目标是最小化工作流W的完成时 间。完成时间是整个工作流中最后完成任务的完成时间[26],如下式所示:
[0127]除了完成时间,成本是云服务的另一个重要指标,有利于提高云服务提供商的竞 争力和吸引力。因此,本发明最大限度地减少用于执行工作流的成本,描述如下:
[0129] 其中,|VM|表示运行工作流集合的虚拟机数量;tpk是虚拟机的工作周期。
[0130] 此外,在IaaS云中执行工作流,追求可用资源的有效利用是一项具有挑战性的问 题。本发明的另一个目标是最大化虚拟机的平均资源利用率。这一优化目标可以写成:
[0132] 其中,wtk和ttk分别表示虚拟机在运行工作流W过程中的工作时间和总活跃时间 (包括工作和空闲时间)。
[0133] 4算法设计
[0134] 一般情况下,工作流调度是NP-完全问题[11,27 ]。因为很难在多项式时间内找出 最优解,本发明提出了一个启发式调度算法,以提供近似最优解。
[0135] 4.1准备工作
[0136] 为了方便分析,首先给出以下前提:
[0137] -个虚拟机在一个时间点只运行一个任务;
[0138] 虚拟机的开始工作时间是在这个虚拟机上的第一个任务开始接收数据的时间;一 个虚拟机的结束工作时间是所有任务完成数据传输的最大时间;
[0139] 假如虚拟机可用且一个任务的所有的前驱已经完成,就立即执行该任务;
[0140] 对于每一个虚拟机,计算和通信可以同时发生;
[0141] 对于每一个中间数据,每个安全服务需求只能通过一个加密实例来实现。
[0142] 因为分配到同一个虚拟机的任务之间的通信时间可以忽略不计,可以得到下面两 个定理,即定理1和2,以方便4.2节中的算法设计。
[0143] 定理1.如果任务。只有一个前驱任务,即| precKtO | = 1,同时假设其唯一的前驱 任务为tp,即pred(ti) = {tp},将任务ti紧跟任务tp放置在同一台虚拟机上,任务ti的开始时 间吒,U,)最早,即爲,⑷=爲,?.) 0
[0144] 证明:由于任务^只有接收到任务4的数据,才开始运行,那么任务U的开始时间 满足吒k/kHy +?&,·。如果将任务t紧跟着任务如放置在同一台虚拟机上,任务之间 的传输时间为〇,即ttP>1 = 0,那么叫⑴得到最小化,即 ~ ftp,r{tp) 〇
[0145] 定理2.假设pred(ti) = {ti,t2,…,tk}且fti+tti,i彡ft2+tt2,i,…,ftk+ttk,i,任务ti 的最早完成时间.
.,其中k为任务ti的前驱任务 数量,g卩k= I pred( ti) I ; f ti,1彡1彡k表示任务的完成时间;i,1彡1彡k表示任务乜与任 务乜之间的数据传输时间;表示任务集合{^山,…^}中所有任务完成时间的 和,即./KU',: 4) = Σ'片馬。
[0146]
其中k为任务h的前驱任务 数量,BPk= |pred(ti) | 〇

?
[0160]因此,任务U的最小开始时间为:
[0161]上述两个定理表明调度任务U到它前驱任务所在的虚拟机,或者复制任务^的部 分或全部前驱任务到任务t分配的虚拟机,能够提前任务^的开始时间。
[0162] 定义3.如果一个任务^没有调度到任何虚拟机,定义其开始时间砷⑴和完成时 间爲,咐)都为0。
[0163] 根据定义3,每个任务"的最迟完成时间lftH+算如下:
[0165] 定理3.假设succUD为任务扒的后续任务集。如果任务扒的完成时间凡叫满足 /(? <仿'/,那么任务^的完成不会延误其后续任务的开始。
[0166]
,那么任务W的开始时间满
。任务ti的完成时间(,1:)
表明由任务U产生数据的到达时间没有延误其所有后续任务的开始。因此,定理3得证。
[0167] 定理3表明,不是所有的工作流任务都需要尽快完成。因此,在确保工作流最迟完 成时间的前提下,将其调度到成本最小的虚拟机上,以最小化完成时间和成本。
[0168]
[0169] 4.2基于任务复制的工作流调度
[0170] 在本节中,提出了一个基于任务复制的安全性敏感工作流调度算法,命名为 SOLID。具体来说SOLID最小化工作流的完成时间和成本,同时满足工作流的数据安全需求。 图4给出了算法SOLID调度工作流的流程图。
[0171 ]定义4.就绪任务:如果一个任务没有任何前驱任务,即= 0 ,或其所有前 驱任务都已经被调度到虚拟机上,则该任务为就绪任务。
[0172]在算法SOLID中,就绪任务根据其权重大小按顺序被调度到虚拟机上,对于任务 ti,其权重rank(ti)的计算如下:
[0174] 其中,precKu)表示任务^的前驱任务集合,r(p)表示分配给任务的虚拟机的索 弓l,ftP, r(P)表示任务知的完成时间,mttw表示任务之间的最大数据传输时间,!11的1表示任务 的最大运行时间。
[0175] 定义5.任务ti在虚拟机vwf上的期望成本定义如下:
[0176] pctl ^Price(vm:')x(ftu -at,) (16)
[0177] 其中,atk表示虚拟机完成最后一个任务的时间。
[0178] 定义6.瓶颈前驱任务bptUO:任务U的前驱任务中,数据到达任务^最晚的前驱 任务定义为该任务的瓶颈前驱任务,
[0179] 为了将任务^的瓶颈前驱任务bptUO复制到任务^所在的虚拟机上,需要在该虚 拟机上找出一个合适的空闲时隙。本方明的方法是在虚拟机的任务队列中寻找能放置任务 bptUO的最早空闲时隙,同时保证任务间的约束关系。以下定义给出了一个合适的时间空 隙。
[0180] 定义7.假设任务U是一个瓶颈前驱任务,其在虚拟机vmf上的运行时间为etb,k, 调度到虚拟机vmf上的m个任务表示为私^灰,…,其中碎M 。如果虚 拟机上存在时间间隙满足条件(17),称任务与任务之间的时间间隙适合tb。
[0182] 另外,虚拟机上满足条件(17)的最早时间间隙记为slot (tb)。
[0183] 定义8.任务ti的松弛li时间定义如下:
[0185] 其中,succUD表示任务扒的直接后续任务集合;辑婦和爲,啦)表示任务'的开 始时间和完成时间;tt1>s表示任务^与任务ts之间的通信时间;ta表示刚好排在任务t后面 的任务。
[0186] 图3a_图3d是本发明总体流程图,具体包括:
[0187] 第一步,初始化:初始化虚拟机列表vmList为系统中可用的虚拟机;找出所有没有 前驱的任务,初始化就绪任务集合readyTL;为每个就绪任务赋予权重;
[0188] 第二步,判断就绪任务集合readyTL是否为空,如果为空,转第八步;否则,取出权 重最大的就绪任务(记为,并计算任务^的最晚完成时间lft,然后执行第三步。
[0189]第三步,将任务分配到已经开启的虚拟机上,方法是:
[0190] 3.1将任务ti与中每个虚拟机VWp逐一配对,并计算由此产生的每对任务-虚拟机 的任务的完成时间fti,k和费用pci,k;其中pci,k的定义见定义5。3.2从3.1的计算结果中,选 出满足fti, k彡lfti,且最小pci,k的虚拟机vm/ ;
[0191] 3.3如果3.2能选出虚拟机,则将任务U分配到WWp虚拟机上,转到第七步;否则, 转到第四步;
[0192] 第四步,初始化虚拟机k的索引为k = 0;选择的虚拟机selVM为空;η为可用虚拟机 的数量;最小完成时间minFT为minFT-0;转第五步;
[0193] 第五步,通过任务复制,将任务ti分配到可用虚拟机上,如图3中黑实线框包含部 分,方法是:
[0194] 5.1判断k>=n是否成立,如果成立,则转第六步;否则执行5.2步;
[0195] 5.2如果任务。的瓶颈前驱任务&?〖(1)不在虚拟机'^/<上,则执行5.3步 ;否则, 更新k为k = k+l,转5.1步;
[0196] 5.3判断虚拟机是否存在可以容纳任务bpt (ti)的空闲时间槽,如果存在,则 计算复制任务&?〖(〖1)到该时间槽后,任务〖1在虚拟机胃^上的完成时间代 1,1{,然后转5.4 步;否则,更新k为k = k+Ι,转5.1步;
[0197] 5.4如果任务。的完成时间代^不大于它的最晚完成时间1&(即,沉,<1€。), 则复制任务t的所有瓶颈前驱任务到虚拟机胃^的对应空闲时间槽上,然后将任务 tl分配 到虚拟机vm〗'接着转到第七步;否则,转5.5步;
[0198] 5.5如果任务。的完成时间代〇小于最小完成时间1^1^1'(即,代〇<11^1^1'),则更 新选择的虚拟机为^-胃^,和最小完成时间为minFT-fti,k;然后转第5.2步;
[0199] 第六步,将任务分配到新增加的虚拟机上,如图3中细虚线框包含部分,方法如下:
[0200] 6.1初始化虚拟机类型的索引u为u = 0 ;m为虚拟机的类型总量;选出的虚拟机类型 氺-1 ;
[0201] 6.2如果11大于或者等于111(即,11>=1]1),则转6.3步;否则,计算任务1^在类型为811的 新虚拟机上的完成时间f ti,k,然后转6.4步;
[0202] 6.3如果1!*>-1,则新增一台类型为^的虚拟机1'/<,并将任务。分配到该新虚拟 机vm丨 v上;同时将该新虚拟机加入到可用虚拟机列表vmList中,8卩wtiisi e wniisi υ vmf1:; 然后转第七步;
[0203] 6.4如果任务。的完成时间代^大于其最晚完成时间1&(即,&,1{>1&),则转 6.5步;否则,新增一台类型为&的虚拟机vmf,并将任务^分配到该新虚拟机上;同时 将该新虚拟机加入到可用虚拟机列表vmList中,即vwlis'i <- ·,然后转第 七步;
[0204] 6.5如果任务。的完成时间代〇小于最小完成时间1^1^1'(即,代〇<11^1^1'),则更 新选出的虚拟机类型11*为11*-11,任务的最小完成时间111;[1^1'为111;[1^1'-;^,1<,然后转第6.6 步;否贝1J,直接转6.6步;
[0205] 6 · 6更新虚拟机类型u为u-u+1,然后转6 · 2步;
[0206] 第七步,找出新的就绪任务,并将这些任务加入到readyTL,方法如下:
[0207] 7.1初始化任务1后续任务的索引sSs = 0;S为任务U后续任务的数量,即S = succ(ti)I;
[0208] 7.2如果s<S,则找出任务ti的第s个后续任务,转7.3;否则,转第二步;
[0209] 7.3如果任务1^的第8个后续任务1:3变为就绪,则将1:3其加入到^3(1711,即^3(1711 -readyTL U ts,然后转7 · 2步;
[0210]第八步,对工作流的中间数据进行加密,如图3中粗虚线框包含部分,方法如:
[0211] 8.1对每类安全服务的加密实例按照安全强度进行一个非递减的排序,即 d.' = {d/,dp _ -,d:e {c's',/.s' },其中叫
[0212] 8.2对于每一个中间数据,选择的权重最大的安全服务需求,并分配最低安全强度 的加密实例给该数据,方法如下:
[0213]8.2.1初始化数据的索引1为1-0;1为数据集合的元素数量1-|〇|,其中0为所有 中间数据构成的集合;
[0214] 8.2.2如果i < I,则找出数据di权重最大的安全服务需求j*, 转8.2.3步;否则,转8.3步;
[0215] 8.2.3使用加密实例cf来保障数据cU的第j*类安全服务需求;
[0216] 8.2.4对于数据的其他两类安全服务需求(8卩,」£{(^48,^}\{,}),使用虚拟机 的加密实例其中虚拟机加密实例满足.s\y(c?) = 0和) = 0 :
[0217] 8 · 2 · 5更新i为i-i+l;转8 · 2 · 2步;
[0218] 8.3逐步提高工作流的整体安全强度,方法如下:
[0219] 8.3.1如果工作流的整体安全强度Sec (W)大于规定值Θ (即,Sec (W) > Θ ),转到第九 步;否则,转到8.3.2步;
[0220] 8.3.2选择数据cU*的第j*类安全服务需求,如果满足条件:
[0222] 其中,1和1'=!^11{1+1,叫」)}都表示加密实例的索引;/^表示加密的时间开销。
[0223] 8.3.3更新数据di*的第j*类安全服务需求的加密实例为第Γ个,转到8.3.1步;
[0224] 第九步,结束。
[0225] 5性能分析
[0226] 在本节中,我们通过实验来评估所提出的SOLID算法。为了验证SOLID的性能的优 劣,我们定量地将SOLID与一个基准算法进行比较,即SOLID-Random(SOLID-R)。此外还将 SOLID与现有算法EFT-MER[ 15 ]进行比较。算法EFT-MER没有考虑工作流的安全需求,为了使 比较公平,将两个不同的加密策略集成到EFT-MER中形成两变种,即EFT-MER with Exploring Laxity Time(EFT-MER-EL)和EFT-MER with Random encryption strategy (EFT-MER-R)〇
[0227] 5.1实验及参数设置
[0228] 在实验中,采用亚马逊AWS EC2的相关参数来模拟云环境。实验中考虑了6个经典 的虚拟机类型,如表1所示[11],[29]。计费周期为60分钟。每类虚拟机的数量是无限的。虚 拟机之间的平均带宽设定为10Mbps和30Mbps之间的随机数。
[0229] 表1虚拟机的配置参数
[0231] 本发明采用类似于文献[20]的方法,随机生成工作流测试集。
[0232] 在实验中,每一个中间数据需要3种类型的安全服务,即完整性服务,保密服务和 认证服务。前2个安全服务有6个加密实例,第3个安全服务有3个加密实例。这些安全实例的 安全强度和计算开销如表2所示[7]、[ 10]、[24]。
[0233] 表2 3类加密实例的参数
[0234]
[0235] 在实验中,对于每组参数,每一个算法独立运行50次,所绘制的实验结果为所有实 验结果的平均值。
[0236] 5.2安全需求对性能的影响
[0237] 为了检查工作流的安全性需求对算法性能的影响,以步长为0.05将安全需求的等 级从0.75增加到0.9,同时工作流的任务数、CCR和平行因子分别设定为1500,2.0和1.0。图4 中给出了实验结果。
[0238] 图4 (a)显示,对于标准完工时间,SOLID分别优于S0LID-R,EFT-MER,EFT-MER-EL和 EFT-MER-R的比例为2.13%、12.66%、17.63%和20.11%。这可由以下两点原因解释。首先, SOLID利用空闲时隙来有选择性地复制一些前驱任务,努力减少工作流任务的开始时间,因 此SOLID比S0LID-R,EFT-MER,EFT-MER-EL和EFT-MER-R具有较低的标准完工时间。其次, SOLID利用了空闲时隙来加密中间数据,因此SOLID比S0LID-R具有更好的性能。
[0239] 图4(b)显示,这5种算法的成本随安全要求的增加略有增加。这是由于更高的安全 要求需要更高的安全开销。此外,SOLID平均比S0LID-R,EFT-MER,EFT-MER-EL和EFT-MER-R 花费的成本少9.61 %、31.67%、36.57%和39.78%。这可以以下两点原因进行解释。首先, 算法SOLID在保证任务最迟完成时间的同时,将任务调度到成本最小的虚拟机上。然后,在 数据加密阶段,SOLID充分利用工作流任务的松弛时间来对中间数据进行加密,以尽可能少 地延迟后续任务,这也意味着虚拟机工作时间的增加最小。
[0240]图4(c)展示了关于虚拟机的资源利用率的实验结果。随着安全需求的增加 ,SOLID 和S0LID-R性能出现下降的趋势,而EFT-MER,EFT-MER-EL和EFT-MER-R的性能相对稳定。这 是因为SOLID和S0LID-R通过复制任务对虚拟机的空闲时隙已经压缩到了极限,提高工作流 的安全需求意味着更高的加密时间开销,因此更容易延迟一些任务的开始,以扩大虚拟机 的空闲时隙。然而,其他3个算法产生的空闲时隙较大,加密的时间开销有利于压缩这些空 闲时隙。值得注意的是,SOL ID的资源利用率仍比SOL ID-R,EFT-MER,EFT-MER-EL和EFT-MER-R高8.45 %,35.41 %,34.30%和34.69%。这是因为SOLID选择性重复工作流任务的空闲时 隙上的虚拟机,从而减少闲置的虚拟机资源。
【主权项】
1. 一种云计算中基于任务复制的安全性敏感工作流的调度方法,包括下列步骤: (1) 初始化可用虚拟机列表,记为vmLi St;找到所有就绪任务并初始化,记为readyTL 为readyTL中的每个任务赋予一个权重; (2) 调度算法SOLID采用迭代方法调度read^L中的就绪任务,每一次迭代,ready化中 权重最大的就绪任务将被函数5。116(111161'曰31^37〇啡1;[。曰1:;[〇]1()调度到相应的虚拟机,所述 函数5。116(111161'曰31^37〇啡1;[。曰1:;[〇]1()首先用于保证就绪任务在其最晚完成时间前完成,且 最小化运行成本;其次,最小化任务的完成时间而不考虑运行成本;当一个就绪任务被调度 后,其部分或全部后续任务将变为就绪任务,同时调度方法SOLID找出刚变为就绪的任务, 赋予权重,并添加到中read^L (3) 当所有的工作流任务被调度到虚拟机后,调度方法SOLID调用函数EncryptData() 对工作流的中间数据进行加密,所述函数EncryptData()为每个中间数据的每个安全服务 选择合适的加密实例,来满足工作流的数据安全需求; (4) 函数EncryptData()在每一次迭代中,利用任务的松弛时间来加密工作流的中间数 据,来逐步增强数据的安全性。2. 根据权利要求1所述的云计算中基于任务复制的安全性敏感工作流的调度方法,其 特征在于:步骤(1)中,任务权重的计算如下:其中,pred(ti)表示任务的前驱任务集合,r(p)表示分配给任务的虚拟机的索引, ftp,r(p)表示任务tp在虚拟机上的完成时间,表示任务之间的最大数据传输时 间;meti表示任务的最大运行时间,pred(ti)! = Φ表示该就绪任务ti的前驱任务为非空。3. 根据权利要求1所述的云计算中基于任务复制的安全性敏感工作流的调度方法,其 特征在于:步骤(2)中,函数5油6山1161'曰31^37〇1191;[〇曰1:;[〇]1〇包括下列步骤: 1) 选择一台虚拟机,该虚拟机能够在任务ti的最晚完成时间前完成该任务,或者该虚拟 机能最早完成该任务; 2) 如果步骤1)中,没有找到能够在任务ti的最晚完成时间内完成该任务的虚拟机,那 么,判断不断复制任务ti的瓶颈前驱任务到虚拟机W皆化=1,2,…,η),是否能够在任务最 晚完成时间内完成任务ti或者更早完成任务ti;如果成立,那么选择该台虚拟机; 3) 如果步骤2)中,没有虚拟机能够在任务ti最晚完成时间之前完成任务ti,函数 Scale化VMO将被调用,来判断增加一台新虚拟机是否能够更早完成任务ti或者在任务最 晚完成时间内完成任务ti;如果成立,则增加一台新虚拟机; 4) 根据任务复制计划,任务ti的部分或全部前驱任务将被复制到选择出来的虚拟机 vwf上,然后将任务ti分配到该虚拟机。4. 根据权利要求3所述的云计算中基于任务复制的安全性敏感工作流的调度方法,其 特征在于:所述函数Scale化Vm〇包括下列步骤: 1)选择一个虚拟机类型S*,该类型的虚拟机要么在任务ti最迟完成时间内W最小的费 用完成任务ti,要么使得任务ti有最早完成时间; 2)如果选出一个合适的虚拟机类型,该函数将租用一台该类型的新虚拟机,并将新虚 拟机添加到虚拟机列表。5. 根据权利要求1所述的云计算中基于任务复制的安全性敏感工作流的调度方法,其 特征在于:步骤(3)中,函数化cryptData()包括下列步骤: 1) 首先对每类安全服务的加密实例按照安全强度进行非递减排序; 2) 然后对于每一个中间数据,选择权重最大的安全服务需求,并分配最低安全强度的 加密实例给该数据; 3) 在W上加密实例无法满足工作流的整体安全需求时,逐步提高每个数据的每个安全 服务需求的加密实例安全强度,直到满足工作流的整体安全需求。6. 根据权利要求3所述的云计算中基于任务复制的安全性敏感工作流的调度方法,其 特征在于:所述瓶颈前驱任务bpt(ti)是指在任务ti的前驱任务中,数据到达任务ti最晚的 前驱任务,目[所述pred(ti)表示任务的前驱任务集合, ftp,r(p)表示任务tp在虚拟机W诗W上的完成时间,ttp,i表示任务tp与ti之间的数据传输时 间。7. 根据权利要求6所述的云计算中基于任务复制的安全性敏感工作流的调度方法,其 特征在于:将任务ti的瓶颈前驱任务bpt(ti)复制到任务ti所在的虚拟机上,需要在该虚拟 机上找出一个合适的空闲时隙,在虚拟机的任务队列中寻找能放置任务bpt(ti)的最早空 闲时隙,同时保证任务间的约束关系。8. 根据权利要求3所述的云计算中基于任务复制的安全性敏感工作流的调度方法,其 特征在于:步骤(4)中,所述任务ti的松弛时间h如下所示:其中,SUCC ( ti )表示任务ti的直接后续任务集合化.)和表示任务ts的开始时 间和完成时间;tti,s表示任务ti与任务ts之间的通信时间;SUCC(ti)!=(l)表示任务非空, 表示任务心的开始时间,ta表示刚好排在任务ti后面的任务。
【文档编号】G06F9/50GK106095584SQ201610439875
【公开日】2016年11月9日
【申请日】2016年6月20日
【发明人】朱晓敏, 陈黄科, 邱涤珊
【申请人】中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1