CN110377411B - 一种面向分布式云的工作流任务调度方法和系统 - Google Patents
一种面向分布式云的工作流任务调度方法和系统 Download PDFInfo
- Publication number
- CN110377411B CN110377411B CN201910660922.8A CN201910660922A CN110377411B CN 110377411 B CN110377411 B CN 110377411B CN 201910660922 A CN201910660922 A CN 201910660922A CN 110377411 B CN110377411 B CN 110377411B
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- scheduled
- workflow
- completion time
- 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.)
- Active
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
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
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)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种面向分布式云的工作流任务调度方法和系统,调度方法包括如下步骤:从工作流中获取依赖任务不是未被调度任务的未被调度任务,将这些未被调度任务作为待调度任务;计算各待调度任务的截止时间和在公有云上个虚拟机的完成时间,将各待调度任务分配至其完成时间小于且最接近其截止时间的虚拟机的待调度任务集中;将各虚拟机待调度任务集中完成时间最接近其截止时间的待调度任务调度到对应的虚拟机上。本发明提供的技术方案,在将未被调度任务调度到公有云上的虚拟机时充分考虑到了任务之间的依赖性和未被调度任务在虚拟机上的完成时间,从而提高未被调度任务在虚拟机上的执行效率,解决现有技术中的任务调度方法效率较低的问题。
Description
技术领域
本发明属于分布式云的任务调度控制技术领域,具体涉及一种面向分布式云的工作流任务调度方法和系统。
背景技术
云计算相对于传统的计算模式有着巨大优点,比如弹性的资源供应、按需付费、经济规模大、可用性高和可动态制定等。因此近十年来,在企业界和学术界的共同推动下,云计算产业生态得到了快速的发展。分布式云资源的多样性为云租户提供诸多优势,如可以就近处理用户请求以降低响应时间、利用共有资源的多样性以降低成本、防止供应商锁定、增加任务执行可靠性等。
如何低成本高效益地使用公有云资源已成为当前紧需解决的问题,其中任务调度是解决该问题的重要方法。任务调度是指通过将任务合理分配到公有云的虚拟机上,以达到降低成本、提高资源利用率、降低服务水平协议违约次数等目的。
现有的任务调度主要面向单个云场景,而单个云不具有分布式云资源多样性所带来的优势。目前已有的任务调度方法为简化问题只针对独立任务进行调度而忽视了任务之间的数据传输的依赖性以及分布式云环境网络结构的复杂性,从而可能因低性能的云间网络资源而导致服务水平协议的违约。
因此现有的任务调度方法由于忽略了分布式云资源的异构型,从而造成其存在效率较低的问题。
发明内容
本发明的目的是提供一种面向分布式云的工作流任务调度方法和系统,以解决现有技术中任务调度方法效率低的问题。
为实现上述目的,本发明采用如下技术方案:
一种面向分布式云的工作流任务调度方法,包括如下步骤:
(1)从工作流中获取依赖任务不是未被调度任务的未被调度任务,将这些未被调度任务作为待调度任务;
(2)计算各待调度任务的截止时间和在公有云上个虚拟机的完成时间,将各待调度任务分配至其完成时间小于且最接近其截止时间的虚拟机的待调度任务集中;
(3)将各虚拟机待调度任务集中完成时间最接近其截止时间的待调度任务调度到对应的虚拟机上。
进一步的,当待调度任务无依赖任务时,其完成时间为:
其截止时间为
其中fti为待调度任务ti的完成时间,di为待调度任务ti的截止时间,D为工作流截止时间,bk为用户和公有云pk之间的传输数据的宽带,eim为ti向用户传输的数据量,ei为用户向ti传输的数据量,fkl为虚拟机vkl的服务能力,si是待调度任务ti的计算工作量。
进一步的,当调度任务有依赖任务时,其完成时间为:
其截止时间为
其中fti为待调度任务ti的完成时间,fth为任务th的完成时间,di和dn分别为待调度任务ti和tn的截止时间,th和tn分别为工作流中第h和第n个任务,si和sn分别是待调度任务ti和tn的计算工作量,ehi为任务th完成后向任务ti传输的数据量,ein为任务ti完成后向tn传输的数据量;T为工作流的任务集合,Tj分别表示调度到公有云pj上的任务集合,Tkl为调度到虚拟机vkl上的任务集合,pk为第k个公有云,bk为用户和公有云pk之间的传输数据的宽带,bjk为公有云pj和pk之间传输数据的带宽,如果j=k,则bjk为公有云pk内部虚拟机之间传输数据的带宽,fkl为虚拟机vkl的服务能力,P表示公有云集合。
一种面向分布式云的工作流任务调度系统,包括处理器和存储器,所述存储器上存储有用于在处理器上执行的计算机程序;所述处理器执行所述计算机程序时,实现如下控制步骤:
(1)从工作流中获取依赖任务不是未被调度任务的未被调度任务,将这些未被调度任务作为待调度任务;
(2)计算各待调度任务的截止时间和在公有云上个虚拟机的完成时间,将各待调度任务分配至其完成时间小于且最接近其截止时间的虚拟机的待调度任务集中;
(3)将各虚拟机待调度任务集中完成时间最接近其截止时间的待调度任务调度到相应的虚拟机上。
当待调度任务无依赖任务时,其完成时间为:
其截止时间为
其中fti为待调度任务ti的完成时间,di为待调度任务ti的截止时间,D为工作流截止时间,bk为用户和公有云pk之间的传输数据的宽带,eim为ti向用户传输的数据量,ei为用户向ti传输的数据量,fkl为虚拟机vkl的服务能力,si是待调度任务ti的计算工作量。
进一步的,当调度任务有依赖任务时,其完成时间为:
其截止时间为
其中fti为待调度任务ti的完成时间,fth为任务th的完成时间,di和dn分别为待调度任务ti和tn的截止时间,th和tn分别为工作流中第h和第n个任务,si和sn分别是待调度任务ti和tn的计算工作量,ehi为任务th完成后向任务ti传输的数据量,ein为任务ti完成后向tn传输的数据量;T为工作流的任务集合,Tj表示调度到公有云pj上的任务集合,Tkl为调度到虚拟机vkl上的任务集合,pk为第k个公有云,bk为用户和公有云pk之间的传输数据的宽带,bjk为公有云pj和pk之间传输数据的带宽,如果j=k,则bjk为公有云pk内部虚拟机之间传输数据的带宽,fkl为虚拟机vkl的服务能力,P表示公有云集合。
本发明的有益效果:本发明所提供的技术方案,在将未被调度任务调度到公有云上的虚拟机时不仅充分考虑到了任务之间的依赖性,而且考虑到了未被调度任务在虚拟机上的完成时间,从而提高未被调度任务在虚拟机上的执行效率,解决现有技术中的任务调度方法效率较低的问题。
附图说明
图1是本发明方法实施例中面向分布式云的工作流任务调度方法的流程图。
具体实施方式
方法实施例:
本实施例提供一种面向分布云的工作流任务调度方法,用于解决现有技术中分布云任务调度不合理的问题。
本实施例所提供的面向分布云的工作流任务调度方法,其流程如图1所示,包括如下步骤:
(1)判断工作流的未被调度任务集中的各未被调度任务是否存在依赖任务,如果存在则判断其所依赖的任务是否是未被调度任务;
如果未被调度任务没有依赖任务,或者其依赖的任务不是未被调度任务,则将其作为待调度任务,从而建立待调度任务集。
(2)计算各待调度任务的截止时间和在公有云上可租用虚拟机的完成时间,将各调度任务分别调度到完成时间小于且最接近其截止时间的虚拟机,从而建立各虚拟机的待调度任务集;
待调度任务在虚拟机上的完成时间,是指虚拟机完成该调度任务所用的时间,计算待调度任务在虚拟机上的完成时间和待调度任务的截止时间时所采用的计算公式为:
当待调度任务ti无依赖任务时,其完成时间为
截止时间为
当待调度任务ti依赖任务th时,其完成时间为
截止时间为
计算待调度任务截止时间与各虚拟机完成其所用完成时间之差:
Δti=di-fti
其中fti为待调度任务ti的完成时间,fth为任务th的完成时间,di和dn分别为待调度任务ti和tn的截止时间,D为工作流截止时间,th和tn分别为工作流中第h和第n个任务,si和sn分别是待调度任务ti和tn的计算工作量,ehi为任务th完成后向任务ti传输的数据量,ein为任务ti完成后向tn传输的数据量;ei为用户向ti传输的数据量,当工作流中无依赖ti的任务时,eim为ti向用户传输的数据量,T为工作流的任务集合,Tj表示调度到公有云pj上的任务集合,Tkl为调度到虚拟机vkl上的任务集合,pk为第k个公有云,bk为用户和公有云pk之间的传输数据的宽带,bjk为公有云pj和pk之间传输数据的带宽,如果j=k,则bjk为公有云pk内部虚拟机之间传输数据的带宽,fkl为虚拟机vkl的服务能力,,P表示公有云集合。
(3)将各虚拟机待调度任务集中截止时间与其在对应虚拟机上完成时间之差最小的待调度任务调度到对应的虚拟机上。
系统实施例:
本实施例提供一种面向分布式云的工作流任务调度系统,包括处理器和存储器,存储器上存储有用于在处理器上执行的计算机程序,当处理器执行该计算机程序时,实现如上述方法实施例中所提供的面向分布式云的工作流任务调度方法,该方法已在上述方法实施例中做了详细介绍,这里不多做说明。
Claims (2)
1.一种面向分布式云的工作流任务调度方法,其特征在于,包括如下步骤:
(1)从工作流中获取依赖任务不是未被调度任务的未被调度任务,将这些未被调度任务作为待调度任务;
(2)计算各待调度任务的截止时间和在公有云上个虚拟机的完成时间,将各待调度任务分配至其完成时间小于且最接近其截止时间的虚拟机的待调度任务集中;
(3)将各虚拟机待调度任务集中完成时间最接近其截止时间的待调度任务调度到对应的虚拟机上;当待调度任务无依赖任务时,其完成时间为:
其截止时间为
其中fti为待调度任务ti的完成时间,di为待调度任务ti的截止时间,D为工作流截止时间,bk为用户和公有云pk之间的传输数据的宽带,eim为ti向用户传输的数据量,ei为用户向ti传输的数据量,fkl为虚拟机vkl的服务能力,si是待调度任务ti的计算工作量;当调度任务有依赖任务时,其完成时间为:
其截止时间为
其中fti为待调度任务ti的完成时间,di为待调度任务ti的截止时间,D为工作流截止时间,th和ti分别为工作流中第h和第n个任务,si和sn分别是待调度任务ti和th的计算工作量,ehi为任务th完成后向任务ti传输的数据量,ein为任务ti完成后向tn传输的数据量;ei为用户向ti传输的数据量,当工作流中无依赖ti的任务时,eim为ti向用户传输的数据量,T为工作流的任务集合,Tj和Tk分别表示调度到公有云pj和pk上的任务集合,Tkl为调度到虚拟机vkl上的任务集合,pj为第j个公有云,bk为用户和公有云pk之间的传输数据的宽带,bjk为公有云pj和pk之间传输数据的带宽,如果j=k,则bjk为公有云pk内部虚拟机之间传输数据的带宽,fkl为虚拟机vkl的服务能力。
2.一种面向分布式云的工作流任务调度系统,包括处理器和存储器,所述存储器上存储有用于在处理器上执行的计算机程序;其特征在于,所述处理器执行所述计算机程序时,实现如下控制步骤:
(1)从工作流中获取依赖任务不是未被调度任务的未被调度任务,将这些未被调度任务作为待调度任务;
(2)计算各待调度任务的截止时间和在公有云上个虚拟机的完成时间,将各待调度任务分配至其完成时间小于且最接近其截止时间的虚拟机的待调度任务集中;
(3)将各虚拟机待调度任务集中完成时间最接近其截止时间的待调度任务调度到相应的虚拟机上;当待调度任务无依赖任务时,其完成时间为:
其截止时间为
其中fti为待调度任务ti的完成时间,di为待调度任务ti的截止时间,D为工作流截止时间,bk为用户和公有云pk之间的传输数据的宽带,eim为ti向用户传输的数据量,ei为用户向ti传输的数据量,fkl为虚拟机vkl的服务能力,si是待调度任务ti的计算工作量;当调度任务有依赖任务时,其完成时间为:
其截止时间为
其中fti为待调度任务ti的完成时间,di为待调度任务ti的截止时间,D为工作流截止时间,th和ti分别为工作流中第h和第n个任务,si和sn分别是待调度任务ti和th的计算工作量,ehi为任务th完成后向任务ti传输的数据量,ein为任务ti完成后向tn传输的数据量;ei为用户向ti传输的数据量,当工作流中无依赖ti的任务时,eim为ti向用户传输的数据量,T为工作流的任务集合,Tj和Tk分别表示调度到公有云pj和pk上的任务集合,Tkl为调度到虚拟机vkl上的任务集合,pj为第j个公有云,bk为用户和公有云pk之间的传输数据的宽带,bjk为公有云pj和pk之间传输数据的带宽,如果j=k,则bjk为公有云pk内部虚拟机之间传输数据的带宽,fkl为虚拟机vkl的服务能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910660922.8A CN110377411B (zh) | 2019-07-22 | 2019-07-22 | 一种面向分布式云的工作流任务调度方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910660922.8A CN110377411B (zh) | 2019-07-22 | 2019-07-22 | 一种面向分布式云的工作流任务调度方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377411A CN110377411A (zh) | 2019-10-25 |
CN110377411B true CN110377411B (zh) | 2020-06-19 |
Family
ID=68254615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910660922.8A Active CN110377411B (zh) | 2019-07-22 | 2019-07-22 | 一种面向分布式云的工作流任务调度方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377411B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908772B (zh) * | 2019-11-14 | 2022-09-06 | 北京理工大学 | 一种提高多工作流可靠性的节能调度方法 |
CN113961323B (zh) * | 2021-10-20 | 2022-06-14 | 郑州轻工业大学 | 一种面向混合云的安全感知任务调度方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043096A (ja) * | 1999-07-29 | 2001-02-16 | Atr Adaptive Communications Res Lab | ソフトリアルタイムにおけるスケジューリング方法 |
CN103885826A (zh) * | 2014-03-11 | 2014-06-25 | 武汉科技大学 | 一种多核嵌入式系统实时任务调度实现方法 |
CN106020927A (zh) * | 2016-05-05 | 2016-10-12 | 中国人民解放军国防科学技术大学 | 一种云计算系统中任务调度与资源配置的通用方法 |
CN108021435A (zh) * | 2017-12-14 | 2018-05-11 | 南京邮电大学 | 一种基于截止时间的具有容错能力的云计算任务流调度方法 |
-
2019
- 2019-07-22 CN CN201910660922.8A patent/CN110377411B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043096A (ja) * | 1999-07-29 | 2001-02-16 | Atr Adaptive Communications Res Lab | ソフトリアルタイムにおけるスケジューリング方法 |
CN103885826A (zh) * | 2014-03-11 | 2014-06-25 | 武汉科技大学 | 一种多核嵌入式系统实时任务调度实现方法 |
CN106020927A (zh) * | 2016-05-05 | 2016-10-12 | 中国人民解放军国防科学技术大学 | 一种云计算系统中任务调度与资源配置的通用方法 |
CN108021435A (zh) * | 2017-12-14 | 2018-05-11 | 南京邮电大学 | 一种基于截止时间的具有容错能力的云计算任务流调度方法 |
Non-Patent Citations (1)
Title |
---|
云环境下计算资源动态能耗感知的并行任务调度方法;曹洁 等;《计算机科学》;20131108;第40卷(第10期);第39-44页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110377411A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kliazovich et al. | CA-DAG: Modeling communication-aware applications for scheduling in cloud computing | |
CN103810023B (zh) | 一种云平台中分布式应用的智能部署方法及系统 | |
CN101951411A (zh) | 云调度系统及方法以及多级云调度系统 | |
CN102567080B (zh) | 一种云计算环境中的面向负载均衡的虚拟机择位系统 | |
CN107038071B (zh) | 一种基于数据流预测的Storm任务伸缩调度算法 | |
CN103986786A (zh) | 一种远程云桌面操作系统 | |
CN103023980B (zh) | 一种云平台处理用户服务请求的方法和系统 | |
CN110377411B (zh) | 一种面向分布式云的工作流任务调度方法和系统 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
CN111083519A (zh) | 基于云和边缘计算的vr内容分发系统及方法 | |
CN109522114A (zh) | 虚拟化框架的雷达数据高速通信处理模块 | |
CN106657099B (zh) | 一种Spark数据分析服务发布系统 | |
CN104112049A (zh) | 基于P2P构架的MapReduce任务跨数据中心调度系统及方法 | |
CN104038390A (zh) | 一种基于netlink的linux服务器集群统一外设事件监听方法 | |
CN102339233A (zh) | 云计算集中管理平台 | |
CN106919442A (zh) | 多gpu调度装置和分布式计算系统以及多gpu调度方法 | |
CN110300188A (zh) | 数据传输系统、方法和设备 | |
CN102137162B (zh) | 基于软件即服务模式的cad集成系统 | |
CN102609307A (zh) | 多核多线程双操作系统网络设备及其控制方法 | |
CN116033025A (zh) | 基于云边协同的配电网自动化计算任务调度方法及系统 | |
CN109976873B (zh) | 容器化分布式计算框架的调度方案获取方法及调度方法 | |
CN107797870A (zh) | 一种云计算数据资源调度方法 | |
WO2022267646A1 (zh) | 一种容器集的部署方法及装置 | |
Salama | A swarm intelligence based model for mobile cloud computing | |
CN110704180B (zh) | 基于混合云的工作流调度方法 |
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 |