陈俊宇
關键词:云环境;数据密集型;分层调度;最大传输路径
中图法分类号:TP393 文献标识码:A
1引言
云平台一直以来为众多工作流应用程序的调度提供高效的执行环境,大量研究者对云环境下数据密集型工作流调度问题展开相关工作和研究。秦生辉提出了基于流程分割的数据密集型工作流调度方法,满足了执行中跨节点跨数据传输的优化需求。杜清华等提出了一种高效的跨平台工作流优化方法,基于GGFN的成本模型和延迟贪婪剪枝方法缩短运行时间。李敬伟等提出了一种基于局部数据位置感知资源管理的调度方法,在提高资源利用率的同时,大幅度提高工作流的调度效率。
本文提出了一种基于最大数据传输路径的数据密集型工作流调度方法,先对工作流中所有任务进行分层排列,并寻找工作流中的最大数据传输量路径,分配完最大数据传输量路径上的任务后开始逐层调度,对其余任务进行调度。
2数据密集型工作流调度流程
2.1工作流定义
本文调度的工作流通过有向无环图表示。具体如定义1所示。
定义1 (W).W=
W为工作流。
T={t|i=1…n},T表示W中的任务集合,t表示工作流W的第i个任务。
D={d,j=1…n},D表示W中任务之间传输数据量的集合,其中d表示t向t传输的数据量。
2.2服务商定义
若干个云服务商参与工作流的调度,不同服务商调度任务会产生一定的执行时间,对于有直接数据依赖的2个任务,若同时分配至相同的服务商,则传输时间可忽略不计。
4实验分析
本文对比算法选择HEFT算法[5]和Min-Min算法,并随机生成工作流作为实验输入。
(1)验证数据传输量对工作流完成时间的影响,任务传输量设置[200,400]、[400,600]、[600,800]、[800,1000]4个区间,任务数量为50,服务商数量为10,服务商执行任务时间设置为[ 400,500],从实验数据得出,任务之间的传输量在[10,200]内,优化力度较小,当任务之间的传输量在[ 800,1000]内,分层调度法在完成时间上,相比于HEFT算法降低了14%,相比于Min-Min降低了23.5%。
(2)按照任务数量来比较,工作流任务的数量设置为[20,30,40,50],每种任务数量将对应随机生成依赖关系不同的工作流,任务之间的传输量设置为[400,600],服务商个数为10,服务商执行任务时间设置为[100,200],从实验数据得出,当传输量比重大于执行时间时,任务数量越多,分层调度法在完成时间上,优化力度越大,相比于HEFT最高降低了15%,相比于Min-Min最高降低了19%。
(3)按照执行时间来进行比较,执行时间范围设置为[ 100,200]、[200,300].[300,400]、[400,500]4个区间,传输量设置为[200,300],任务个数为20,服务商个数为10,生成结果取平均值,从实验数据得出,当传输量比重大于执行时间时,任务数量越多,分层调度法在完成时间上,优化力度越大,相反,当传输量比重小于执行时间时,分层调度法不具有优势。
5结束语
本文提出了一种基于最大数据传输路径的数据密集型工作流调度方法,首先对工作流进行分层,找出工作流中最大数据传输量路径并对该路径进行分配工作。然后对其余任务分配服务商,以此缩短工作流的完成时间。最后通过具体实验证实了本文方法的可行性,并通过算法对比验证了本文方法的有效性。在今后的工作中,我们将考虑对预算受限的工作流进行更深入的研究。