[发明专利]用于任务调度的方法和装置有效
申请号: | 202010425791.8 | 申请日: | 2020-05-19 |
公开(公告)号: | CN111597028B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 张佩珩 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 任务 调度 方法 装置 | ||
1.一种用于任务调度的方法,包括:
获取待执行任务包括的子任务的耗时信息以及子任务之间的依赖关系信息;
根据所述依赖关系信息和所述耗时信息生成有向无环图;
将所述有向无环图中耗时最长的一条路径确定为关键路径;
根据所述关键路径生成表征子任务执行顺序的子任务序列,包括:从所述关键路径的第一个节点起,依次将所述关键路径中未加入子任务序列的节点确定为目标节点;响应于确定所述目标节点不存在未加入子任务序列的前继子任务,将所述目标节点和所述目标节点的兄弟节点加入子任务序列;
将所述子任务序列分配至处理单元执行。
2.根据权利要求1所述的方法,其中,所述根据所述关键路径生成表征子任务执行顺序的子任务序列,还包括:
响应于确定所述目标节点存在未加入子任务序列的前继子任务,将所述有向无环图中不存在未加入子任务序列的前继子任务的节点加入子任务序列。
3.根据权利要求1所述的方法,其中,所述子任务的耗时信息经由以下步骤确定:
将子任务的复杂度信息、计算数据量信息、通信带宽信息输入预先建立的耗时确定模型,生成子任务的耗时信息。
4.根据权利要求1-3中任一项所述的方法,其中,所述将所述子任务序列分配至处理单元执行,包括:
确定所述处理单元的数量和所述的子任务序列的数量;
响应于确定所述处理单元的数量小于所述子任务序列的数量,混合所述子任务序列,其中,混合后的子任务序列的数量与所述处理单元的数量相同;
将混合后的子任务序列分配至不同处理单元执行。
5.根据权利要求4所述的方法,其中,所述混合所述子任务序列,包括:
确定所述子任务序列中各个子任务序列的耗时;
根据确定的耗时混合所述子任务序列,使得混合后的子任务序列之间耗时的差值最小。
6.根据权利要求4所述的方法,其中,所述混合所述子任务序列,包括:
将待混合的两个子任务序列中的子任务交替放置,得到混合后的子任务序列。
7.一种用于任务调度的装置,包括:
获取单元,被配置成获取待执行任务包括的子任务的耗时信息以及子任务之间的依赖关系信息;
第一确定单元,被配置成根据所述依赖关系信息和所述耗时信息生成有向无环图;将所述有向无环图中耗时最长的一条路径确定为关键路径;
生成单元,被配置成根据所述关键路径生成表征子任务执行顺序的子任务序列,包括:从所述关键路径的第一个节点起,依次将所述关键路径中未加入子任务序列的节点确定为目标节点;响应于确定所述目标节点不存在未加入子任务序列的前继子任务,将所述目标节点和所述目标节点的兄弟节点加入子任务序列;
分配单元,被配置成将所述子任务序列分配至处理单元执行。
8.根据权利要求7所述的装置,其中,所述生成单元,进一步被配置成:
响应于确定所述目标节点存在未加入子任务序列的前继子任务,将所述有向无环图中不存在未加入子任务序列的前继子任务的节点加入子任务序列。
9.根据权利要求7所述的装置,其中,所述装置还包括第二确定单元,所述第二确定单元被配置成:
将子任务的复杂度信息、计算数据量信息、通信带宽信息输入预先建立的耗时确定模型,生成子任务的耗时信息。
10.根据权利要求7-9中任一项所述的装置,其中,所述分配单元,包括:
确定模块,被配置成确定所述处理单元的数量和所述子任务序列的数量;
混合模块,被配置成响应于确定所述处理单元的数量小于所述子任务序列的数量,混合所述子任务序列,其中,混合后的子任务序列的数量与所述处理单元的数量相同;
分配模块,被配置成将混合后的子任务序列分配至不同处理单元执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010425791.8/1.html,转载请声明来源钻瓜专利网。