云环境下改进SOS的多目标任务调度算法
2022-05-23江芝蒙
陈 艺,江芝蒙,张 渝
(1.四川文理学院 智能制造学院,四川 达州 635000;2.四川文理学院 信息化建设与服务中心, 四川 达州 635000;3.西南大学 计算机与信息科学学院,重庆 400715)
0 引 言
分布式计算是当前信息技术领域最具影响力的发展方向,将并行的思想和技术连接起来,为个人计算机和其它机器提供资源、设备、软件和数据等内容的实时共享[1]。但云计算普遍都面临安全问题,在云设置中存在巨大挑战,尽管该领域已有部分研究,但任务规划仍然有较大改善空间[2]。
任务规划算法效率的提高有助于提升系统的整体效率,以便提供更好的服务质量。任务规划应侧重于在适当的框架中对计算任务进行合理的规划,使计算资源最大化利用的情况下完成计算任务[3]。多目标任务调度优化旨在构建出一个用于指导任务分配的分配表[4]。近年来,在操作系统进程与线程之间、流水作业之间和工业生产环境之间或者是在分布式计算系统中的任务调度中多目标调度技术都是值得进行探究的方向[5,6]。因此,数值计算对于确定最优解来规划云计算中各种功能而言至关重要。
在云计算模型中大规模问题实例带来的巨大搜索空间,现有多目标任务调度方法容易陷入局部最优解,无法快速有效地获得全局最优解[7]。因此,提出了一种云环境下基于改进SOS的多目标任务调度算法。首先对目前云环境下多目标任务调度算法的研究现状进行了分析,然后提出多目标任务调度算法整体架构,分析了调度算法框架和目标函数;再者介绍共生生物搜索算法的各个阶段,对于任务调度给出了相应的改进方案,最后进行实验分析,论证所提算法的可行性。
1 相关研究
对于云环境下多任务流多目标优化调度,一般的启发式算法、元启发式算法、博弈论调度以及帕累托优化等方法都是被广泛使用的优化算法,并且在相关研究中已取得了一定的进展[8]。
由于启发式方法依赖于一个特定问题域的信息学习的特性,通常被用来制定针对特定类型问题的解决方案[9]。通过对启发式算法进行改进后,生成了一种新的算法称为元启发式算法,该算法也将局部搜索算法和随机算法进行了融合。其中蚁群优化、遗传算法以及粒子群优化算法等都属于典型元启发式算法[10]。在任务调度问题领域,通常包括独立任务调度、列表调度以及基于集群和复制的调度3种启发式算法。文献[11]提出了一种基于元启发式的任务调度方法,以优化异构MPSoC的寿命可靠性、性能和功耗。寿命可靠性受几种具有不同行为的故障机制的影响,这些机制主要取决于温度及其变化模式。为了提高多处理器系统的生命周期可靠性,需要在优化过程中考虑所有潜在故障的影响。实验结果表明,所提方法可靠性和功耗平均分别提高30%和3.6%。因此,它可以用于云计算问题的研究和实践应用,以优化工作计划。文献[12]提出了一种空间任务调度和资源优化(spatial task scheduling and resource optimization,STSRO)方法,通过经济高效地调度异构应用程序的所有到达任务来满足任务的延迟约束,从而最小化其提供者的总成本。STSRO很好地利用了分布式绿云数据中心(distributed green cloud data centers,DGCDC)中的空间多样性。在每个时隙中,将DGCDC的成本最小化问题表述为约束优化之一,并通过提出的基于模拟退火的蝙蝠算法(SBA)加以解决[13]。实验结果表明,与两种典型的调度方法相比,STSRO实现了更低的总成本和更高的吞吐量。
文献[14]提出了一种负载均衡资源集群(LB-RC)负载均衡机制。应用元启发式蝙蝠算法来获得最佳资源聚类及其聚类中心,以实现更快的收敛。采用新的动态任务分配策略,以在给定的限制内实现最小的制造时间和执行成本。在各种综合数据集和性能矩阵上的实验结果表明,该方法在计算资源利用率和计算成本方面有一定改进,但还有可提升的空间。文献[15]提出了使用两个禁忌列表的禁忌元启发式算法,将机器分为两组,以减少生成的邻居数量,然后通过保持相同质量的解决方案来最大程度地减少计算时间。禁忌搜索与最佳启发式方法的比较结果表明,禁忌搜索调度方案在计算时间方面具有更好的表现。
对于博弈算法而言,为使分布式计算的整体性能更佳,因此侧重于对系统级的负载均衡以及资源分配方面进行深入的探究[16]。文献[17]通过运用演化博弈论研究了3种策略的分工演化。根据回报矩阵中的参数设置所出现4种特定情况,通过计算提供平衡点的相应稳定性。数值计算结果直观描述了策略的演变状态。结果表明,更大的协同收益有助于系统中的有效分工,从而为多主体系统提供高收益。在实际应用中,由于高时间复杂度,该算法的可行性是还有待进一步验证。
针对多目标优化问题的解决方法,帕累托优化方法是被广泛使用的一种方法,同时它还能对多个目标之间进行合理的权衡,因此当多个目标间有冲突时该方法的效果更佳[18,19]。满足帕累托优化准则的通常存在多个解,一般将该多个解集合称为帕累托边际。
尽管上述调度方法都是有效的,但部分方法在实际应用中的可行性较差,且任务调度优化结果还有进一步提升的可能。为了处理多目标问题,调度计划所需的时间会大幅度增加。因此,文献[20]侧重提出一种混沌共生生物搜索(chaos symbiosis search,CSOS)算法,用于任务调度问题中降低搜索的代价和时间跨度。结果表明,CSOS在任务规划中对成本降低和时间限制方面有着显著的改进,但对于数据量大、任务复杂度高的云环境下的可行性还有待验证。
针对上述问题,例如不适用于多目标任务优化、搜索时间长、计算复杂、易陷入局部最优等,提出了一种云环境下基于改进SOS的多目标任务调度算法。所提算法的创新点总结如下:
(1)为了更合理地实现多目标任务调度,所提算法设计了相应的调度框架,其中包括云平台、数据中心、处理单元和任务管理器等,并且提出了与之对应的目标函数与约束条件。
(2)由于传统的共生生物搜索(symbiotic organisms search,SOS)算法收敛速度慢,易陷入局部最优,所提算法对其进行改进,即利用准反射学习构建初始种群,在偏利共生阶段中加入扰动项,并且在寄生阶段中加入自适应变异率,以提高全局搜索能力。
(3)为了将改进SOS算法应用于多目标任务调度问题,所提算法将生物坐标转换为任务时间表,通过设定坐标即可实现任务分配,缩短了完成时间且提高了算法各方面的性能。
2 多目标任务调度算法整体架构
2.1 问题描述
多目标任务调度是通过调度算法将接收到的任务分配到合适的执行虚拟机(virtual machines,VM)列表中,在满足多目标约束下实现任务完成时间最短。单目标调度算法存在一个问题,例如,具有高优先级的任务拥有优先分配的机会,如果高优先级任务未分配完成,低优先级任务将无法分配,如此便降低了系统处理任务的效率。因此需要一个有效的调度算法,在各种情况下均能提供最佳效率。在调度器中充分应用调度算法,在不破坏服务层契约的情况下提高信息中心的效率。
此外,任务提交和VM会影响完成工作的时间,相应的成本效益也会受到服务供应商规划的影响,因此,在此情况下,应有效地对任务进行调度,以减少执行成本和时间。
2.2 调度算法框架
在整个任务执行过程中,如果调度方案降低了工作效率,并且影响了客户的活动,那么客户可以通过任务调度器进行任务数据管理。任务调度器具有接受和管理任务信息的功能,将满足预算、成本、存储限制的任务数据上传至调度中心,然后由调度中心根据成本、时间等约束完成任务分配。所提的多目标任务调度算法框架如图1所示。
图1 云环境下的任务调度框架
其中,云平台由多个数据中心组成,这些数据中心可以通过使用各地的互联网进行访问,具备计算、存储等数据处理功能,并且调度中心利用改进的SOS算法来解决云模式中任务调度的问题。在每个服务器集群中,处理单元(processing elements,PE)通过高带宽连接网络[21],因此需要考虑通信延迟。在任务调度模块中,有效地将用户任务分配给各种可用的PE,以优化用电量和时间。
在调度过程中,用户任务将分配给数据中心C(C1,C2,…,Cm), 每个数据中心都配备了多个处理单元 {PE1,PE2,…,PEm} 来执行用户任务。数据中心之间会通过一组信息 〈v,p〉 来相互交流,其中v、p分别表示处理单元的执行速率和功耗。用户的任务流可以建模为一个有向无环图(directed acyclic graph,DAG),记为Gr(N,H)。
节点集N={T1,…,Tn}, 在任务对 {Ti,Tj}∈H中,父任务称为Ti, 子任务称为Tj。Tj使用Ti生成的信息,子任务在其所有父任务完成之前被假定为无法执行。在某个任务图表中,没有父任务的任务称为进入任务,而没有子任务的任务称为退出任务。该模型只考虑一个输入输出任务节点。因此,在DAG开始和结束时,添加了两个假任务Tet和Tex, 运行时间为零。DAG中每N个顶点上都有长度为l的任务。由于所有PE都是有顺序的且标准化的,但调度是随时发生的,因此不利于任务的快速的处理。所提算法通过使用改进的SOS为云环境中提供了任务调度和资源使用方案。
2.3 多目标调度的目标函数
所提模型中将云接口视为在复杂计算任务中使用云资源执行的一组用户功能。根据任务、资源、成本的定义以及规划优化模型的表示,云计算的效率会有所不同。在N个任务T的调度问题中,存在两个目标函数和各种限制。目标一为在vmj分配中减少任务i的预期任务往返时间 (RTij); 目标二为降低vmj中的总预期成本 (ECij)。 利用加权和策略构建两个目标函数的加权集合,以解决向量显著减少的多目标问题。其中预期往返时间RTij包括传输、确认和执行操作在内的整个过程的完整时间
RTij=(Si/bi)+di+(ki/nj)+di
(1)
式中:Si为任务i的大小,b为带宽,d为延迟,ki为执行任务i所需的指令数目,nj为每秒执行的指令数
ECij=(li/nj)*RC+(fi/bj)*C/bjRC=R*(C/m)+S*C/st
(2)
式中:RC为资源成本,fi为文件大小,C为执行任务i的成本,R为虚拟机的RAM,S为虚拟机的大小,st为存储量。
对于一个虚拟机来说,其容量小于或等于数据中心的数据量。因此多目标任务调度的优化目标为
(3)
Subject to
(4)
式中:zij是在vmj中分配任务i的决策变量,cj是分配给vmj的CPU,mj是分配给vmj的内存,tc是数据中心的总CPU,tm是数据中心的总内存,ξ1、ξ2为权重因子。适应度值为
fitness=minP
(5)
3 提出的改进共生生物搜索算法
对于云环境下多目标任务优化调度,通常使用的算法包括元启发式算法、博弈论调度以及帕累托优化等,其中元启发算法中的SOS算法潜在的解由一组经过连续迭代进化而来的生物表示,每个生物代表一个优化问题的解,并且通过互利、共栖和寄生3个阶段进行解决方案优化[22]。相比于其它搜索算法,SOS算法的全局搜索能力更强,得到的优化结果更加合理有效。
3.1 共生生物搜索算法
SOS算法的互利阶段是两种不同生物之间的一种关系,两种生物都从这种相互作用中受益。在共栖关系中,一个生物从相互作用中受益,而另一个生物不受伤害。在寄生关系中,一个生物引发一种有益于自身的关系,而另一个生物则受到伤害[23]。
在SOS算法进化中,适者生物被允许进入下一代潜在解,而不适者生物被丢弃。在二维搜索空间中创建生物种群,并根据SOS的3个阶段(互利、共栖和寄生)的模型改变每个生物的位置。假设第i个生物在解决方案搜索空间中的位置为
Xi=(Xi1,Xi2,Xi3,…,Xig)
(6)
式中:Xip∈[Lp,Up],p∈[1,g], 搜索空间第p维数的上下界分别由Lp和Up进行表示。并且每次进行迭代的过程中,生物的位置都会根据生物的3个阶段进行更新。
3.1.1 互利阶段
假设Xi是生态系统的第i个成员。在此阶段,从生物群中随机选择一个生物个体Xj, 与另一个个体Xi(i≠j) 相互作用,以实现互利。这种相互作用的实质是提高生态系统中Xi和Xj的生存程度。根据下式得到了Xi和Xj的新候选解,而这些候选解的质量受互惠互利因素的影响
(7)
式中:Co为Xi和Xj之间的相互关系向量,Xbest为具有最佳适应值的生物,β1和β2代表生物Xi和Xj之间的利益因子,U(0,1) 是0和1之间均匀分布的随机数向量;i=1,2,3,…,ecosize;j∈{1,2,3,…,ecosize|j≠i}, 其中ecosize是搜索空间中的生物数。在相互关系中,一个生物在与一个共同伙伴进行互动时,可能会从中获得重大或轻微的利益。因此,随机获得的β1和β2是1或2,1和2分别表示轻效益和重效益。
通过Xbest分别与Xi和Xj进行交互,如果新的候选解的适应度值优于传统的解,则新的候选解将取代传统的解。在这种情况下,X′i和X′j在下一代生态系统中分别取代Xi和Xj。 否则,X′i和X′j将被丢弃,而Xi和Xj将存活到下一代生态系统中。迭代表示为
(8)
(9)
式中:f(.) 为适应度评估函数。
3.1.2 共栖阶段
在共栖阶段,生态系统的第i个成员随机选择一个生物Xj与Xi(i≠j)相互作用。在这种情况下,Xi打算从Xj中受益,Xj既不从交互中获得收益也不从交互中损失。通过与Xj和Xbest的交互,分别提高了设计向量Xi的适应度质量和算法的寻优能力。相互作用表示如下
X′i=Xi+U(-1,1)*(Xbest-Xj)
(10)
式中:Xbest为最佳适应值的生物,U(-1,1) 是-1和1之间均匀分布随机数的向量,i=1,2,3,…,ecosize,j∈{1,2,3,…,ecosize|j≠i},ecosize为搜索空间中的生物数。Xi根据式(8)进行更新。
3.1.3 寄生阶段
在寄生阶段,通过克隆第i个生物Xi, 并使用随机生成的数字对其进行修改,产生了一种称为寄生虫载体的人工寄生虫。然后,从生态系统中随机选取Xj, 计算寄生虫载体和Xj的适应度值。如果寄生物载体比Xj更适合,那么Xj被寄生物载体所代替,否则Xj将存活到下一代生态系统中,寄生物载体则被丢弃。Xj根据下式关系进行更新
(11)
式中:PV为寄生虫载体。
该阶段通过随机剔除非活性解,引入活性解,增加了算法的探索能力。从而避免了早熟收敛,提高了收敛速度。
SOS算法的流程如图2所示。
图2 SOS算法的流程
3.2 提出的改进方案
传统SOS算法存在3个明显的不足:①初始种群随机构建,降低全局搜索能力;②早熟、收敛速度慢;③有可能陷入局部最优。为此,所提算法针对这3个方面提出了改进措施:①利用准反射学习来构建初始种群;②共栖阶段中加入扰动项;③寄生阶段中加入自适应变异率。
3.2.1 采用准反射学习机制的种群初始化
随机初始化生物种群方法是标准SOS算法中的常用方法,但该方法存在一定的局限性,它对算法的全局搜索能力进行了一定的削弱,从而导致该方法的收敛精度大大降低,以致常常会出现早熟的现象。因此,为了更好解决该问题,通过采用准反射学习(quasi-reflection-based lear-ning,QRBL)机制对该算法的求解质量和收敛速度进行强化。
(12)
(13)
为了进一步的对SOS算法的寻优性能进行提高,给出了一种优化的方法,该方法主要是在标准SOS算法的种群初始化阶段中将准反射学习机制进行引入。经过对它初始解的思考,以及评估它的准反射解,选取更优的进行使用,如此一来,采用准反射学习机制对搜索空间的搜索会更加全面和充分,从而使得算法的收敛速度更快,同时又更可能找到近似全局最优解的候选解,算法的精度也得到了较大的提高。
3.2.2 共栖阶段中引入扰动项
共栖最主要的作用就是能够在最优解的引导下,实现对生物体的快速寻优。然而,该措施存在的缺陷就是收敛的精度较低,并且收敛的速度相对较慢。针对此问题本文采取了新的改进措施,通过在共栖阶段中,基于原搜索方程引入扰动项,其中加入的扰动项是Xbest和Xi的差向量,并且线性递减的惯性权重ω也被引入,具体如下所示
(14)
其中,在[0,1]区间范围内的惯性权重由ω进行表示;惯性权重的最大值记作ωmax; 惯性权重的最小值记作ωmin; 算法的最大迭代次数由tmax来表示;t表示的是当前的迭代次数。
在此阶段中,为维护个体间存在的差异,采取对差分扰动项进行增加的方法;此外,由于在算法迭代的初始阶段中ω的值相对较大,算法的全局搜索能力也相对较强,为了尽可能避免陷入局部最优,所以还将线性递减的惯性权重ω进行了引入。在算法不断迭代后,ω的值也会不断减小,并且在较优解的邻域内,算法中个体的搜索能力也会得到加强,收敛的精度也会随之提高,并且收敛的速度也会变快。
3.2.3 寄生阶段中加入自适应变异
在进行寄生操作时,通常情况下,传统SOS算法选取的变异率是固定值,其中存在一个较大的缺陷就是这使得算法陷入局部最优的概率较大,以致收敛的精度也会大大降低。针对该问题本文所提的算法做出了相应的改进,基于传统SOS算法,将其中的固定变异率由适应值进行动态调整的变异率来替代,详细的公式过程如下
(15)
式中:pv为动态变异率;生物体的平均适应值用fave(Xi) 进行表示,其中,选取f(Xi) 作为生物体适应值来进行寄生操作;种群中的最大适应值记作fmax(Xi);d1、d2表示的是随机数。
鉴于适应值动态调整的变异率,采取寄生的操作方式,这可以使具有较高适应值的生物体变异率尽可能的变低,具有较低适应值的生物体变异率尽可能的变高,让优质生物体的数量得到增加,从而进一步实现对算法收敛速度以及精度的提高[24]。
3.3 任务调度问题中的生物编码
在该算法中,生物的种群结构被表示为一组实例类型,每个生物是种群中的一个个体,代表了搜索空间的一部分。生物坐标系中的每个坐标(每个字段)都是云环境中的实例类型。在d维解决方案搜索空间中,n个生物的搜索种群表示为X={X1,X2,X3,…,Xn}。 第i个生物的位置表示为Xi={xi1,xi2,xi3,…,xid}。 为了定义问题的解决方案,每个生物代表一个完整的任务时间表。实数值表示要选择的备用实际类型[25]。该确定生物在解决方案搜索空间中位置的坐标系取决于生物的维数。举个例子说明,生物的7个任务时间表如图3所示,其中生物是一个7维的生物,它在搜索空间上的位置由坐标1到7定义。
图3 生物编码及其与VM映射的对应任务
生物的移动范围由执行任务的可用实例数决定,因此,生物搜索空间的坐标值可以是一个或多个可用实例。由于所选VM的适应度值是离散的,因此生物位置中每个坐标的最近整数值对应的就是执行该坐标定义任务的实例类型。
由图3中的示例可知,资源池中有3个实例,因此每个坐标值的范围为0~3。坐标1的值0.6表示任务1已分配给实例类型2。坐标2的值2.7表示任务2已分配给实例类型3。其余的坐标遵循相同的逻辑。其中将生物坐标转换为任务时间表的算式如下
(16)
4 仿真及分析
实验基于CloudSim仿真平台进行,测试中使用一个数据中心、5个VM和300个cloudlet执行。云环境的模拟参数见表1。
改进SOS算法中,种群规模是100,个体维数是5,最小权重ωmin和最大权重ωmax分别是0和1,最大迭代步数是100。
表1 模拟参数
4.1 性能指标
所提算法使用相应的指标评估能量、时间、成本、资源利用率和服务水平协议(service level agreement,SLA)违反情况。
(1)能耗:所有响应或服务的能量消耗
(17)
(2)时间:任务在传输、确认和执行操作中整个过程的时间,计算如式(1)。
(3)成本:虚拟机上任务执行所需的总成本,包括资源成本和执行成本,计算如式(2)。
(4)资源利用:资源应得到均衡利用,即分配给vmj的CPU不能超过数据中心的总CPU,以及分配给vmj的内存不能超过数据中心的总内存。数学表达如下
(18)
(5)SLA违反情况:当云提供商的处理器数量小于所需的任务或Cloudlet的数量时,就会发生SLA冲突,因此处理的任务数不能超过上限
SLA=tc
(19)
4.2 调度性能评估
4.2.1 不同迭代次数下的收敛曲线
为了论证所提算法的收敛特性,将其与文献[11]、文献[14]、文献[17]进行对比分析,其中不同算法的总执行时间和成本随着迭代次数的收敛性如图4所示。
图4 不同迭代次数下的收敛曲线
由图可知,迭代次数在30~40时,算法基本上都完成了任务的执行。从图4(a)可以看出,所提算法完工时间约为2.9 ms,优于文献[11]、文献[14]、文献[17]所提方法所需要的4.9 ms、4.5 ms和3.5 ms。从图4(b)可以看出,在成本开销方面,所提方法相较于文献[11]方法大约节省50%的成本开销;相较于较为节省成本的文献[17],也能节省约15%的成本开销。在最开始时,算法分配任务都是根据站点处理速度以及性价比来进行相应的分配,因此成本低且耗时长。在之后时间和成本的收敛速度开始变快,这主要是由于每个任务包都会根据自身利益去争夺对自己最有效的资源。在竞争完成后,算法机制会让参与者将工作负载到相对较弱的站点中。该机制的优势是保证了在参与者个体行为自私的情况下能产生一个全局最优解。所有的任务包最终都能够达到平衡状态,即无法继续进行优化改善。相比与其它算法,所提算法的完成收敛的时间最短,且成本开销最小。
4.2.2 在不同任务量下本文算法的性能指标
实验中,所有的性能指标都是针对指定数量的任务进行评估的,范围从50到200,针对不同的种群规模Pop(如Pop5、Pop15和Pop25,分别代表种群数量为5、15、25)评估性能度量。能量随着任务增加的变化如图5所示。
图5 能量与任务的对比分析
从图5中可以看出,随着任务数量的增加,能量也在不断增加。当任务为200时,种群规模25的能量达到最大值。当任务容量为50时,能量最小。同样,随着任务数量的增加,其完成时间与成本也在不断的增加,因此不再赘述。
对于不同的任务量,其资源利用情况如图6所示。
图6 资源利用与任务分析
对于不同的种群标准,任务数量的增加对资源的利用没有太大的影响,只在总体数量较低时,不同种群标准的资源利用率都较低,但仍有90%左右,总体较为稳定。因此,综合看来资源利用率相对较高,平均达到92%。从此外,任务量对SLA冲突的影响如图7所示。
图7 SLA冲突与任务分析
从图7中可以看出,与种群数量15和25相比,种群数量5执行的50个任务显示出70%的高违反率。当对种群数量5和15执行100个任务时,与种群数量25相比,违反率为12%。当对种群数量5和25执行200个任务时,与种群数量15相比,违反率为8%。当种群数量5执行150个任务时,种群数量15和25的违规率分别为4%、3%和5%。在150个任务中,执行的总违反率最少,性能最佳。
4.3 调度性能对比及分析
为了论证所提算法的性能,将其与文献[11]、文献[14]、文献[17]中算法在时间、成本、资源利用等方面进行对比分析。不同任务数的时间和成本对比结果如图8所示。
图8 不同算法的时间和成本对比
从图8中可以看出,相比于其它算法,不同任务数量下,所提算法完成任务调度的耗时最少。由于所提的目标函数中的带宽参数,考虑了调度任务的传输时间,其相比于其它云环境下的任务调度算法,时间消耗减少了32%。并且所提算法的成本也得到了相应的减少,降低了29%,具有较高的效率。文献[11]通过元启发式的任务调度方法优化异构MPSoC的性能和功耗,但其受故障机制的影响较大,因此执行时间和成本较大。文献[14]的LB-RC负载均衡机制,应用元启发式蝙蝠算法以获得最佳资源聚类及其聚类中心,能够在给定的限制内实现较小的执行时间和成本。文献[17]通过演化博弈论寻得最优的调度方案,较大的协同收益有助于系统中的有效分工,但时间复杂度较高,因此耗费的时间和成本较大。
不同算法在资源利用方面的比较如图9所示。
图9 不同算法的资源利用对比
从图9中可以看出,所提算法相比于其它云环境下的任务调度算法,资源利用率降低了68%。文献[11]受故障机制影响较大,文献[17]的时间复杂度较高,因此两者的资源利用率较高。而文献[14]的负载均衡机制能够减少网络资源的使用。
综上所述,在最小的时间、成本、资源使用下,所提算法可以在虚拟机上实现最优的任务分配。
5 结束语
现如今,云环境的应用越来越广泛,人们的需求也在日益增加,随之而来亟需解决问题就是任务要如何进行调度才更有效率以及如何对应用进行动态的引导。为了满足用户的QoS,提出了一种云环境下基于改进SOS的多目标任务调度算法。基于构建的多目标任务调度模型,设计相应的目标函数与约束条件,并利用改进的SOS算法进行模型求解,以得到最优的生物坐标,并将其转换为任务时间表,通过设定坐标即可完成任务分配。在CloudSim仿真平台上对所提调度算法进行实验分析,结果表明,改进的SOS算法能够实现快速收敛,且相比于其它算法,所提算法完成任务调度所需的时间短、耗能低、资源利用率高,同时SLA违反情况最少。由此可证明,所提算法能够实现多目标任务的最优调度,对实际云环境的任务分配具有重要借鉴意义。
所提算法在完成调度的过程中并未考虑用户数据安全等问题,下一步,我们将侧重于研究该采取何种方式来执行调度才能最大程度保护相关用户的隐私以及敏感度的问题。