当前位置: 首页 > 专利查询>深圳大学专利>正文

一种基于图神经网络的资源调度方法技术

技术编号:27937623 阅读:22 留言:0更新日期:2021-04-02 14:18
本发明专利技术公开了一种基于图神经网络的资源调度方法,根据实际的处理器数量及各个处理器的算力,将输入的图神经网络进行分割;根据当前处理器的计算能力及历史任务执行效果,将各个子任务分配到各处理器上执行;跟踪分配到各处理器任务执行情况,根据任务执行情况对任务调度进行优化。本发明专利技术结合现有计算资源将总的计算任务分割成子任务集合,以便适应不同的计算资源组合,估计计算资源处理完目前正在处理的任务以及当前待计算任务所需的时间进行任务调度,以提高计算资源的利用率;根据当前任务的执行情况判断该任务与分配得到的计算资源是否亲和,决定是否对正在执行的任务进行再拆分以及计算资源再分配,进一步提高计算效率。

【技术实现步骤摘要】
一种基于图神经网络的资源调度方法
本专利技术涉及数据处理
,具体涉及一种基于图神经网络的资源调度方法。
技术介绍
图神经网络(GraphNeuralNetwork,GNN)是一类基于深度学习的处理非欧氏空间信息的方法,近年来,对于GNN的研究成为深度学习领域的研究热点。GNN是一种连接模型,它通过图的节点之间的消息传递来捕捉图的依赖关系。与标准神经网络不同的是,图神经网络保留了一种状态,可以表示来自其邻域的具有任意深度的信息。图卷积网络(GraphConvolutionNetworks,GCN)是一类非常强大的用于图数据的神经网络架构,其强大的体现在即使是随机初始化的两层GCN也可以生成图网络中节点的有用特征表征。因此GCN被广泛应用于各研究领域,基于GCN的推理是其重要应用之一。GCN的推理任务属于计算密集型任务,因此如何协调现有计算资源对GCN推理进行加速是一个重要的研究方向。现有对于GCN推理加速优化方法较为单一,常见的方法是截止时间优先(EarliestDeadlineFirst,EDF)。在该方法中对于每一个新的就绪状态,调度器都是从那些已就绪但还没有完全处理完毕的任务中选择最早截止时间的任务,并将执行该任务所需的资源分配给它。在有新任务到来时,调度器必须立即计算截止时间,排出新的定序,即正在运行的任务被剥夺,并且按照新任务的截止时间决定是否调度该新任务。但这种方法不能根据处理器的计算能力和实时处理情况动态地进行任务调度,没有考虑异构系统处理器和任务之间的亲和性,不能根据任务实际执行情况对调度方案进行调整,这使得任务执行效率和计算资源利用率相对较低。
技术实现思路
因此,本专利技术要解决的技术问题在于克服现有技术中的任务执行效率和计算资源利用率低的缺陷,因此提供一种基于图神经网络的资源调度方法,综合考虑处理器的计算能力及实时处理情况对计算任务进行调度,减少计算资源浪费,根据处理器的对任务的实际执行情况进行调度策略上的调整,提高执行效率。为达到上述目的,本专利技术提供以下技术方案:第一方面,本专利技术实施例提供一种基于图神经网络的资源调度方法,包括以下步骤:根据实际的处理器数量及各个处理器的算力,将输入的图神经网络进行分割,得到子任务集合;根据当前处理器的计算能力及历史任务执行效果,将子任务集合中的各个子任务分配到各处理器上执行;跟踪分配到各处理器的任务执行时间及任务规模完成情况,确定任务执行情况,根据任务执行情况对任务调度进行优化。在一实施例中,根据实际的处理器数量及各个处理器的算力,将图神经网络进行分割的过程,包括:输入一个图神经网络;将处理器按其浮点计算能力降序排序,并对处理器依次进行编号;根据实际的处理器数量及各个处理器的算力确定子任务的数量及规模;将图神经网络按照确定的数量和规模分割子任务,得到子任务集合并输出。在一实施例中,通过以下公式计算确定子任务的数量及规模:其中,subTaskScale(j,i)表示图神经网络的第j层网络的第i个子任务,处理器数量为numProcessor,其中1≤i≤numProcessor;Hashrate(i)表示处理器i的算力,floor表示向下取整。在一实施例中,根据当前处理器的计算能力及历史任务执行效果,将子任务集合中的各个子任务分配到各处理器上执行的过程,包括:步骤S21:输入子任务集合;步骤S22:判断当前子任务集合是否为空,是则结束,否则转步骤S23;步骤S23:判断当前子任务集合中是否存在依赖准备完毕的任务,是则转步骤S24,否则转步骤S22;步骤S24:选择依赖完毕最低层任务中规模最大的任务nextTsak;步骤S25:对每个处理器,根据历史处理器计算任务的速率估计该处理器执行完当前任务curTask及当前待执行任务nextTask所需的时间,根据评估的时间给处理器评分,预估时间越短分值越高;步骤S26:选取当前分值最高的处理器P,将当前待执行任务nextTask分配给处理器P执行,转步骤S22。在一实施例中,所述步骤S25中实现的过程,包括:步骤S251:计算当前的每个处理器i执行上一个任务的速率velocity[i],设lastTime[i]表示处理器i上一次执行一个任务所需的时间,该任务规模表示为scale[i],则处理器i执行上一任务的速率为:velocity[i]=scale[i]/lastTime[i];步骤S252:预估处理器i执行完当前任务及当前待执行任务所需的时间time[i],设处理器i当前正在执行的任务剩余规模为curScale[i],待处理任务的规模为nextScale,则预估处理器i执行完当前任务及当前待执行任务所需的时间为:time[i]=velocity[i]*(curScale[i]+nextScale);步骤S253:将time[i]归一化得到timenormalize[i];步骤S254:计算处理器得分为scores[i]=(1-timenormalize[i])*100。在一实施例中,所述跟踪分配到各处理器的任务执行时间及任务规模完成情况,确定任务执行情况,根据任务执行情况对任务调度进行优化的过程,包括:设跟踪任务为y,其所分配的处理器为x,跟踪y在x上的执行情况,若执行情况良好,则结束;否则为任务y为被执行的部分进行计算资源再分配;其中跟踪y在x上的执行情况的过程,包括:步骤S31:设任务y已经执行的时间为t,初始值为0,T为一个基准变量,初始值为a*time[x],0<a<1;步骤S32:统计任务y执行的时间;步骤S33:判断任务y执行时间是否等于b*time[x],0<b<a,是则确定任务y执行情况良好;否则转步骤S34;步骤S34:判断任务y执行时间是否等于T,是则转步骤S35,否则转步骤S32;步骤S35:判断已经计算完成的任务规模是否大于或等于c*t*velocity[P],0<c<1,转步骤S34;否则确定任务执行情况差。在一实施例中,为任务y为被执行的部分进行计算资源再分配的过程,包括:步骤S41:获取任务y未执行部分再分配后可执行的最长时间为maxTime=time[x]-t;步骤S42:给当前所有处理器评分,按分数降序排序并依次编号为1~numProcessor;步骤S43:设选取的处理器中编号最大为k,初始k=1;步骤S44:选取处理器1~k执行任务,将任务平均分割成k份,预计分配给处理器1~k;步骤S45:统计各处理器执行完分配的任务所需的时间,并将结果求和,得到本任务执行完成所需的预估时间estimateTime;步骤S46:判断预估时间estimateTime是否小于maxTime或k等于处理器数量numProcessor,是则转步骤S48;否则转步骤S47;本文档来自技高网
...

