CN116149828A - 一种基于动态可调整子截止日期的云工作流调度方法 - Google Patents

一种基于动态可调整子截止日期的云工作流调度方法 Download PDF

Info

Publication number
CN116149828A
CN116149828A CN202310419404.3A CN202310419404A CN116149828A CN 116149828 A CN116149828 A CN 116149828A CN 202310419404 A CN202310419404 A CN 202310419404A CN 116149828 A CN116149828 A CN 116149828A
Authority
CN
China
Prior art keywords
task
virtual machine
sub
expiration date
workflow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310419404.3A
Other languages
English (en)
Other versions
CN116149828B (zh
Inventor
陈都京
张艳艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN202310419404.3A priority Critical patent/CN116149828B/zh
Publication of CN116149828A publication Critical patent/CN116149828A/zh
Application granted granted Critical
Publication of CN116149828B publication Critical patent/CN116149828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了云计算环境技术领域的一种基于动态可调整子截止日期的云工作流调度方法,包括:先进行工作流任务信息解析,进行子截止日期设置;判断子截止日期设置任务是否准备完成,当子截止日期设置任务完成后进行虚拟机选择,然后进行任务执行,当子截止日期设置任务未准备完成则进入任务池内;任务执行开始后判断是否执行完成,执行完成后进行信息反馈,然后更新任务信息,任务未执行完成则再次进行虚拟机选择,然后进行任务执行。本发明极大限度的将工作流的整体真实完成时间调整到截止日期,增加任务的可执行时间,更大程度上的选择低性能的机器;实现子截止日期的动态调整,降低在虚拟机选择阶段对其性能的需求,减少租赁花费。

Description

一种基于动态可调整子截止日期的云工作流调度方法
技术领域
本发明属于云计算环境技术领域,具体涉及一种基于动态可调整子截止日期的云工作流调度方法。
背景技术
随着云计算技术的发展,用户可以通过互联网使用云资源,并结合自身的需求来选择计算或存储资源的类型与数量。相比于传统的计算模式,硬件资源集中存放在云端,用户无需购买,可提高资源利用率,降低个体的花费与维护成本,具有动态可扩展、按需部署、灵活性高、可靠性高等优点。基于此,对计算与存储资源需求大的应用程序正在迁移到云端执行,如智能交通、目标检测、远程医疗等。为便于研究,通常使用工作流来表示应用程序,并建模为有向无环图。随着工作流规模和计算量的不断增长,且由于云资源性能的波动,任务的执行时间与数据传输的时间无法准确预测,如何在分布式环境中有效地调度和部署工作流,是亟需解决的问题。然而,传统方法在调度过程中,任务的子截止日期保持固定,导致虚拟机租赁费用增加,其次方法建立在任务执行时间、数据传输时间、虚拟机信息已知的情况下寻找近似最优解,未考虑云计算的性能波动导致的任务执行时间及数据传输时间的不确定性、资源无限、异构性等特性,加大了任务调度的难度。
在工作流调度中,针对资源与任务的映射问题,一些学者提出了基于元启发式算法将工作流调度建模为多目标优化问题,如Ant Colony Optimization(ACO), GeneticAlgorithm(GA), Particle Swarm Optimization (PSO)。以上模型建立在任务执行时间、数据传输时间、虚拟机信息已知的情况下寻找近似最优解,精度较高。但是忽略了云资源波动性,任务与数据传输时间等无法被准确预知, 其次算法在迭代的过程中忽略了资源的动态变化。除了元启发式算法,部分研究采用了列表调度方法实现资源调度,并且在传统的列表调度算法加入子截止日期分配过程。当前的研究工作大多忽略了云资源性能波动所带来的任务执行时间以及数据传输时间的不确定性,设置固定的子截止日期,导致花费较高。
发明内容
针对现有技术的不足,本发明的目的在于提供一种基于动态可调整子截止日期的云工作流调度方法,以解决上述背景技术中提出的问题。
本发明的目的可以通过以下技术方案实现:
一种基于动态可调整子截止日期的云工作流调度方法,包括以下步骤:
先进行工作流任务信息解析,采用可伸缩算法对当前的工作流任务分配子截止日期,进行子截止日期设置;
判断子截止日期设置任务是否准备完成,当子截止日期设置任务完成后进行虚拟机选择,然后进行任务执行,当子截止日期设置任务未准备完成则进入任务池内;
任务执行开始后判断是否执行完成,执行完成后进行信息反馈,然后更新任务信息,任务未执行完成则再次进行虚拟机选择,然后进行任务执行。
优选地,所述子截止日期设置过程为:
先进行虚拟机排序、遍历和遍历当前的工作流任务;
然后计算预计开始时间、预计结束时间和工作流预计完成时间,判断工作流预计完成时间是否小于截止日期;
当工作流预计完成时间小于截止日期时,设置任务的子截止日期;
当工作流预计完成时间不小于截止日期时,判断所有虚拟机遍历是否完成,当所有虚拟机遍历完成时,以最大的虚拟机执行能力设置子截止日期,当所有虚拟机遍历没有完成时,返回虚拟机遍历步骤,然后再次进行设置,得到子截止日期后进入下一步骤。
优选地,所述虚拟机选择过程为:
先进行初始化虚拟机集合、设置花费值为无穷大,目标虚拟机为空;
然后进行遍历工作流任务列表、遍历虚拟机池,判断是否满足子截止日期,当满足子截止日期时,进行花费计算,存储最低花费值与对应的虚拟机信息;
当不满足子截止日期时,判断是否虚拟机遍历完成,当虚拟机没有遍历完成时,则再次进行遍历虚拟机池,然后继续后续步骤;当所有虚拟机遍历完成且目标虚拟机不为空时,设置目标虚拟机,当目标虚拟机为空时,则选择花费最低的虚拟机类型,释放新的资源。
优选地,所述信息反馈过程为:
先遍历已完成任务的后置任务、遍历当前任务的前置任务,所有前置任务已执行完毕后将当前任务设置为准备状态;
然后遍历当前任务的前置任务,判断预计开始时间是否减少,减少后更新任务子截止日期,不减少则继续进行遍历当前任务的前置任务,然后继续后续步骤,直至更新任务子截止日期。
本发明的有益效果:
1、本发明方法预估了任务的完成时间后,根据工作流预计的超前完成时间分配每个任务的可执行时间,并根据前置任务的完成情况设置预设每个工作流的子截止日期;
2、本发明方法通过调节伸缩系数,来精确调整每个任务的子截止日期,极大限度的将工作流的整体真实完成时间向截止日期逼近,增加任务的可执行时间,更大程度上的选择低性能的机器,从而降低不必要的花费;
3、本发明方法在任务执行完成后加入信息反馈机制,当发现当前任务的可以提前执行时,再次调整任务的子截止日期,实现子截止日期的动态调整,降低在虚拟机选择阶段对其性能的需求,减少租赁花费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中方法的整体流程图;
图2是本发明实施例中子截止日期设置流程图;
图3是本发明实施例中虚拟机选择流程图;
图4是本发明实施例中信息反馈流程图;
图5是本发明实施例中伸缩系数设置图;
图6是本发明实施例中CyberShake工作流资源利用率对比图;
图7是本发明实施例中Montage工作流资源利用率对比图;
图8是本发明实施例中Sipht工作流资源利用率对比图;
图9是本发明实施例中Inspiral工作流资源利用率对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本实施例提供一种基于动态可调整子截止日期的云工作流调度方法,包括以下步骤:
步骤1、先进行工作流任务信息解析,采用可伸缩算法对当前的工作流任务分配子截止日期;
步骤2、判断任务准备是否完成,当任务完成后进行虚拟机选择,然后进行任务执行,当任务准备未完成则进入任务池内;
步骤3、任务执行开始后判断是否执行完成,执行完成后进行信息反馈,然后更新任务信息,未执行完成再次进行进行虚拟机选择,然后进行任务执行。
请参阅图2所示,所述步骤1中子截止日期设置过程为:
先进行虚拟机排序、遍历和遍历当前的工作流任务;
然后计算预计开始时间、预计结束时间和工作流预计完成时间,判断工作流预计完成时间是否小于截止日期;
当工作流预计完成时间小于截止日期时,设置任务的子截止日期;
当工作流预计完成时间不小于截止日期时,判断所有虚拟机遍历是否完成,当所有虚拟机遍历完成时,以最大的虚拟机执行能力设置子截止日期,当所有虚拟机遍历没有完成时,返回虚拟机遍历步骤,然后再次进行设置,得到子截止日期后进入下一步骤。
请参阅图3所示,所述步骤2中虚拟机选择过程为:
先进行初始化虚拟机集合、设置花费值为无穷大,目标虚拟机为空;
然后进行遍历工作流任务列表、遍历虚拟机池,判断是否满足子截止日期,当满足子截止日期时,进行花费计算,存储最低花费值与对应的虚拟机信息;
当不满足子截止日期时,判断是否虚拟机遍历完成,当虚拟机没有遍历完成时,则再次进行遍历虚拟机池,然后继续后续步骤;当所有虚拟机遍历完成且目标虚拟机不为空时,设置目标虚拟机,当目标虚拟机为空时,则选择花费最低的虚拟机类型,释放新的资源。
请参阅图4所示,所述步骤3中信息反馈过程为:
先遍历已完成任务的后置任务、遍历当前任务的前置任务,所有前置任务已执行完毕后将当前任务设置为准备状态;
然后遍历当前任务的前置任务,判断预计开始时间是否减少,减少后更新任务子截止日期,不减少则继续进行遍历当前任务的前置任务,然后继续后续步骤,直至更新任务子截止日期。
在工作流调度的过程中,使用决策变量
Figure SMS_1
表示任务与虚拟机的映射关系。/>
Figure SMS_2
为1表示任务/>
Figure SMS_3
被分配到VM/>
Figure SMS_4
,其他情况下/>
Figure SMS_5
为0,即:
Figure SMS_6
Figure SMS_7
和/>
Figure SMS_8
用来定义VM/>
Figure SMS_9
上任务/>
Figure SMS_10
的所预测的开始时间和结束时间。因为任务/>
Figure SMS_11
可以执行的条件为接收到所有的前置任务的数据,因此预测开始时间/>
Figure SMS_12
可计算如下:
Figure SMS_13
式中,
Figure SMS_14
表示虚拟机/>
Figure SMS_15
上最后一个任务/>
Figure SMS_16
的预测的完成时刻;/>
Figure SMS_17
表示任务所在的虚拟机的索引;其中/>
Figure SMS_18
表示数据传输时间。任务的预测完成时间/>
Figure SMS_19
可被表示为:
Figure SMS_20
并且存在以下约束条件:
Figure SMS_21
式中,
Figure SMS_22
表示工作流/>
Figure SMS_23
的截止日期。需要说明的是,工作流的不确定性决定了工作流的真实执行信息只有在任务完成后才能确定其开始时间、执行时间和结束时间。
Figure SMS_24
和/>
Figure SMS_25
定义虚拟机/>
Figure SMS_26
上任务/>
Figure SMS_27
的真正开始时间和真正结束时间。并且存在以下约束条件:
Figure SMS_28
在调度的过程中,减少虚拟机的花费是一个需要被优化的目标,被表示为:
Figure SMS_29
式中,
Figure SMS_30
表示虚拟机/>
Figure SMS_31
的单位时间价格,/>
Figure SMS_32
表示执行任务所用的时间。
使用集合
Figure SMS_34
来表示云资源中所有的虚拟机类型,总类型数量为
Figure SMS_36
,集合/>
Figure SMS_41
表示虚拟机池。/>
Figure SMS_35
表示集合/>
Figure SMS_37
中的第/>
Figure SMS_39
种虚拟机的类型,并用/>
Figure SMS_42
来定义虚拟机类型为/>
Figure SMS_33
的第/>
Figure SMS_38
台虚拟机。此外,虚拟机只会以单位时间被租用,超过单位时间的剩余部分也将会按照一整个单位时间进行收费,例如一个任务的执行时间为1.5h,并且虚拟机以单位时间1h被租用,则超过的0.5h部分将会按照1h时间进行收费。虚拟机的单位时间花费定义为/>
Figure SMS_40
,此外所有的虚拟机会被资源管理器监视,进行动态的租赁与释放。
用户动态的提交工作流到云端,用一个无限集
Figure SMS_53
来表示云端当前待处理的工作流,对于任意一个工作流/>
Figure SMS_43
可以建模为/>
Figure SMS_47
,其中/>
Figure SMS_56
定义为工作流的到达时间,/>
Figure SMS_60
定义为工作流的截止时间,/>
Figure SMS_61
表示为工作流的具体结构。给定一个工作流的/>
Figure SMS_63
,其中/>
Figure SMS_51
是/>
Figure SMS_57
个任务的集合/>
Figure SMS_46
,/>
Figure SMS_49
是任务之间依赖关系的集合, 表示为/>
Figure SMS_45
,依赖关系/>
Figure SMS_50
表示了任务/>
Figure SMS_54
和任务/>
Figure SMS_58
的依赖约束,它意味着任务/>
Figure SMS_52
必须等到任务/>
Figure SMS_55
执行完毕才能开始执行。如果两个任务之间有数据传输的行为,那么认为 DAG图中这两个任务之间有一条边。此外,用/>
Figure SMS_59
来表示任务/>
Figure SMS_62
的前置任务,用/>
Figure SMS_44
来表示/>
Figure SMS_48
的后继任务。
用户提交工作流到云服务器,云服务器首先会给工作流的子任务分配子截止日期。首先,将工作流
Figure SMS_64
中的所有任务映射到服务实例后,基线调度中/>
Figure SMS_65
的预测完成时间
Figure SMS_66
为:
Figure SMS_67
在时间预分配阶段,为了能够在截止日期完成工作流,算法会通过预估的做法为每个工作流任务设置子截止日期,并基于子截止日期为每个工作流任务选择虚拟机。子截止日期定义为:
Figure SMS_68
Figure SMS_69
式中,
Figure SMS_70
是系统的当前时间,/>
Figure SMS_71
定义为任务的可执行时间,/>
Figure SMS_72
是一个可执行时间伸缩系数,/>
Figure SMS_73
表示预估的超前完成时间,/>
Figure SMS_74
定义为虚拟机的处理速度的影响变量,该变量在后续实验中会被具体介绍,/>
Figure SMS_75
表示任务的预估执行时间,/>
Figure SMS_76
则是前置任务带来的延迟。
在算法中,通过第一阶段预估了任务的完成时间后,根据工作流预计的超前完成时间分配每个任务的可执行时间,并根据前置任务的完成情况设置每个工作流的子截止日期。通过调节伸缩系数
Figure SMS_77
,来设置每个任务的子截止日期,极大限度的将工作流的整体真实完成时间向截止日期逼近,降低不必要的花费。
接着进行虚拟机的选择,在RSDS方法中,任务在虚拟机上的预计完成时刻以及所需要的花费是筛选虚拟机的两个条件。
一方面为了保证高的工作流调度的成功率,即工作流尽可能的在截止期限之前完成,必须要参考虚拟机确定执行任务的完成时刻;另一方面尽可能降低花费,因此将花费作为另一个筛选虚拟机的条件。
设当前虚拟机池集合为
Figure SMS_78
,RSDS方法首先会考虑预计完成时间在子截止日期前的虚拟机,因此有以下限制条件:
Figure SMS_79
式中,
Figure SMS_80
表示任务/>
Figure SMS_81
在虚拟机/>
Figure SMS_82
上的开始时间。在经过时间条件筛选后的虚拟机集合为/>
Figure SMS_83
,在需要集合/>
Figure SMS_84
选择花费最低的虚拟机,即
Figure SMS_85
Figure SMS_86
如果
Figure SMS_87
,RSDS方法将会以花费最低的原则释放新的资源。
高的云资源利用率对与提供商来说极为重要,因此,在调度的过程需要尽可能最大化资源利用率,并被表示为:
Figure SMS_88
其中,
Figure SMS_89
表示虚拟机执行任务所花费的总时间,/>
Figure SMS_90
表示虚拟机待机时间。任务执行完毕后,调整后续任务的子截止日期。由于云资源性能的波动性,无法准确预测任务的实际完成时间,只有当任务执行完毕后才会记录准确的开始时间和完成时间,因此在工作流任务子截止日期预设置的阶段,使用预估的开始时间以及完成时间来为每个工作流任务设置子截止日期,这种做法会存在一定的偏差,考虑工作流结构的特点,前置任务引起的偏差会直接影响到后继任务。为了减少偏差,RSDS方法在任务执行完毕后,会记录下当前任务的真实完成时间,为后继任务提供准确的参考。前置任务的提前完成可能会增加后继任务的可执行时间,因此当一个任务的所有前置任务执行完毕后,RSDS方法会有以下判断条件:
Figure SMS_91
当任务的前置任务的最大的实际完成时间提前时,RSDS方法会去更新后继任务的预测开始时间,来增加任务的可执行时间,在其他情况下,RSDS方法则会保留原来的值。接下来更新可执行时间
Figure SMS_92
,得到/>
Figure SMS_93
,表达式如下所示:
Figure SMS_94
显然,
Figure SMS_95
,接着后继任务的子截止日期更新为/>
Figure SMS_96
为了验证算法的有效性,实验在CyberShake、Sipht、Insprial、Montage四种不同的工作流下对比了ROSA算法,PUR算法,对比指标为花费和资源利用率,本节详细阐述了对比实验的实验设置以及实验结果。
RSDS算法采用Java语言编写,部署在了一台CPU i7-9750H,16GB RAM,主频2.60GHz的主机上。实验模拟的云环境场景为一个数据中心和8种不同类型的虚拟机,虚拟机配置和价格采用Amazon EC2服务配置,如表1所示,其中F(k)表示虚拟机性能的影响因子,所使用的工作流信息如表2所示,需要说明的是在某一种工作流下实验,每次生成的具体的工作流将会从三个不同任务数量的工作流随机选择。
表1
Figure SMS_97
表2
Figure SMS_98
在实验中,用
Figure SMS_99
的泊松分布来模拟工作流的某一时刻达到的数量,为了模拟云环境的不确定性,当任务被分配到虚拟机,任务的实际执行时间采用期望值/>
Figure SMS_100
,方差为/>
Figure SMS_101
的正态分布乘以虚拟机的性能因素/>
Figure SMS_102
来设置任务的实际执行时间,如下所示
Figure SMS_103
Figure SMS_104
式中,
Figure SMS_105
是任务/>
Figure SMS_106
的基执行时间,影响因子/>
Figure SMS_107
用来模拟基执行时间的变化。
任务的预测完成时间如下所示:
Figure SMS_108
云环境中的不确定性一部分是网络环境引起的,因此为了模拟网络所带来的数据传输时间的不确定性,类似于任务的实际执行时间,采用期望值为
Figure SMS_109
方差为/>
Figure SMS_110
来表示数据传输时间如下所示:
Figure SMS_111
Figure SMS_112
式中,影响因子β用来模拟数据传输时间的波动。
为了验证RSDS算法的有效性,在固定参数以及波动参数的条件下分别进行了实验,参数设置如表3所示,其中
Figure SMS_113
用来表示工作流的数量。
表3
Figure SMS_114
除了设置实验的相关参数外,还需要确定RSDS算法子截止日期的伸缩系数
Figure SMS_115
,在这里引入了工作流调度成功率/>
Figure SMS_116
的概念,如下所示,其中/>
Figure SMS_117
表示在满足截止日期的工作流:
Figure SMS_118
图5展示了在不同的伸缩系数下,成功率与虚拟机花费的关系,不难看出随着花费的降低成功率也在不断的下降,当
Figure SMS_119
时,RSDS算法调度的成功率为100%,/>
Figure SMS_120
时,调度的成功率依然保持较高,但开始出现波动,意味着工作流的真实完成时间与截止日期极为接近,因此在保证成功率的前提下,将/>
Figure SMS_121
设置为0.1。/>
在花费方面,表4至表11分别展示了RSRS算法、ROSA算法以及PUR算法在不同的影响因素以及工作流下的花费值。
表4和表5展示了三种算法使用CyberShake工作流,在不同影响因素下所产生的花费值,可以看到RSDS始终保持着最低的花费,这主要由于RSDS算法采用了可伸缩与动态更新的子截止日期设置方法,使得每个工作流任务有更大的可执行时间,选择了更多低性能的虚拟机。ROSA算法的花费值略高于RSDS,PUR算法花费值远高于RSDS算法与PUR,在
Figure SMS_122
值不断增高的情况下,RSDS算法与ROSA算法产生的花费有着小幅度的增大,PUR算法的花费大幅度增加。在/>
Figure SMS_123
、/>
Figure SMS_124
、/>
Figure SMS_125
三种参数不同数值的影响下,RSDS算法依旧保持了最低的花费,验证了RSDS算法的有效性。
在Montage工作流下,如表6与表7所示,RSDS算法相较于ROSA算法与PUR算法在更多的情况下的花费最低,PUR算法的花费最高,这说明PUR算法分配给工作流任务的完成时刻更加紧迫,算法在大多数情况下选择了更性能的虚拟机。
表8和表9展示了在Sipht工作流下的三种算法所产生的花费值,RSDS算法优势明显,在
Figure SMS_126
的情况下,分别在ROSA算法的基础上减少了12%、11.8%、9.2%、9.9%的花费,在PUR算法的基础上减少了47.9%、43.8%、34%、32.9%的花费。在影响因素/>
Figure SMS_127
的变化下,RSDS在ROSA与PUR算法的基础上分别减少了11.1%、52.5%,在/>
Figure SMS_128
因素的影响下,RSDS在两种算法的基础上分别减少了15%、39.2%,在/>
Figure SMS_129
因素的影响下分别减少了11.2%、43.3%。
表10和表11展示了在Inspiral工作流下的花费值,RSDS算法在不同的影响因素下整体上优于ROSA算法,对比PUR算法有绝对的优势。在不同的工作流下更低的花费说明了RSDS算法采用动态可伸缩的子截止日期方法来增加任务的可执行时间所带来的巨大优势。ROSA算法忽略了真实执行完成时间与截止日期之间的缝隙时间,PUR算法设置的子截止日期则更加的紧迫,相应的花费也最高。
表4
Figure SMS_130
表5
Figure SMS_131
表6
Figure SMS_132
表7
Figure SMS_133
表8
Figure SMS_134
表9
Figure SMS_135
表10
Figure SMS_136
表11
Figure SMS_137
在资源利用率方面,图6到图9展示了三种算法在不同工作流以及影响因素下的资源利用率,RSDS算法整体上优于ROSA与PUR。具体的,如图6所示在CyberShake工作流下,RSDS算法分别在
Figure SMS_138
、/>
Figure SMS_139
、/>
Figure SMS_140
、/>
Figure SMS_141
影响因素下,保持了最高的资源利用率,PUR算法利用率最低,这直接说明了PUR算法对工作流任务分配了不合理的子截止日期,算法根据截止日期选择了剩余空闲时间更多的虚拟机,并且这种空闲时段明显多于RSDS与ROSA算法。ROSA算法的资源利用率接近于RSDS,由于ROSA采用了固定的子截止日期,忽略了工作流真实完成时间与截止日期之间的间隙时间以及任务完成所产生的反馈信息,使得算法略偏向剩余空闲时间多的虚拟机,整体效果逊色于RSDS。
在Montage工作流下,如图7所示,RSDS在
Figure SMS_142
的影响因素下优势明显,在/>
Figure SMS_143
的情况下,在ROSA算法的基础上提高了7.8%、4.8%、3.8%,在PUR算法的基础上提高了133%、83.3%、68.7%。并且RSDS算法没有收到/>
Figure SMS_144
、/>
Figure SMS_145
、/>
Figure SMS_146
因素的影响,依旧保持了最高的利用率,说明了RSDS算法的稳定性。
图8展示了Sipht工作流下三种算法的资源利用率,RSDS算法在
Figure SMS_147
与/>
Figure SMS_148
的影响因素下高于ROSA,在/>
Figure SMS_149
与/>
Figure SMS_150
的影响下,ROSA算法接近于RSDS算法,在四种不同的影响因素下,PUR算法资源利用率都是最低。
图9展示了在Inspiral工作流下的资源利用率,RSDS算法在
Figure SMS_151
与/>
Figure SMS_155
的影响下要优于ROSA,在/>
Figure SMS_156
与/>
Figure SMS_153
的影响因素下ROSA算法略优于RSDS,PUR算法在/>
Figure SMS_154
、/>
Figure SMS_157
、/>
Figure SMS_158
、/>
Figure SMS_152
影响因素下效果最差。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (10)

1.一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,包括以下步骤:
先进行工作流任务信息解析,采用可伸缩算法对当前的工作流任务分配子截止日期,进行子截止日期设置;
判断子截止日期设置任务是否准备完成,当子截止日期设置任务完成后进行虚拟机选择,然后进行任务执行,当子截止日期设置任务未准备完成则进入任务池内;
任务执行开始后判断是否执行完成,执行完成后进行信息反馈,然后更新任务信息,任务未执行完成则再次进行虚拟机选择,然后进行任务执行。
2.根据权利要求1所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,所述子截止日期设置过程为:
先进行虚拟机排序、遍历和遍历当前的工作流任务;
然后计算预计开始时间、预计结束时间和工作流预计完成时间,判断工作流预计完成时间是否小于截止日期;
当工作流预计完成时间小于截止日期时,设置任务的子截止日期;
当工作流预计完成时间不小于截止日期时,判断所有虚拟机遍历是否完成,当所有虚拟机遍历完成时,以最大的虚拟机执行能力设置子截止日期,当所有虚拟机遍历没有完成时,返回虚拟机遍历步骤,然后再次进行设置,得到子截止日期后进入下一步骤。
3.根据权利要求2所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,所述虚拟机选择过程为:
先进行初始化虚拟机集合、设置花费值为无穷大,目标虚拟机为空;
然后进行遍历工作流任务列表、遍历虚拟机池,判断是否满足子截止日期,当满足子截止日期时,进行花费计算,存储最低花费值与对应的虚拟机信息;
当不满足子截止日期时,判断是否虚拟机遍历完成,当虚拟机没有遍历完成时,则再次进行遍历虚拟机池,然后继续后续步骤;当所有虚拟机遍历完成且目标虚拟机不为空时,设置目标虚拟机,当目标虚拟机为空时,则选择花费最低的虚拟机类型,释放新的资源。
4.根据权利要求3所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,所述信息反馈过程为:
先遍历已完成任务的后置任务、遍历当前任务的前置任务,所有前置任务已执行完毕后将当前任务设置为准备状态;
然后遍历当前任务的前置任务,判断预计开始时间是否减少,减少后更新任务子截止日期,不减少则继续进行遍历当前任务的前置任务,然后继续后续步骤,直至更新任务子截止日期。
5.根据权利要求4所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,所述子截止日期定义为:
Figure QLYQS_1
/>
Figure QLYQS_2
式中,
Figure QLYQS_3
是系统的当前时间,/>
Figure QLYQS_4
为任务的可执行时间,/>
Figure QLYQS_5
是一个可执行时间伸缩系数,/>
Figure QLYQS_6
表示预估的超前完成时间,/>
Figure QLYQS_7
为虚拟机的处理速度的影响变量,
Figure QLYQS_8
表示任务的预估执行时间,/>
Figure QLYQS_9
则是前置任务带来的延迟。
6.根据权利要求5所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,所述虚拟机池集合为
Figure QLYQS_10
,有以下限制条件:
Figure QLYQS_11
式中,
Figure QLYQS_12
表示任务/>
Figure QLYQS_13
在虚拟机/>
Figure QLYQS_14
上的开始时间,在经过时间条件筛选后的虚拟机集合为/>
Figure QLYQS_15
,在集合/>
Figure QLYQS_16
中选择花费最低的虚拟机,即
Figure QLYQS_17
Figure QLYQS_18
如果
Figure QLYQS_19
,RSDS方法将会以花费最低的原则释放新的资源。
7.根据权利要求6所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,一个任务的所有所述前置任务执行完毕后,判断条件如下:
Figure QLYQS_20
8.根据权利要求7所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,更新所述可执行时间
Figure QLYQS_21
,得到/>
Figure QLYQS_22
,表达式如下所示:
Figure QLYQS_23
后继任务的子截止日期更新为
Figure QLYQS_24
9.一种计算机可读存储介质,存储有程序代码,所述程序代码当被处理器执行时,实现如权利要求1-8之一所述的方法。
10.一种计算设备,包括处理器和存储有程序代码的存储介质,所述程序代码当被处理器执行时,实现如权利要求1-8之一所述的方法。
CN202310419404.3A 2023-04-19 2023-04-19 一种基于动态可调整子截止日期的云工作流调度方法 Active CN116149828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310419404.3A CN116149828B (zh) 2023-04-19 2023-04-19 一种基于动态可调整子截止日期的云工作流调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310419404.3A CN116149828B (zh) 2023-04-19 2023-04-19 一种基于动态可调整子截止日期的云工作流调度方法

Publications (2)

Publication Number Publication Date
CN116149828A true CN116149828A (zh) 2023-05-23
CN116149828B CN116149828B (zh) 2023-07-18

Family

ID=86373989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310419404.3A Active CN116149828B (zh) 2023-04-19 2023-04-19 一种基于动态可调整子截止日期的云工作流调度方法

Country Status (1)

Country Link
CN (1) CN116149828B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108154317A (zh) * 2018-01-25 2018-06-12 福建师范大学 多云环境下基于实例自适应分配整合的工作流组调度方法
CN115033357A (zh) * 2022-05-17 2022-09-09 南京邮电大学 基于动态资源选择策略的微服务工作流调度方法及装置
CN115269140A (zh) * 2022-07-05 2022-11-01 西安电子科技大学青岛计算技术研究院 一种基于容器的云计算工作流调度方法、系统及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108154317A (zh) * 2018-01-25 2018-06-12 福建师范大学 多云环境下基于实例自适应分配整合的工作流组调度方法
CN115033357A (zh) * 2022-05-17 2022-09-09 南京邮电大学 基于动态资源选择策略的微服务工作流调度方法及装置
CN115269140A (zh) * 2022-07-05 2022-11-01 西安电子科技大学青岛计算技术研究院 一种基于容器的云计算工作流调度方法、系统及设备

Also Published As

Publication number Publication date
CN116149828B (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
Ding et al. Q-learning based dynamic task scheduling for energy-efficient cloud computing
Cheng et al. Cost-aware job scheduling for cloud instances using deep reinforcement learning
Cui et al. A reinforcement learning-based mixed job scheduler scheme for grid or IaaS cloud
Tong et al. DDMTS: A novel dynamic load balancing scheduling scheme under SLA constraints in cloud computing
CN105302630B (zh) 一种虚拟机的动态调整方法及其系统
CN108804227A (zh) 基于移动云计算的计算密集型任务卸载和最佳资源配置的方法
CN109542620B (zh) 一种云中关联任务流的资源调度配置方法
CN109710372B (zh) 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
Ding et al. QoS-constrained service selection for networked microservices
CN111861412A (zh) 面向完成时间优化的科学工作流调度方法及系统
Zhou et al. Concurrent workflow budget-and deadline-constrained scheduling in heterogeneous distributed environments
Bansal et al. A multi-faceted optimization scheduling framework based on the particle swarm optimization algorithm in cloud computing
Peng et al. A reinforcement learning-based mixed job scheduler scheme for cloud computing under SLA constraint
Klusáček et al. Planning and optimization in torque resource manager
Li et al. Weighted double deep Q-network based reinforcement learning for bi-objective multi-workflow scheduling in the cloud
CN115033357A (zh) 基于动态资源选择策略的微服务工作流调度方法及装置
CN104598311A (zh) 一种面向Hadoop的实时作业公平调度的方法和装置
CN115586961A (zh) 一种ai平台计算资源任务调度方法、装置及介质
CN112306642B (zh) 一种基于稳定匹配博弈理论的工作流调度方法
Li et al. A QoS-based scheduling algorithm for instance-intensive workflows in cloud environment
Zolfaghari et al. A multi-class workflow ensemble management system using on-demand and spot instances in cloud
Xu et al. Deep reinforcement learning based resource allocation strategy in cloud-edge computing system
CN108270833B (zh) 渲染云资源的自动调度方法、装置及系统
CN116149828A (zh) 一种基于动态可调整子截止日期的云工作流调度方法
Kousalya et al. Hybrid algorithm based on genetic algorithm and PSO for task scheduling in cloud computing environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant