CN116149828A - 一种基于动态可调整子截止日期的云工作流调度方法 - Google Patents
一种基于动态可调整子截止日期的云工作流调度方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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中信息反馈过程为:
先遍历已完成任务的后置任务、遍历当前任务的前置任务,所有前置任务已执行完毕后将当前任务设置为准备状态;
然后遍历当前任务的前置任务,判断预计开始时间是否减少,减少后更新任务子截止日期,不减少则继续进行遍历当前任务的前置任务,然后继续后续步骤,直至更新任务子截止日期。
并且存在以下约束条件:
在调度的过程中,减少虚拟机的花费是一个需要被优化的目标,被表示为:
使用集合来表示云资源中所有的虚拟机类型,总类型数量为,集合/>表示虚拟机池。/>表示集合/>中的第/>种虚拟机的类型,并用/>来定义虚拟机类型为/>的第/>台虚拟机。此外,虚拟机只会以单位时间被租用,超过单位时间的剩余部分也将会按照一整个单位时间进行收费,例如一个任务的执行时间为1.5h,并且虚拟机以单位时间1h被租用,则超过的0.5h部分将会按照1h时间进行收费。虚拟机的单位时间花费定义为/>,此外所有的虚拟机会被资源管理器监视,进行动态的租赁与释放。
用户动态的提交工作流到云端,用一个无限集来表示云端当前待处理的工作流,对于任意一个工作流/>可以建模为/>,其中/>定义为工作流的到达时间,/>定义为工作流的截止时间,/>表示为工作流的具体结构。给定一个工作流的/>,其中/>是/>个任务的集合/>,/>是任务之间依赖关系的集合, 表示为/>,依赖关系/>表示了任务/>和任务/>的依赖约束,它意味着任务/>必须等到任务/>执行完毕才能开始执行。如果两个任务之间有数据传输的行为,那么认为 DAG图中这两个任务之间有一条边。此外,用/>来表示任务/>的前置任务,用/>来表示/>的后继任务。
在时间预分配阶段,为了能够在截止日期完成工作流,算法会通过预估的做法为每个工作流任务设置子截止日期,并基于子截止日期为每个工作流任务选择虚拟机。子截止日期定义为:
式中,是系统的当前时间,/>定义为任务的可执行时间,/>是一个可执行时间伸缩系数,/>表示预估的超前完成时间,/>定义为虚拟机的处理速度的影响变量,该变量在后续实验中会被具体介绍,/>表示任务的预估执行时间,/>则是前置任务带来的延迟。
在算法中,通过第一阶段预估了任务的完成时间后,根据工作流预计的超前完成时间分配每个任务的可执行时间,并根据前置任务的完成情况设置每个工作流的子截止日期。通过调节伸缩系数,来设置每个任务的子截止日期,极大限度的将工作流的整体真实完成时间向截止日期逼近,降低不必要的花费。
接着进行虚拟机的选择,在RSDS方法中,任务在虚拟机上的预计完成时刻以及所需要的花费是筛选虚拟机的两个条件。
一方面为了保证高的工作流调度的成功率,即工作流尽可能的在截止期限之前完成,必须要参考虚拟机确定执行任务的完成时刻;另一方面尽可能降低花费,因此将花费作为另一个筛选虚拟机的条件。
高的云资源利用率对与提供商来说极为重要,因此,在调度的过程需要尽可能最大化资源利用率,并被表示为:
其中,表示虚拟机执行任务所花费的总时间,/>表示虚拟机待机时间。任务执行完毕后,调整后续任务的子截止日期。由于云资源性能的波动性,无法准确预测任务的实际完成时间,只有当任务执行完毕后才会记录准确的开始时间和完成时间,因此在工作流任务子截止日期预设置的阶段,使用预估的开始时间以及完成时间来为每个工作流任务设置子截止日期,这种做法会存在一定的偏差,考虑工作流结构的特点,前置任务引起的偏差会直接影响到后继任务。为了减少偏差,RSDS方法在任务执行完毕后,会记录下当前任务的真实完成时间,为后继任务提供准确的参考。前置任务的提前完成可能会增加后继任务的可执行时间,因此当一个任务的所有前置任务执行完毕后,RSDS方法会有以下判断条件:
当任务的前置任务的最大的实际完成时间提前时,RSDS方法会去更新后继任务的预测开始时间,来增加任务的可执行时间,在其他情况下,RSDS方法则会保留原来的值。接下来更新可执行时间,得到/>,表达式如下所示:
为了验证算法的有效性,实验在CyberShake、Sipht、Insprial、Montage四种不同的工作流下对比了ROSA算法,PUR算法,对比指标为花费和资源利用率,本节详细阐述了对比实验的实验设置以及实验结果。
RSDS算法采用Java语言编写,部署在了一台CPU i7-9750H,16GB RAM,主频2.60GHz的主机上。实验模拟的云环境场景为一个数据中心和8种不同类型的虚拟机,虚拟机配置和价格采用Amazon EC2服务配置,如表1所示,其中F(k)表示虚拟机性能的影响因子,所使用的工作流信息如表2所示,需要说明的是在某一种工作流下实验,每次生成的具体的工作流将会从三个不同任务数量的工作流随机选择。
表1
表2
在实验中,用的泊松分布来模拟工作流的某一时刻达到的数量,为了模拟云环境的不确定性,当任务被分配到虚拟机,任务的实际执行时间采用期望值/>,方差为/>的正态分布乘以虚拟机的性能因素/>来设置任务的实际执行时间,如下所示
任务的预测完成时间如下所示:
式中,影响因子β用来模拟数据传输时间的波动。
表3
图5展示了在不同的伸缩系数下,成功率与虚拟机花费的关系,不难看出随着花费的降低成功率也在不断的下降,当时,RSDS算法调度的成功率为100%,/>时,调度的成功率依然保持较高,但开始出现波动,意味着工作流的真实完成时间与截止日期极为接近,因此在保证成功率的前提下,将/>设置为0.1。/>
在花费方面,表4至表11分别展示了RSRS算法、ROSA算法以及PUR算法在不同的影响因素以及工作流下的花费值。
表4和表5展示了三种算法使用CyberShake工作流,在不同影响因素下所产生的花费值,可以看到RSDS始终保持着最低的花费,这主要由于RSDS算法采用了可伸缩与动态更新的子截止日期设置方法,使得每个工作流任务有更大的可执行时间,选择了更多低性能的虚拟机。ROSA算法的花费值略高于RSDS,PUR算法花费值远高于RSDS算法与PUR,在值不断增高的情况下,RSDS算法与ROSA算法产生的花费有着小幅度的增大,PUR算法的花费大幅度增加。在/>、/>、/>三种参数不同数值的影响下,RSDS算法依旧保持了最低的花费,验证了RSDS算法的有效性。
在Montage工作流下,如表6与表7所示,RSDS算法相较于ROSA算法与PUR算法在更多的情况下的花费最低,PUR算法的花费最高,这说明PUR算法分配给工作流任务的完成时刻更加紧迫,算法在大多数情况下选择了更性能的虚拟机。
表8和表9展示了在Sipht工作流下的三种算法所产生的花费值,RSDS算法优势明显,在的情况下,分别在ROSA算法的基础上减少了12%、11.8%、9.2%、9.9%的花费,在PUR算法的基础上减少了47.9%、43.8%、34%、32.9%的花费。在影响因素/>的变化下,RSDS在ROSA与PUR算法的基础上分别减少了11.1%、52.5%,在/>因素的影响下,RSDS在两种算法的基础上分别减少了15%、39.2%,在/>因素的影响下分别减少了11.2%、43.3%。
表10和表11展示了在Inspiral工作流下的花费值,RSDS算法在不同的影响因素下整体上优于ROSA算法,对比PUR算法有绝对的优势。在不同的工作流下更低的花费说明了RSDS算法采用动态可伸缩的子截止日期方法来增加任务的可执行时间所带来的巨大优势。ROSA算法忽略了真实执行完成时间与截止日期之间的缝隙时间,PUR算法设置的子截止日期则更加的紧迫,相应的花费也最高。
表4
表5
表6
表7
表8
表9
表10
表11
在资源利用率方面,图6到图9展示了三种算法在不同工作流以及影响因素下的资源利用率,RSDS算法整体上优于ROSA与PUR。具体的,如图6所示在CyberShake工作流下,RSDS算法分别在、/>、/>、/>影响因素下,保持了最高的资源利用率,PUR算法利用率最低,这直接说明了PUR算法对工作流任务分配了不合理的子截止日期,算法根据截止日期选择了剩余空闲时间更多的虚拟机,并且这种空闲时段明显多于RSDS与ROSA算法。ROSA算法的资源利用率接近于RSDS,由于ROSA采用了固定的子截止日期,忽略了工作流真实完成时间与截止日期之间的间隙时间以及任务完成所产生的反馈信息,使得算法略偏向剩余空闲时间多的虚拟机,整体效果逊色于RSDS。
在Montage工作流下,如图7所示,RSDS在的影响因素下优势明显,在/>的情况下,在ROSA算法的基础上提高了7.8%、4.8%、3.8%,在PUR算法的基础上提高了133%、83.3%、68.7%。并且RSDS算法没有收到/>、/>、/>因素的影响,依旧保持了最高的利用率,说明了RSDS算法的稳定性。
图8展示了Sipht工作流下三种算法的资源利用率,RSDS算法在与/>的影响因素下高于ROSA,在/>与/>的影响下,ROSA算法接近于RSDS算法,在四种不同的影响因素下,PUR算法资源利用率都是最低。
图9展示了在Inspiral工作流下的资源利用率,RSDS算法在与/>的影响下要优于ROSA,在/>与/>的影响因素下ROSA算法略优于RSDS,PUR算法在/>、/>、/>、/>影响因素下效果最差。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,包括以下步骤:
先进行工作流任务信息解析,采用可伸缩算法对当前的工作流任务分配子截止日期,进行子截止日期设置;
判断子截止日期设置任务是否准备完成,当子截止日期设置任务完成后进行虚拟机选择,然后进行任务执行,当子截止日期设置任务未准备完成则进入任务池内;
任务执行开始后判断是否执行完成,执行完成后进行信息反馈,然后更新任务信息,任务未执行完成则再次进行虚拟机选择,然后进行任务执行。
2.根据权利要求1所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,所述子截止日期设置过程为:
先进行虚拟机排序、遍历和遍历当前的工作流任务;
然后计算预计开始时间、预计结束时间和工作流预计完成时间,判断工作流预计完成时间是否小于截止日期;
当工作流预计完成时间小于截止日期时,设置任务的子截止日期;
当工作流预计完成时间不小于截止日期时,判断所有虚拟机遍历是否完成,当所有虚拟机遍历完成时,以最大的虚拟机执行能力设置子截止日期,当所有虚拟机遍历没有完成时,返回虚拟机遍历步骤,然后再次进行设置,得到子截止日期后进入下一步骤。
3.根据权利要求2所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,所述虚拟机选择过程为:
先进行初始化虚拟机集合、设置花费值为无穷大,目标虚拟机为空;
然后进行遍历工作流任务列表、遍历虚拟机池,判断是否满足子截止日期,当满足子截止日期时,进行花费计算,存储最低花费值与对应的虚拟机信息;
当不满足子截止日期时,判断是否虚拟机遍历完成,当虚拟机没有遍历完成时,则再次进行遍历虚拟机池,然后继续后续步骤;当所有虚拟机遍历完成且目标虚拟机不为空时,设置目标虚拟机,当目标虚拟机为空时,则选择花费最低的虚拟机类型,释放新的资源。
4.根据权利要求3所述的一种基于动态可调整子截止日期的云工作流调度方法,其特征在于,所述信息反馈过程为:
先遍历已完成任务的后置任务、遍历当前任务的前置任务,所有前置任务已执行完毕后将当前任务设置为准备状态;
然后遍历当前任务的前置任务,判断预计开始时间是否减少,减少后更新任务子截止日期,不减少则继续进行遍历当前任务的前置任务,然后继续后续步骤,直至更新任务子截止日期。
9.一种计算机可读存储介质,存储有程序代码,所述程序代码当被处理器执行时,实现如权利要求1-8之一所述的方法。
10.一种计算设备,包括处理器和存储有程序代码的存储介质,所述程序代码当被处理器执行时,实现如权利要求1-8之一所述的方法。
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)
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 | 西安电子科技大学青岛计算技术研究院 | 一种基于容器的云计算工作流调度方法、系统及设备 |
-
2023
- 2023-04-19 CN CN202310419404.3A patent/CN116149828B/zh active Active
Patent Citations (3)
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 |