CN104077182B - 一种同优先级任务调度策略 - Google Patents
一种同优先级任务调度策略 Download PDFInfo
- Publication number
- CN104077182B CN104077182B CN201410308882.8A CN201410308882A CN104077182B CN 104077182 B CN104077182 B CN 104077182B CN 201410308882 A CN201410308882 A CN 201410308882A CN 104077182 B CN104077182 B CN 104077182B
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- generic
- scheduled
- priority
- 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.)
- Expired - Fee Related
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种同优先级任务调度策略,定义两类任务,第一类任务是指该任务所对应的作业中有其他任务在已完成任务队列里,第二类任务是指该任务所对应的作业中有其他任务在正在执行任务队列里;在一个调度周期内,如果待调度任务队列中存在第一类任务,那么选择第一类任务进行调度;如果待调度任务队列中不存在第一类任务而存在第二类任务,那么选择第二类任务进行调度;如果待调度任务队列中不存在上述两类任务,那么随机选择一个任务进行调度,本发明缩短了作业的平均完成时间和作业的平均周转时间,提高了系统吞吐量。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种同优先级任务调度策略。
背景技术
集群系统或称机群系统已经成为高性能计算机的主流计算平台,而集群作业管理则是保证集群高效运行的关键,也是集群应用的基础。同时,调度策略是集群作业管理系统的核心。一个好的调度算法不但可以减少作业的等待时间,缩短作业响应时间,还能够充分利用系统的资源,提高系统利用率。
在集群作业管理系统中,作业往往是大规模的,这些作业一般被切分成若干个任务后才能被调度和执行。在这里,调度器的调度单位是任务而不是作业。这些任务按照任务调度器的调度策略被分派到各个计算节点进行执行。一般情况下,这些任务被分配到不同的计算节点进行执行。每个任务执行完成之后整个作业即执行完成。
集群作业管理系统中任务调度的目标一般分为基于用户性能的目标和基于系统性能的目标。基于用户性能的调度目标一般包括作业的完成时间、作业的周转时间等。基于系统性能的调度目标一般包括资源利用率、系统吞吐量等。作业的完成时间是指作业中第一个任务开始执行到最后一个任务执行完成所经历的时间,即作业的执行时间。作业的周转时间是指作业从提交到全部完成的时间跨度,不仅包括执行时间还含有排队时间。资源利用率是指资源的忙闲程度或者资源使用百分比。系统吞吐量是指单位时间内集群系统完成的作业个数。
在基于优先级的任务调度系统中,每个作业都有一个优先级参数,这个作业被切分成的各个任务的优先级与这个作业的优先级相同;不同的作业可以有相同的优先级。这样,在系统中,经常会出现很多个任务具有相同优先级的情况。在传统基于优先级的调度系统中,优先级高的任务先于优先级低的任务得到执行,而对于优先级相同的任务,则没有一个高效的调度策略,而只是随机或按顺序选取一个任务进行执行。可能出现这种情况,即某个作业的部分任务早已执行完毕,但是由于其他一些同优先级的非此作业的任务一直在执行,这个作业的其余任务隔了很长时间才得到执行,从而大大增加了整个作业的周转时间。
发明内容
为了克服上述现有调度策略的缺点,本发明的目的在于提供一种同优先级任务调度策略,解决同优先级任务的高效调度问题。
为了达到上述目的,本发明采取的技术方案为:
定义两类任务,第一类任务是指该任务所对应的作业中有其他任务在已完成任务队列里,第二类任务是指该任务所对应的作业中有其他任务在正在执行任务队列里;在一个调度周期内,如果待调度任务队列中存在第一类任务,那么选择第一类任务进行调度;如果待调度任务队列中不存在第一类任务而存在第二类任务,那么选择第二类任务进行调度;如果待调度任务队列中不存在上述两类任务,那么随机选择一个任务进行调度。
设n个作业具有相同的优先级,n个作业分别记为J1,J2,…,Jn,J1,J2,…,Jn被对应切分为x1,x2,…,xn份任务,x1=x2=,…,=xn。
由同一个作业切分得到的各个任务具有相同的单机执行时间。
本发明的有益效果是:
本发明提出的同优先级任务调度策略,针对在优先级调度中经常会出现很多个任务具有相同优先级的情况,对于优先级相同的任务,首先选择存在已完成任务的作业优先调度,再选择正在执行任务的作业进行调度,如果不存在以上两类作业,最后随机选择一个作业调度,这样可以在不影响资源利用率的前提下尽量减少作业的完成时间、作业的周转时间,提高系统吞吐量。
附图说明
图1是本发明所述同优先级任务调度策略的算法流程图。
具体实施方式
下面结合附图和实施例对本发明作详细描述。
(一)集群系统中同优先级任务调度建模与分析
作业(Job):作业是用户请求资源的单位。
任务(Task):任务是作业通过切分后的一组子作业。一个作业被分为若干个任务。
设n个作业具有相同的优先级,n个作业分别记为J1,J2,…,Jn。n个作业被对应分为x1,x2,…,xn份任务。这些任务的优先级也是相同的。则任务集合为任务个数为x1+x2+x3+…+xn。n个作业中任务的单机执行时间分别为
为了简化这一模型,在这里做两个假定。假定每个作业被分为相同的份数x,则任务个数为n*x,任务集合为T1,1,T1,2,…,T1,x,T2,1,…,Tn,x。另外,假定同一作业中的各个任务的单机执行时间都相同。这样,建立了任务调度的简化版模型。
(二)集群系统中一个调度周期内同优先级任务调度策略如下:
定义两类Task,第一类是指Task所对应的Job中有其他Task在已完成任务队列里的Task,第二类是指Task所对应的Job中有其他Task在正在执行任务队列里的Task。
定义待调度任务队列TaskList={T1,T2,…,Tv},其中,T1,T2,…,Tv具有相同的优先级,在待调度任务队列中,如果存在第一类Task,那么选择此Task进行调度;如果不存在第一类Task而存在第二类Task,那么选择第二类Task进行调度;如果上述两类Task都不存在,那么随机选择一个Task进行调度。参见图1,即:
(三)集群系统中同优先级任务调度策略分析
假设J1,J2,J3,J4四个作业的优先级相同,这4个作业分别被分解成4个任务,分别为T1,1,T1,2,T1,3,T1,4,T2,1,T2,2,T2,3,T2,4,T3,1,T3,2,T3,3,T3,4,T4,1,T4,2,T4,3,T4,4。假定每个任务的单机执行时间都为t。另外假定在调度过程中集群中只有一台空闲机器。
按照本发明的调度策略(上文(二)),任务的执行顺序是同作业多个不同任务挨在一起先后执行,其中一种执行顺序为T1,1,T1,2,T1,3,T1,4,T2,1,T2,2,T2,3,T2,4,T3,1,T3,2,T3,3,T3,4,T4,1,T4,2,T4,3,T4,4。这样,J1,J2,J3,J4完成时间分别为4t,8t,12t,16t。作业平均完成时间为10t。
按照传统的调度策略,每次随机取一个任务调度,平均完成时间最长情况下,其中一种执行顺序为T1,1,T2,1,T3,1,T4,1,T1,2,T2,2,T3,2,T4,2,T1,3,T2,3,T3,3,T4,2,T1,4,T2,4,T3,4,T4,4。这样,J1,J2,J3,J4完成时间分别为13t,14t,15t,16t。作业平均完成时间为14.5t。平均完成时间最短情况即符合本发明调度策略的情况,完成时间分别为4t,8t,12t,16t。平均完成时间为10t。
(四)集群系统中同优先级任务调度策略实验验证
实验一,4个同优先级作业,每个作业被分成4个任务,共16个任务的情况下。
假设J1,J2,J3,J4四个作业的优先级相同,这4个作业分别被分解成4个任务,分别为T1,1,T1,2,T1,3,T1,4,T2,1,T2,2,T2,3,T2,4,T3,1,T3,2,T3,3,T3,4,T4,1,T4,2,T4,3,T4,4。假定集群中只有一台空闲机器,调度周期为1s,每个任务的单机执行时间约为60s。
按照传统调度策略,运行10次。每个作业的完成时间(秒s)如表1所示。
表1传统策略每个作业完成时间(秒)
J1 | 674 | 609 | 977 | 733 | 918 | 979 | 857 | 732 | 734 | 978 |
J2 | 612 | 854 | 795 | 855 | 976 | 673 | 795 | 978 | 551 | 673 |
J3 | 794 | 980 | 917 | 490 | 733 | 428 | 980 | 916 | 980 | 856 |
J4 | 979 | 392 | 672 | 977 | 611 | 917 | 612 | 612 | 917 | 613 |
这样,作业J1,J2,J3,J4的完成时间平均值分别为819.1s,776.2s,807.4s,730.2s。这四个作业完成时间平均值为783.225s。
按照本发明提出的调度策略,运行10次。每个作业的完成时间(秒s)如表2所示。
表2本发明策略每个作业完成时间(秒)
J1 | 731 | 980 | 490 | 489 | 977 | 247 | 734 | 246 | 489 | 247 |
J2 | 487 | 249 | 248 | 978 | 735 | 980 | 488 | 736 | 978 | 733 |
J3 | 244 | 732 | 978 | 731 | 246 | 492 | 245 | 979 | 735 | 491 |
J4 | 979 | 487 | 734 | 245 | 491 | 735 | 978 | 489 | 490 | 979 |
这样,作业J1,J2,J3,J4的完成时间平均值分别为563s,661.2s,587.3s,660.7s。这四个作业完成时间平均值为618.05s。
实验二,4个同优先级作业,每个作业被分成4个任务,共16个任务的情况下。
假设J1,J2,J3,J4四个作业的优先级相同,这4个作业分别被分解成4个任务,分别为T1,1,T1,2,T1,3,T1,4,T2,1,T2,2,T2,3,T2,4,T3,1,T3,2,T3,3, T3,4,T4,1,T4,2,T4,3,T4,4。假定集群中只有一台空闲机器,调度周期为1s,T1,1,T1,2,T1,3,T1,4的单机执行时间约为30s,T2,1,T2,2,T2,3,T2,4的单机执行时间约为40s,T3,1,T3,2,T3,3,T3,4的单机执行时间约为50s,T4,1,T4,2,T4,3,T4,4的单机执行时间约为60s。
按照传统调度策略,运行10次。每个作业的完成时间(秒s)如表3所示。
表3传统策略每个作业完成时间(秒)
J1 | 740 | 521 | 738 | 698 | 473 | 461 | 460 | 616 | 738 | 412 |
J2 | 709 | 675 | 614 | 739 | 688 | 738 | 429 | 358 | 501 | 688 |
J3 | 633 | 634 | 573 | 430 | 740 | 654 | 741 | 553 | 614 | 739 |
J4 | 552 | 737 | 707 | 624 | 596 | 367 | 690 | 739 | 707 | 515 |
这样,作业J1,J2,J3,J4的完成时间平均值分别为585.7s,613.9s,631.1s,623.4s。这四个作业完成时间平均值为613.525s。
按照本发明提出的调度策略,运行10次。每个作业的完成时间(秒s)如表4所示。
表4本发明策略每个作业完成时间(秒)
J1 | 738 | 125 | 739 | 534 | 123 | 533 | 495 | 367 | 289 | 125 |
J2 | 613 | 290 | 165 | 163 | 533 | 410 | 371 | 737 | 164 | 740 |
J3 | 205 | 495 | 369 | 739 | 741 | 739 | 205 | 433 | 493 | 330 |
J4 | 450 | 740 | 614 | 409 | 370 | 245 | 738 | 244 | 736 | 434 |
这样,作业J1,J2,J3,J4的完成时间平均值分别为406.8s,418.6s,474.9s,498s。这四个作业完成时间平均值为449.575s。
实验结果分析
通过分析实验一和实验二的实验结果可以发现,与传统的随机调度相比较,本发明提出的调度策略在不影响资源利用率的前提下缩短了作业的平均完成时间和作业的平均周转时间,提高了系统吞吐量。显然,本发明提出的调度策略比传统的随机调度更适用于同优先级情况下的任务调度。
Claims (3)
1.一种应用于集群作业管理系统的同优先级任务调度方法,其特征在于:包括以下步骤:定义两类任务,第一类任务是指该任务所对应的作业中有其他任务在已完成任务队列里,第二类任务是指该任务所对应的作业中有其他任务在正在执行任务队列里;在一个调度周期内,如果待调度任务队列中存在第一类任务,那么选择第一类任务进行调度;如果待调度任务队列中不存在第一类任务而存在第二类任务,那么选择第二类任务进行调度;如果待调度任务队列中不存在上述两类任务,那么随机选择一个任务进行调度。
2.根据权利要求1所述的方法,其特征在于:设n个作业具有相同的优先级,n个作业分别记为J1,J2,…,Jn,J1,J2,…,Jn被对应切分为x1,x2,…,xn份任务,x1=x2=,…,=xn。
3.根据权利要求1所述的方法,其特征在于:由同一个作业切分得到的各个任务具有相同的单机执行时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410308882.8A CN104077182B (zh) | 2014-06-30 | 2014-06-30 | 一种同优先级任务调度策略 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410308882.8A CN104077182B (zh) | 2014-06-30 | 2014-06-30 | 一种同优先级任务调度策略 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104077182A CN104077182A (zh) | 2014-10-01 |
CN104077182B true CN104077182B (zh) | 2017-04-26 |
Family
ID=51598452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410308882.8A Expired - Fee Related CN104077182B (zh) | 2014-06-30 | 2014-06-30 | 一种同优先级任务调度策略 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104077182B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731645A (zh) * | 2015-03-19 | 2015-06-24 | 蔡树彬 | 一种任务调度方法和装置及数据下载方法和装置 |
CN114580932A (zh) * | 2022-03-08 | 2022-06-03 | 中联重科股份有限公司 | 一种建筑施工机群任务调度方法、装置及任务调度中心 |
CN116029646B (zh) * | 2023-02-15 | 2024-08-20 | 史达克智能自动化装备(苏州)有限公司 | 一种基于物联网的物流设备控制系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8056079B1 (en) * | 2005-12-22 | 2011-11-08 | The Mathworks, Inc. | Adding tasks to queued or running dynamic jobs |
CN103677752A (zh) * | 2012-09-19 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 基于分布式数据的并发处理方法和系统 |
CN103729480A (zh) * | 2014-01-29 | 2014-04-16 | 重庆邮电大学 | 一种多核实时操作系统多个就绪任务快速查找及调度方法 |
-
2014
- 2014-06-30 CN CN201410308882.8A patent/CN104077182B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8056079B1 (en) * | 2005-12-22 | 2011-11-08 | The Mathworks, Inc. | Adding tasks to queued or running dynamic jobs |
CN103677752A (zh) * | 2012-09-19 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 基于分布式数据的并发处理方法和系统 |
CN103729480A (zh) * | 2014-01-29 | 2014-04-16 | 重庆邮电大学 | 一种多核实时操作系统多个就绪任务快速查找及调度方法 |
Non-Patent Citations (1)
Title |
---|
一种基于梯形自调度技术的集群任务调度的实现;徐正光,陈雁,尹怡欣,胡长军,王珏;《计算机工程》;20051231;第31卷(第23期);第63-89页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104077182A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mao et al. | Learning scheduling algorithms for data processing clusters | |
CN107888669B (zh) | 一种基于深度学习神经网络的大规模资源调度系统及方法 | |
CA2963088C (en) | Apparatus and method for scheduling distributed workflow tasks | |
CN108920261A (zh) | 一种适于大规模并行数据处理任务的两级自适应调度方法 | |
CN103729246B (zh) | 一种任务调度方法和装置 | |
CN108762921B (zh) | 一种Spark集群系统的在线优化分区的任务调度方法及装置 | |
CN104765640B (zh) | 一种智能服务调度方法 | |
CN111782355B (zh) | 一种基于混合负载的云计算任务调度方法及系统 | |
CN103679388B (zh) | 生产调度方法及生产调度系统 | |
CN103593323A (zh) | 一种MapReduce任务资源配置参数的机器学习方法 | |
CN112231081B (zh) | 云环境下基于pso-ahp的单调速率资源调度方法及系统 | |
CN111061565B (zh) | 一种Spark环境下的两段式流水线任务调度方法及系统 | |
CN113222253B (zh) | 排产优化方法、装置、设备及计算机可读存储介质 | |
CN105740059B (zh) | 一种面向可分割任务的粒子群调度方法 | |
CN104077182B (zh) | 一种同优先级任务调度策略 | |
CN107291550A (zh) | 一种针对迭代应用的Spark平台资源动态分配方法及系统 | |
CN103685492B (zh) | Hadoop集群系统的调度方法、调度装置及其应用 | |
CN110187956A (zh) | 一种多智能体平台的分层实时任务调度方法和系统 | |
CN106897199A (zh) | 一种基于大数据处理框架共有特征的批作业执行时间预测方法 | |
CN108268312A (zh) | 任务调度方法和调度器 | |
Tang et al. | Mrorder: Flexible job ordering optimization for online mapreduce workloads | |
CN116862206B (zh) | 一种自适应优化生产计划的分布式制造执行的方法和系统 | |
Zhang et al. | Optimizing completion time and resource provisioning of pig programs | |
CN106648834B (zh) | 基于批装箱问题的虚拟机调度方法 | |
Sung et al. | Deep reinforcement learning for system-on-chip: Myths and realities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170426 Termination date: 20210630 |
|
CF01 | Termination of patent right due to non-payment of annual fee |