预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113886057A(43)申请公布日2022.01.04(21)申请号202010620529.9(22)申请日2020.07.01(71)申请人西南科技大学地址621010四川省绵阳市涪城区青龙大道中段59号(72)发明人王耀彬王欣夷唐苹苹孟慧玲(51)Int.Cl.G06F9/50(2006.01)权利要求书1页说明书4页附图1页(54)发明名称实现负载均衡的动态资源调度方法。异构众核上基于剖析技术以及数据流信息的动态资源调度方法(57)摘要本发明公开了一种异构众核上基于剖析技术以及数据流信息的动态资源调度方法,涉及异构众核系统领域。该方法包括:程序剖析,确定可并行循环体的执行次数;确定循环体的数据流图;设定阈值,计算所需GPU数量;根据依赖划分GPU任务大小;根据任务的数据流将任务分配到不同的GPU运行;检查平台是否负载均衡。本发明的主要目的在于针对异构平台上需编程人员设置GPU个数以及对任务进行手动划分的现状,提出了一种基于程序剖析时信息以及程序数据流信息的资源调度方法,利用剖析所得循环语句的执行次数及其数据依赖,设定阈值决定设定GPU的个数,增大存在数据依赖任务划分的线程粒度,同时利用数据流信息将任务分配到各GPU上运行,主动检测并结合work‑stealing算法解决平台负载均衡问题,从而实现了一种自动设置CN113886057AGPU数量、提高GPU计算资源利用率和主动检测并CN113886057A权利要求书1/1页1.一种异构众核上基于剖析技术以及数据流信息的动态资源调度方法,其特征在于,所述异构众核上基于剖析技术以及数据流信息的动态资源调度方法包括以下步骤:步骤一:程序剖析,确定可并行循环体的执行次数。步骤二:确定循环体的数据流图。步骤三:设定阈值,计算所需GPU数量。步骤四:根据依赖划分GPU任务大小。步骤五:根据任务的数据流将任务分配到不同的GPU运行。步骤六:检查平台负载均衡。2.如权利要求1所述的异构众核上基于剖析技术以及数据流信息的动态资源调度方法,其特征在于,所述步骤一通过程序剖析技术获得程序运行时信息,收集循环迭代次数。3.如权利要求1所述的异构众核上基于剖析技术以及数据流信息的动态资源调度方法,其特征在于,所述步骤二确定循环间的数据依赖关系。4.如权利要求1所述的异构众核上基于剖析技术以及数据流信息的动态资源调度方法,其特征在于,所述步骤三确定单个GPU计算单元个数,设定阈值,得到循环数对单个GPU计算单元个数的比值,并将循环数对单个GPU计算单元个数取余,将取余所得数与阈值比较,得到最终所需GPU总数。5.如权利要求1所述的异构众核上基于剖析技术以及数据流信息的动态资源调度方法,其特征在于,所述步骤四通过剖析所得循环间的依赖关系,确定划分线程粒度的大小,对因数据依赖而无法划分到GPU的部分增加划分的任务线程粒度大小,将其涉及的相关数据流部分分配到GPU上运行。6.如权利要求1所述的异构众核上基于剖析技术以及数据流信息的动态资源调度方法,其特征在于,所述步骤五根据步骤二所得数据流图及控制流图,将分配到GPU的任务分为不同的任务节点,并设置任务调度器和数据缓存,数据缓存中保存每一个任务节点的结果,任务调度器控制每个任务节点在GPU上运行的先后顺序以及其工作单元的分配。7.如权利要求1所述的异构众核上基于剖析技术以及数据流信息的动态资源调度方法,其特征在于,所述步骤六通过检查任务调度器中是否存在未分配任务,若任务调度器中为空并且CPU存在未完成线程,此时采用work-stealing算法主动将CPU的一些任务分配到GPU上运行,以达到负载均衡。2CN113886057A说明书1/4页异构众核上基于剖析技术以及数据流信息的动态资源调度方法技术领域[0001]本发明主要涉及异构众核系统领域,特别是异构众核模拟器MGPUSim上基于剖析技术以及数据流信息的动态资源调度方法。背景技术[0002]众核处理器结构是对片上可扩展能力达到数千个核、计算能力达到万亿次级的微处理芯片体系结构发展道路的探索。其计算资源密度更高,片上通信开销显著降低,能够实现芯片结构和性能高度的可扩展性,很好地应对纳米工艺代芯片设计的功耗、线延迟和设计复杂性问题。[0003]图形处理单元(GPU)在集成度、计算密集型问题的处理能力等方面已远远超过了通用处理器,特别是随着GPU在可编程能力、并行处理能力和应用范围方面得到不断提升和扩展,GPU已成为当前计算机系统中具备高性能处理能力的部件。此外,随着数据并行工作负载的迅速普及和规模的增大,要求GPU的计算能力相应增加,随着单GPU平台难以满足这些性能需要,多GPU平台开始主导高性能计算领域。[0004]MGPU