面向云手机的GPU计算性能的预测方法及装置制造方法及图纸

技术编号:27684844 阅读:34 留言:0更新日期:2021-03-17 03:46
本发明专利技术涉及一种面向云手机的GPU计算性能的预测方法及装置,在云手机上计算任务执行前,通过预测GPU的占用率及执行时间,在判断可能出现GPU过载或超载时,就开始对其上云手机进行调度和迁移,尽可能地缩短GPU处于过载状态的时间,避免使GPU处于超载的状态,让用户QoS能保持在一个比较平稳的状态。采用本发明专利技术所述方法,通过预测来调度GPU上的云手机,从一定程度上解决负载不均衡的问题,GPU过载时间减少78%,云手机上应用的平均执行时间缩短40%左右,由此可以看出,本发明专利技术不仅能提高GPU的利用率,而且能有效缩短云手机上应用的执行时间。

【技术实现步骤摘要】
面向云手机的GPU计算性能的预测方法及装置
本专利技术涉及移动云计算领域,具体涉及一种面向云手机的GPU计算性能的预测方法及装置。
技术介绍
为了实现GPU资源的高效共享,GPU虚拟化技术被广泛应用在云计算中,在云手机应用中,通常采用“静态”调度算法将云手机指定到不同的GPU上运行,由于云手机操作具有一定的随机性,往往是无法获得每个云手机对GPU的资源需求,并且无法预测未来一段时间内GPU负载的变化情况,而GPU负载会随着用户操作时刻发生变化,当GPU上云手机用户操作不频繁时,GPU就会处于欠载/低负载的状态,GPU资源没有得到充分的利用;当GPU上云手机用户操作频繁,且运行的都是资源需求大的APP时,GPU可能处于过载/超载的状态,这时候GPU上计算任务就会竞争资源,导致执行时间增加,执行时间增加到一定程度就会影响用户的QoS体验。若是等到服务器监测到GPU过载时,再对其上云手机进行调度和迁移,仍然会使GPU在一段时间内处于过载状态,甚至是超载状态,因此需要在判断GPU处于过载或超载可能性比较大的情况下,就启动GPU的调度工作。为了解决前述问题,申请号为201510387995.6的专利公开了一种用于预测GPU性能的方法和相应的计算机系统,其包括:在有待评估的GPU芯片中运行一组测试应用程序;捕获一组标量性能计数器和向量性能计数器;基于所捕获的标量性能计数器和向量性能计数器针对不同芯片配置创建用于评估和预测GPU性能的模型;以及预测GPU芯片的性能分数并且识别GPU流水线中的瓶颈。该专利技术使用所捕获的性能计数器和芯片配置作为输入来识别GPU芯片中的瓶颈并且预测GPU性能,提供了一种用于在设计阶段评估和预测GPU性能的方法;申请号为201711146155.6的专利公开了一种CPU-GPU异构环境中对GPU应用的性能评估方法及系统,该方法及系统基于机器学习中的决策树算法,对GPU架构上运行的各类应用的执行情况学习,建立决策树模型;在决策树匹配过程中依次获得对应用执行时间影响最大的监控特征,即对特征的重要度排序;依次将筛选出的特征集与四类应用常见的问题对应,主要是指计算相关、内存相关、占用率相关、同步相关四大常见问题,由此初步得到待分析应用的性能瓶颈所在的问题方向。该专利技术通过结合决策树模型和分析建模的方法,提供了一种通用的、相对准确的、快速的、简单易用的对GPU上的资源和应用进行性能评估的方法。如前所述,申请号为201811493303.6的专利用于在设计阶段评估和预测GPU性能,并非用于在GPU实际运行中指导任务调度;申请号为201711146155.6的专利采用基于机器学习中的决策树算法,对GPU架构上运行的各类应用的执行情况学习,建立决策树模型,最后给出了一种通用的GPU资源和应用性能评估方法,此方法可以用于性能评估,并非性能预测方法,如用于指导调度,属于事后处理,并非事前预防。
技术实现思路
本专利技术的目的在于提供一种面向云手机的GPU计算性能的预测方法及装置,为了耗费较少的计算资源预测出GPU的计算性能,通过预测结果指导GPU上云手机的调度,以解决负载不均衡的状态。实现本专利技术目的的技术方案为:一种面向云手机的GPU计算性能的预测方法,为GPU设置两个阀值f1和f2,GPU利用率在0%-f1之间为欠载/低负载,GPU利用率在f1-f2之间为满负载,GPU利用率在f2-100%为超载,所述预测方法包括如下步骤:步骤1:在一个NUMA上启动一个检测线程,对该GPU上云手机的资源需求进行预测;步骤2:建立OpenGL函数GPU占用率和执行时间记录表;步骤3:等待执行的任务队列中,判断位于队首的计算任务所调用的函数,是否在记录表中,若在,跳转步骤4,若不在,跳转步骤5;步骤4:读取记录表中的历史记录信息,计算该任务执行后GPU的占用率和执行时间,跳转步骤8;步骤5:在该计算任务中调用函数的前后插入时间,获取该函数的GPU占用率和执行时间;步骤6:将该函数的相关信息写入记录表,刷新记录表;步骤7:获取执行完该函数后GPU的整体占用率;步骤8:判断GPU状态,若欠载/低负载,跳转步骤9;若GPU状态满负载,跳转步骤3;若GPU状态超载,跳转步骤10;步骤9:设置标志位,表示可调度云手机至该GPU之上,跳转步骤3;步骤10:调度云手机至状态为欠载/低负载的GPU之上,跳转步骤3。进一步的,所述的f1和f2自定义设置。进一步的,所述建立OpenGL函数GPU占用率和执行时间记录表,包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。进一步的,步骤6所述的相关信息包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。本专利技术还提供一种面向云手机的GPU计算性能的预测装置,包括:GPU利用率设定单元,为GPU设置两个阀值f1和f2,GPU利用率在0%-f1之间为低负载或欠载,GPU利用率在f1-f2之间为满负载,GPU利用率在f2-100%为超载;检测线程启动单元,在个NUMA上启动一个检测线程;记录表构建单元,用于建立OpenGL函数GPU占用率和执行时间记录表;第一判断单元,等待执行的任务队列中,判断位于队首的计算任务所调用的函数,是否在记录表中,若在,跳转第一单元,若不在,跳转第二单元;第一单元,读取记录表中的历史记录信息,计算该任务执行后GPU的占用率和执行时间,跳转第二判断单元;第二单元,在该计算任务中调用函数的前后插入时间,获取该函数的GPU占用率和执行时间;将该函数的相关信息写入记录表,刷新记录表;获取执行完该函数后GPU的整体占用率;执行第二判断单元;第二判断单元,判断GPU状态,若欠载/低负载,跳转第三单元;若GPU状态满负载,跳转第一判断单元;若GPU状态超载,跳转第四单元;第三单元,设置标志位,表示可调度云手机至该GPU之上,跳转第一判断单元;第四单元,调度云手机至状态为欠载/低负载的GPU之上,跳转第一判断单元。进一步的,所述的f1和f2自定义设置。进一步的,所述建立OpenGL函数GPU占用率和执行时间记录表,包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。进一步的,所述的函数的相关信息包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的预测方法。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的预测方法。与现有技术相比,本专利技术的有益效果为:云手机的工作原理是通过Dockdroid将终本文档来自技高网
...