【技术保护点】
1.一种基于图神经网络的资源调度方法,其特征在于,包括以下步骤:/n根据实际的处理器数量及各个处理器的算力,将输入的图神经网络进行分割,得到子任务集合;/n根据当前处理器的计算能力及历史任务执行效果,将子任务集合中的各个子任务分配到各处理器上执行;/n跟踪分配到各处理器的任务执行时间及任务规模完成情况,确定任务执行情况,根据任务执行情况对任务调度进行优化。/n

【技术特征摘要】
1.一种基于图神经网络的资源调度方法,其特征在于,包括以下步骤:
根据实际的处理器数量及各个处理器的算力,将输入的图神经网络进行分割,得到子任务集合;
根据当前处理器的计算能力及历史任务执行效果,将子任务集合中的各个子任务分配到各处理器上执行;
跟踪分配到各处理器的任务执行时间及任务规模完成情况,确定任务执行情况,根据任务执行情况对任务调度进行优化。


2.根据权利要求1所述的基于图神经网络的资源调度方法,其特征在于,根据实际的处理器数量及各个处理器的算力,将图神经网络进行分割的过程,包括:
输入一个图神经网络;
将处理器按其浮点计算能力降序排序,并对处理器依次进行编号;
根据实际的处理器数量及各个处理器的算力确定子任务的数量及规模;
将图神经网络按照确定的数量和规模分割子任务,得到子任务集合并输出。


3.根据权利要求2所述的基于图神经网络的资源调度方法,其特征在于,通过以下公式计算确定子任务的数量及规模:



其中,subTaskScale(j,i)表示图神经网络的第j层网络的第i个子任务,处理器数量为numProcessor,其中1≤i≤numProcessor;Hashrate(i)表示处理器i的算力,floor表示向下取整。


4.根据权利要求3所述的基于图神经网络的资源调度方法,其特征在于,根据当前处理器的计算能力及历史任务执行效果,将子任务集合中的各个子任务分配到各处理器上执行的过程,包括:
步骤S21:输入子任务集合;
步骤S22:判断当前子任务集合是否为空,是则结束,否则转步骤S23;
步骤S23:判断当前子任务集合中是否存在依赖准备完毕的任务,是则转步骤S24,否则转步骤S22;
步骤S24:选择依赖完毕最低层任务中规模最大的任务nextTsak;
步骤S25:对每个处理器,根据历史处理器计算任务的速率估计该处理器执行完当前任务curTask及当前待执行任务nextTask所需的时间,根据评估的时间给处理器评分,预估时间越短分值越高;
步骤S26:选取当前分值最高的处理器P,将当前待执行任务nextTask分配给处理器P执行,转步骤S22。


5.根据权利要求4所述的基于图神经网络的资源调度方法,其特征在于,所述步骤S25中实现的过程,包括:
步骤S251:计算当前的每个处理器i执行上一个任务的速率velocity[i],设lastTime[i]表示处理器i上一次执行一个任务所需的时间,该任务规模表示为scale[i],则处理器i执行上一任务的速率为:velocity[i]=scale[i]/lastTime[i];
步骤S252:预估处理器i执行完当前任务及当前待执行任务所需的时间time[i],设处理器i当前正在执行的任务剩余规模为curScale[i],待处理任务的规模为nextScale,则预估处理器i执行完当前任...

【专利技术属性】
技术研发人员:王毅陈洁欣陈家贤周池毛睿
申请(专利权)人:深圳大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1