首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

异构众核上基于剖析技术以及数据流信息的动态资源调度方法 

申请/专利权人:西南科技大学

申请日:2020-07-01

公开(公告)日:2024-06-28

公开(公告)号:CN113886057B

主分类号:G06F9/50

分类号:G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.06.28#授权;2022.01.21#实质审查的生效;2022.01.04#公开

摘要:本发明公开了一种异构众核上基于剖析技术以及数据流信息的动态资源调度方法,涉及异构众核系统领域。该方法包括:程序剖析,确定可并行循环体的执行次数;确定循环体的数据流图;设定阈值,计算所需GPU数量;根据依赖划分GPU任务大小;根据任务的数据流将任务分配到不同的GPU运行;检查平台是否负载均衡。本发明的主要目的在于针对异构平台上需编程人员设置GPU个数以及对任务进行手动划分的现状,提出了一种基于程序剖析时信息以及程序数据流信息的资源调度方法,利用剖析所得循环语句的执行次数及其数据依赖,设定阈值决定设定GPU的个数,增大存在数据依赖任务划分的线程粒度,同时利用数据流信息将任务分配到各GPU上运行,主动检测并结合work‑stealing算法解决平台负载均衡问题,从而实现了一种自动设置GPU数量、提高GPU计算资源利用率和主动检测并实现负载均衡的动态资源调度方法。

主权项:1.一种异构众核上基于剖析技术以及数据流信息的动态资源调度方法,其特征在于,所述异构众核上基于剖析技术以及数据流信息的动态资源调度方法应用于MGPUSim,包括以下步骤:步骤一:程序剖析,确定可并行循环体的执行次数;步骤二:确定循环体的数据流图;步骤三:设定阈值,计算所需GPU数量;步骤四:根据依赖划分GPU任务大小;步骤五:根据任务的数据流将任务分配到不同的GPU运行;步骤六:检查平台负载均衡;所述的步骤二确定循环间的数据依赖关系;步骤三通确定单个GPU计算单元个数,设定阈值,得到循环数对单个GPU计算单元个数的比值,并将循环数对单个GPU计算单元个数取余,将取余所得数与阈值比较,得到最终所需GPU总数;步骤四通过剖析所得循环间的依赖关系,确定划分线程粒度的大小,对因数据依赖而无法划分到GPU的部分增加划分的任务线程粒度大小,将其涉及的相关数据流部分分配到GPU上运行;步骤五根据步骤二所得数据流图及控制流图,将分配到GPU的任务分为不同的任务节点,并设置任务调度器和数据缓存,数据缓存中保存每一个任务节点的结果,任务调度器控制每个任务节点在GPU上运行的先后顺序以及其工作单元的分配;步骤六通过检查任务调度器中是否存在未分配任务,若任务调度器中为空并且CPU存在未完成线程,此时采用work-stealing算法主动将CPU的一些任务分配到GPU上运行,以达到负载均衡。

全文数据:

权利要求:

百度查询: 西南科技大学 异构众核上基于剖析技术以及数据流信息的动态资源调度方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。