[发明专利]基于CPU+GPU异构处理平台的多核并行调度方法有效

专利信息
申请号: 202110622040.X 申请日: 2021-06-03
公开(公告)号: CN113553103B 公开(公告)日: 2022-09-23
发明(设计)人: 杨迪;马金全;岳春生;沈志翀;沈小龙 申请(专利权)人: 中国人民解放军战略支援部队信息工程大学
主分类号: G06F9/38 分类号: G06F9/38;G06F9/50
代理公司: 郑州大通专利商标代理有限公司 41111 代理人: 张立强
地址: 450000 河*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 cpu gpu 处理 平台 多核 并行 调度 方法
【权利要求书】:

1.一种基于CPU+GPU异构处理平台的多核并行调度方法,其特征在于,包括:

步骤1,构建应用的DAG图,所述DAG图包括多个任务节点;

步骤2,基于构建的DAG图进行负载部署决策,计算GPU与CPU在任务调度队列中的“交汇点”P点的位置,队首到P点之间的任务预分配给GPU类型处理器,P点到队尾之间的任务预分配给CPU类型处理器,得到GPU和CPU两组任务调度队列;

步骤3,按照最长路径列表中的排序依次调度任务,确定任务优先级;

步骤4,在处理器选择阶段,在GPU和CPU两组任务调度队列范围中,按照所选择的处理器可使任务的最早完成时间与其后续任务到出口任务的最长路径之和最小的原则分配GPU和CPU;

步骤5,通过分配的CPU或GPU对任务进行调度;

所述步骤2包括:

步骤2.1,负载判断决策:针对可预测的负载进行分析判断,计算出各个子任务的计算量,并保存相应结果到数组里;

步骤2.2,负载分支预测:对于有负载分支的任务,在步骤2.1进行的同时进行分支的预测,并保存结果;

步骤2.3,分配子任务调度队列:根据计算结果,将数组内元素按照从大到小的顺序进行排列,并将子任务分配到调度队列中;将分支预测的结果按照相同计算类型进行合并,整体划到队列中;

步骤2.4,处理器迭代任务预处理:将相同类型的处理器分别预部署到任务调度队列上,在该队列中队首的迭代任务计算量大,预分配给高速的GPU;队尾的迭代任务计算量小,预分配给低速的CPU;根据CPU、GPU的处理能力以及任务计算量数据,预先计算出GPU与CPU在调度队列中的“交汇点”P的位置,队首到P点之间的任务预分配给GPU类型处理器,P点到队尾之间的任务预分配给CPU类型处理器,得到GPU和CPU两组调度队列;

按照如下方式计算出GPU与CPU在调度队列中的“交汇点”P的位置:

CAC(vp)≤CAC(vG)CAC(vp+1) (3)

其中,CAC(vk)是在数组队列k个任务的累计计算量,CAC(vG)是GPU获得的累计计算量,Tnum是CPU线程总数,CAC(vn)是所有n个任务的计算量总和,CS是GPU相对一个CPU内核的计算加速比。

2.根据权利要求1所述的基于CPU+GPU异构处理平台的多核并行调度方法,其特征在于,所述DAG图表示为:DAG=[V,E,C,TC,P,PPC,PTS],其中V={vi}表示任务节点集合;E={eij}表示两节点的有向边集合,eij表示数据流向是从节点i流向节点j;C={Ci}表示节点的计算量集合;TC={TCi}是节点的数据传输量集合,其中的元素值为节点vi到后续节点的数据传输总量;P={pi}表示处理器集合;PPC={PPCi}表示处理器的属性集合,体现了其执行处理能力;PTS={PTSij}表示处理器间的传输速率集合。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110622040.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top