【技术保护点】
1.一种面向云手机的GPU计算性能的预测方法,其特征在于,为GPU设置两个阀值f1和f2,GPU利用率在0%-f1之间为欠载/低负载,GPU利用率在f1-f2之间为满负载,GPU利用率在f2-100%为超载,所述预测方法包括如下步骤:/n步骤1:在一个NUMA上启动一个检测线程,对该GPU上云手机的资源需求进行预测;/n步骤2:建立OpenGL函数GPU占用率和执行时间记录表;/n步骤3:等待执行的任务队列中,判断位于队首的计算任务所调用的函数,是否在记录表中,若在,跳转步骤4,若不在,跳转步骤5;/n步骤4:读取记录表中的历史记录信息,计算该任务执行后GPU的占用率和执行时间,跳转步骤8;/n步骤5:在该计算任务中调用函数的前后插入时间,获取该函数的GPU占用率和执行时间;/n步骤6:将该函数的相关信息写入记录表,刷新记录表;/n步骤7:获取执行完该函数后GPU的整体占用率;/n步骤8:判断GPU状态,若欠载/低负载,跳转步骤9;若GPU状态满负载,跳转步骤3;若GPU状态超载,跳转步骤10;/n步骤9:设置标志位,表示可调度云手机至该GPU之上,跳转步骤3;/n步骤10:调度云手机至状态为欠载/低负载的GPU之上,跳转步骤3。/n...

【技术特征摘要】
1.一种面向云手机的GPU计算性能的预测方法,其特征在于,为GPU设置两个阀值f1和f2,GPU利用率在0%-f1之间为欠载/低负载,GPU利用率在f1-f2之间为满负载,GPU利用率在f2-100%为超载,所述预测方法包括如下步骤:
步骤1:在一个NUMA上启动一个检测线程,对该GPU上云手机的资源需求进行预测;
步骤2:建立OpenGL函数GPU占用率和执行时间记录表;
步骤3:等待执行的任务队列中,判断位于队首的计算任务所调用的函数,是否在记录表中,若在,跳转步骤4,若不在,跳转步骤5;
步骤4:读取记录表中的历史记录信息,计算该任务执行后GPU的占用率和执行时间,跳转步骤8;
步骤5:在该计算任务中调用函数的前后插入时间,获取该函数的GPU占用率和执行时间;
步骤6:将该函数的相关信息写入记录表,刷新记录表;
步骤7:获取执行完该函数后GPU的整体占用率;
步骤8:判断GPU状态,若欠载/低负载,跳转步骤9;若GPU状态满负载,跳转步骤3;若GPU状态超载,跳转步骤10;
步骤9:设置标志位,表示可调度云手机至该GPU之上,跳转步骤3;
步骤10:调度云手机至状态为欠载/低负载的GPU之上,跳转步骤3。


2.根据权利要求1所述的种面向云手机的GPU计算性能的预测方法,其特征在于,所述的f1和f2自定义设置。


3.根据权利要求1所述的种面向云手机的GPU计算性能的预测方法,其特征在于,所述建立OpenGL函数GPU占用率和执行时间记录表,包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。


4.根据权利要求1所述的种面向云手机的GPU计算性能的预测方法,其特征在于,步骤6所述的相关信息包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。


5.一种面向云手机的GPU计算性能的预测装置,其特征在于,包括:
GPU利用率设定单元,为GPU设置两个阀值f1和f2,GPU利用率在0%-f1之间为低负载或...

【专利技术属性】
技术研发人员:张李秋喻鑫刘铮周军
申请(专利权)人:江苏北弓智能科技有限公司
类型:发明
国别省市:江苏;32

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

1