CN102364447A - 一种优化多任务间通信能耗的作业调度方法 - Google Patents
一种优化多任务间通信能耗的作业调度方法 Download PDFInfo
- Publication number
- CN102364447A CN102364447A CN 201110333204 CN201110333204A CN102364447A CN 102364447 A CN102364447 A CN 102364447A CN 201110333204 CN201110333204 CN 201110333204 CN 201110333204 A CN201110333204 A CN 201110333204A CN 102364447 A CN102364447 A CN 102364447A
- Authority
- CN
- China
- Prior art keywords
- task
- communication
- information table
- predecessor
- accomplished
- 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
Landscapes
- Multi Processors (AREA)
Abstract
本发明涉及一种优化多任务间通信能耗的作业调度方法:一:将用户提交的作业划分为具有依赖关系的多个独立任务,形成标准DAG图模型;二:根据DAG图获知任务的前驱、后继信息,为每个任务设置一个信息表和一个通信队列;三:当***中某任务A运行完成时,如任务A没有后继任务表示该作业运行完毕;否则将其后继任务的信息表中任务A的运行完成标识位置1,同时将该任务A***其后继任务的通信队列中;四:对于某任务B,若当前通信链路空闲,从通信队列中依次调度任务B的前驱任务与任务B进行通信;通信完成后将任务B的信息表中相应前驱任务通信完成标识位置1;五:当某任务的信息表中所有通信完成标志位均为1时,开始运行该任务。
Description
技术领域
本发明涉及一种计算机机群中多任务调度***,特别是对具有依赖关系的任务间通信进行管理,具体是指一种优化多任务间通信能耗的作业调度方法。属于计算机机群***领域。
背景技术
机群(cluster)***是互相连接的多个独立计算机的集合,这些计算机可以是单机或多处理器***(PC、工作站或SMP),每个结点都有自己的存储器、I/0设备和操作***。机群对用户和应用来说是一个单一的***,它可以提供低价高效的高性能环境和快速可靠的服务。机群以其卓越的性能价格比和良好的扩展性成为了当今高性能计算的主流体系结构。
作业调度***将机群计算环境中的计算资源整合起来,合理调度作业,充分利用机群计算资源,提高***的利用率。因此成为机群计算环境的核心和灵魂。近几年来,有关作业调度***的研究主要集中在提高性能和降低能耗两个方面。机群中作业运行耗能主要包括作业运行在处理器上的计算耗能和处理期间作业通信耗能。对于通信密集型作业,后者占据了相当大的比重。
目前,大部分的以降能耗为目的的作业调度方法集中在如何降低作业运行过程中的处理器耗能,而忽略了作业间的通信耗能。鉴于此,本发明设计并实现了一种计算机机群中多任务调度***,特别是对具有依赖关系的多任务间通信进行管理。
发明内容
本发明的目的是提供一种优化多任务间通信能耗的作业调度方法,具体而言是一种在计算机机群***中,对具有多任务间通信特征的作业进行调度的方法,用于解决具有依赖关系的多任务间通信因不能完全并发而进行通信资源争夺,进而使得并行应用程序调度周期增加,***能耗增大的问题。
首先定义如下:
定义1:在DAG(Directed Acyclic Graph,即有向无环图)图中,如果某项任务的运行依赖于另外一项任务的计算结果,则称该另外一项任务为该某项任务的前驱任务,该某项任务为该另外一项任务的后继任务。没有前驱任务的任务称为源点(source)任务,没有后继任务的任务称为汇点(sink)任务。
因此一个任务可以有0或1或多个前驱任务;同样,一个任务可以有0或1或多个后继任务。标准的DAG图有且仅有一个源点任务和一个汇点任务。
根据上述目的,本发明的技术方案如下:
将用户提交的并行应用程序(作业)划分为若干个独立的子任务,分配到机群的不同节点上。位于不同节点上的任务间通信遵循下述调度方法。
本发明的调度步骤为:
步骤一:将用户提交的作业划分为具有依赖关系的多个独立任务,即形成标准DAG图模型。
步骤二:根据DAG图获知任务的前驱、后继信息,为每个任务设置一个信息表和一个通信队列。信息表包括该任务的前驱任务、后继任务、前驱任务运行完成标识位和前驱任务与该任务通信完成标识位。通信队列中存放等待与该任务通信的前驱任务。
步骤三:当***中某任务A运行完成时,如任务A没有后继任务表示该作业运行完毕。否则将其后继任务的信息表中任务A的运行完成标识位置1,同时将该任务A***其后继任务的通信队列中。
步骤四:对于某任务B,若当前通信链路空闲,从通信队列中依次调度任务B的前驱任务与任务B进行通信。通信完成后将任务B的信息表中相应前驱任务通信完成标识位置1。
步骤五:当某任务的信息表中所有通信完成标志位均为1时,开始运行该任务。
本发明一种优化多任务间通信能耗的作业调度方法,其优势在于:(1)目前大部分以降功耗为目的的作业调度方法,只考虑任务在处理器上运行产生的能耗,而忽视了分配到不同处理器上的任务间通信产生的能耗。本发明中的方法弥补了这一不足。(2)本发明中提出的通信队列使得任务间有序通信,保证了最小的作业调度长度(schedule length),从而达到低功耗的目的。
附图说明
图1是用户提交的作业划分后形成的标准DAG图。
图2是本发明流程图。
具体实施方式
为了使本发明所述方法更加清晰,以下举实例并参照附图,对本发明进行进一步详细说明。
步骤一,将用户提交的作业进行划分,形成标准DAG型任务关系图。如图1所示,每个任务可以有多个前驱任务和多个后继任务。其中A1是源点(source)任务,E1是汇点(sink)任务。
步骤二,根据DAG图获知任务的前驱、后继信息,为每个任务设置一张信息表。如表1所示,任务的信息表中包含四项信息。图中“-”表示任务的前驱任务和后继任务,由DAG图得到。两项标识位均初始化为0。信息表长度由任务的实际前驱(或后继)任务个数决定。
表1
以C2为例,信息表如表2所示:
C2的后继任务是D1和E1。C2的前驱任务是B1和B2。相应的前驱任务完成标识位均为1,表示B1和B2均运行结束。B1对应的通信完成标识位为1,表示B1已完成和C2的通信。B2对应的通信完成标识位为初始化状态,表示B2尚未与C2通信。
C2的后继任务 | D1 | E1 |
C2的前驱任务 | B1 | B2 |
前驱任务完成标识位 | 1 | 1 |
通信完成标识位 | 1 | 0 |
表2
其中前驱任务完成标识位和通信完成标识位均初始化为0。
通信队列保证先执行完的前驱任务先通信,避免多个任务争夺通信资源。
步骤三,假设目前任务B1运行完毕,则根据B1信息表获知其后继任务是C1和C2。修改C1和C2信息表中,前驱任务B1所对应的前驱任务完成标识位为1,并将B1***C1和C2的通信队列中等待通信。
步骤四,待B1和C1通信完成后修改C1信息表中B1所对应的通信完成标识位为1。同样地,待B1和C2通信完成后修改C2信息表中B1所对应的通信完成标识位为1。
步骤五,若C2信息表中所有前驱任务的通信标识位均为1时,C2便开始执行。
图2所示为本发明流程图,完整的表达了从步骤一到步骤五的全过程。
Claims (1)
1.一种优化多任务间通信能耗的作业调度方法,调度步骤为:
步骤一:将用户提交的作业划分为具有依赖关系的多个独立任务,即形成标准DAG图模型;
步骤二:根据DAG图获知任务的前驱、后继信息,为每个任务设置一个信息表和一个通信队列;信息表包括该任务的前驱任务、后继任务、前驱任务运行完成标识位和前驱任务与该任务通信完成标识位;通信队列中存放等待与该任务通信的前驱任务;
步骤三:当***中某任务A运行完成时,如任务A没有后继任务表示该作业运行完毕;否则将其后继任务的信息表中任务A的运行完成标识位置1,同时将该任务A***其后继任务的通信队列中;
步骤四:对于某任务B,若当前通信链路空闲,从通信队列中依次调度任务B的前驱任务与任务B进行通信;通信完成后将任务B的信息表中相应前驱任务通信完成标识位置1;
步骤五:当某任务的信息表中所有通信完成标志位均为1时,开始运行该任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110333204A CN102364447B (zh) | 2011-10-28 | 2011-10-28 | 一种优化多任务间通信能耗的作业调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110333204A CN102364447B (zh) | 2011-10-28 | 2011-10-28 | 一种优化多任务间通信能耗的作业调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102364447A true CN102364447A (zh) | 2012-02-29 |
CN102364447B CN102364447B (zh) | 2012-09-26 |
Family
ID=45691013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110333204A Expired - Fee Related CN102364447B (zh) | 2011-10-28 | 2011-10-28 | 一种优化多任务间通信能耗的作业调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102364447B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102745192A (zh) * | 2012-06-14 | 2012-10-24 | 北京理工大学 | 一种混合动力车辆的分布式控制***的任务分配*** |
CN102774376A (zh) * | 2012-06-14 | 2012-11-14 | 北京理工大学 | 一种混合动力车辆的分布式控制***的任务分配方法 |
CN103491024A (zh) * | 2013-09-27 | 2014-01-01 | 中国科学院信息工程研究所 | 一种面向流式数据的作业调度方法及装置 |
CN104536811A (zh) * | 2014-12-26 | 2015-04-22 | 广州华多网络科技有限公司 | 基于hive任务的任务调度方法及装置 |
CN106130929A (zh) * | 2016-06-17 | 2016-11-16 | 众安在线财产保险股份有限公司 | 基于图论算法的互联网保险领域的业务报文自动处理方法和*** |
CN106547613A (zh) * | 2016-10-20 | 2017-03-29 | 西北工业大学 | 任务处理流程的调度及故障恢复方法 |
CN106900041A (zh) * | 2017-03-03 | 2017-06-27 | 上海斐讯数据通信技术有限公司 | 一种物联网节点节能方法及其装置 |
CN107943577A (zh) * | 2016-10-12 | 2018-04-20 | 百度在线网络技术(北京)有限公司 | 用于调度任务的方法和装置 |
CN108108231A (zh) * | 2016-11-24 | 2018-06-01 | 阿里巴巴集团控股有限公司 | 用户请求的生成、处理方法、装置、***及电子设备 |
CN108733832A (zh) * | 2018-05-28 | 2018-11-02 | 北京阿可科技有限公司 | 有向无环图的分布式存储方法 |
CN109871270A (zh) * | 2019-01-22 | 2019-06-11 | 深圳大学 | 调度方案生成方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845075A (zh) * | 2006-05-11 | 2006-10-11 | 上海交通大学 | 面向服务的网格高性能计算作业调度方法 |
CN101013384A (zh) * | 2007-02-08 | 2007-08-08 | 浙江大学 | 一种基于模型的实时***的可调度性分析方法 |
US20090077360A1 (en) * | 2007-09-18 | 2009-03-19 | Wei Liu | Software constructed stands for execution on a multi-core architecture |
CN101887367A (zh) * | 2010-06-22 | 2010-11-17 | 天津大学 | 一种多级并行化编程方法 |
US20110191324A1 (en) * | 2010-01-29 | 2011-08-04 | Song Wang | Transformation of directed acyclic graph query plans to linear query plans |
CN102163302A (zh) * | 2010-02-24 | 2011-08-24 | 北大方正集团有限公司 | 环节任务处理方法及装置 |
-
2011
- 2011-10-28 CN CN201110333204A patent/CN102364447B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845075A (zh) * | 2006-05-11 | 2006-10-11 | 上海交通大学 | 面向服务的网格高性能计算作业调度方法 |
CN101013384A (zh) * | 2007-02-08 | 2007-08-08 | 浙江大学 | 一种基于模型的实时***的可调度性分析方法 |
US20090077360A1 (en) * | 2007-09-18 | 2009-03-19 | Wei Liu | Software constructed stands for execution on a multi-core architecture |
US20110191324A1 (en) * | 2010-01-29 | 2011-08-04 | Song Wang | Transformation of directed acyclic graph query plans to linear query plans |
CN102163302A (zh) * | 2010-02-24 | 2011-08-24 | 北大方正集团有限公司 | 环节任务处理方法及装置 |
CN101887367A (zh) * | 2010-06-22 | 2010-11-17 | 天津大学 | 一种多级并行化编程方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102745192A (zh) * | 2012-06-14 | 2012-10-24 | 北京理工大学 | 一种混合动力车辆的分布式控制***的任务分配*** |
CN102774376A (zh) * | 2012-06-14 | 2012-11-14 | 北京理工大学 | 一种混合动力车辆的分布式控制***的任务分配方法 |
CN102774376B (zh) * | 2012-06-14 | 2014-03-12 | 北京理工大学 | 一种混合动力车辆的分布式控制***的任务分配方法 |
CN102745192B (zh) * | 2012-06-14 | 2014-03-12 | 北京理工大学 | 一种混合动力车辆的分布式控制***的任务分配*** |
CN103491024A (zh) * | 2013-09-27 | 2014-01-01 | 中国科学院信息工程研究所 | 一种面向流式数据的作业调度方法及装置 |
CN103491024B (zh) * | 2013-09-27 | 2017-01-11 | 中国科学院信息工程研究所 | 一种面向流式数据的作业调度方法及装置 |
CN104536811A (zh) * | 2014-12-26 | 2015-04-22 | 广州华多网络科技有限公司 | 基于hive任务的任务调度方法及装置 |
CN104536811B (zh) * | 2014-12-26 | 2018-10-16 | 广州华多网络科技有限公司 | 基于hive任务的任务调度方法及装置 |
CN106130929A (zh) * | 2016-06-17 | 2016-11-16 | 众安在线财产保险股份有限公司 | 基于图论算法的互联网保险领域的业务报文自动处理方法和*** |
CN106130929B (zh) * | 2016-06-17 | 2019-07-09 | 众安在线财产保险股份有限公司 | 基于图论算法的互联网保险领域的业务报文自动处理方法和*** |
CN107943577A (zh) * | 2016-10-12 | 2018-04-20 | 百度在线网络技术(北京)有限公司 | 用于调度任务的方法和装置 |
CN107943577B (zh) * | 2016-10-12 | 2022-03-04 | 上海优扬新媒信息技术有限公司 | 用于调度任务的方法和装置 |
CN106547613A (zh) * | 2016-10-20 | 2017-03-29 | 西北工业大学 | 任务处理流程的调度及故障恢复方法 |
CN106547613B (zh) * | 2016-10-20 | 2020-04-03 | 西北工业大学 | 任务处理流程的调度及故障恢复方法 |
CN108108231A (zh) * | 2016-11-24 | 2018-06-01 | 阿里巴巴集团控股有限公司 | 用户请求的生成、处理方法、装置、***及电子设备 |
CN106900041A (zh) * | 2017-03-03 | 2017-06-27 | 上海斐讯数据通信技术有限公司 | 一种物联网节点节能方法及其装置 |
CN106900041B (zh) * | 2017-03-03 | 2020-08-18 | 上海笃一物联科技有限公司 | 一种物联网节点节能方法及其装置 |
CN108733832A (zh) * | 2018-05-28 | 2018-11-02 | 北京阿可科技有限公司 | 有向无环图的分布式存储方法 |
CN108733832B (zh) * | 2018-05-28 | 2019-04-30 | 北京阿可科技有限公司 | 有向无环图的分布式存储方法 |
CN109871270A (zh) * | 2019-01-22 | 2019-06-11 | 深圳大学 | 调度方案生成方法及装置 |
CN109871270B (zh) * | 2019-01-22 | 2021-04-02 | 深圳大学 | 调度方案生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102364447B (zh) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102364447B (zh) | 一种优化多任务间通信能耗的作业调度方法 | |
CN102866912A (zh) | 一种单指令集异构多核***静态任务调度方法 | |
CN100576179C (zh) | 一种基于能量优化的网格调度方法 | |
CN109582448A (zh) | 一种面向关键度和时效性的边缘计算任务调度方法 | |
Bansal et al. | Dynamic task-scheduling in grid computing using prioritized round robin algorithm | |
Zidenberg et al. | Multiamdahl: How should i divide my heterogenous chip? | |
CN102231122A (zh) | 一种集群环境中基于分簇的节能调度方法 | |
CN112882828B (zh) | 基于slurm作业调度***的昇腾处理器管理和调度方法 | |
CN103034614A (zh) | 基于关键路径和任务复制的单任务多核调度方法 | |
CN103500123A (zh) | 异构环境中并行计算调度方法 | |
CN102999317A (zh) | 面向多租户的弹性多进程服务处理方法 | |
CN107316124A (zh) | 大数据环境下大规模事务型作业调度与处理通用平台 | |
Wang et al. | Dependency-aware network adaptive scheduling of data-intensive parallel jobs | |
CN109582457A (zh) | 片上网络异构多核***任务调度与映射 | |
CN103176850A (zh) | 一种基于负载均衡的电力***网络集群任务分配方法 | |
Tsai et al. | Heuristic scheduling strategies for linear-dependent and independent jobs on heterogeneous grids | |
CN101996105A (zh) | 可重构计算平台上的静态软硬件任务划分与调度方法 | |
Wang et al. | A study on heuristic task scheduling optimizing task deadline violations in heterogeneous computational environments | |
CN107918676A (zh) | 结构化查询的资源优化方法及数据库查询*** | |
CN106598716A (zh) | 一种基于多处理器的任务调度方法 | |
Jun et al. | Energy-aware tasks scheduling with deadline-constrained in clouds | |
Yang et al. | Study on static task scheduling based on heterogeneous multi-core processor | |
CN106896895A (zh) | 一种基于aov网关键路径查询的异构***动态功耗优化方法 | |
CN105117281A (zh) | 一种基于任务申请信号和处理器内核执行代价值的任务调度方法 | |
CN104699520B (zh) | 一种基于虚拟机迁移调度的节能方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120926 Termination date: 20181028 |