CN112506622A - 面向云手机的gpu计算性能的预测方法及装置 - Google Patents

面向云手机的gpu计算性能的预测方法及装置 Download PDF

Info

Publication number
CN112506622A
CN112506622A CN202110143918.1A CN202110143918A CN112506622A CN 112506622 A CN112506622 A CN 112506622A CN 202110143918 A CN202110143918 A CN 202110143918A CN 112506622 A CN112506622 A CN 112506622A
Authority
CN
China
Prior art keywords
gpu
function
skipping
mobile phone
execution time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110143918.1A
Other languages
English (en)
Other versions
CN112506622B (zh
Inventor
张李秋
喻鑫
刘铮
周军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Bego Intelligent Technology Co ltd
Original Assignee
Jiangsu Bego Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Bego Intelligent Technology Co ltd filed Critical Jiangsu Bego Intelligent Technology Co ltd
Priority to CN202110143918.1A priority Critical patent/CN112506622B/zh
Publication of CN112506622A publication Critical patent/CN112506622A/zh
Application granted granted Critical
Publication of CN112506622B publication Critical patent/CN112506622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

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

Description

面向云手机的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将终端的OpenGL ES指令转换成可以在GPU上计算的OpenGL指令,OpenGL是图形领域的工业标准,它以API的形式提供了一套图形处理库,包括核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、wgl)和扩展函数库等,其中,核心库包含有115个函数,实用库包含43个函数,辅助库包含31个函数,实用工具库大约30多个函数,窗口库大约20多个函数,本发明中只在每个OpenGL指令第一次执行时监测并记录它的GPU占用率和执行时间,当指令位于等待执行队列,将再次以相同的资源参数配置被调用时,直接使用历史记录信息来预测下一个时间点的GPU占用率和执行时间,我们的实验结果表明,在不进行调度的情况下,一个NUMA节点存在至少一个GPU过载且有GPU欠载的情况占整个GPU运行时间的50%左右,采用本发明所述方法,通过预测来调度GPU上的云手机,从一定程度上解决负载不均衡的问题,GPU过载时间减少78%,云手机上应用的平均执行时间缩短40%左右,由此可以看出,本发明不仅能提高GPU的利用率,而且能有效缩短云手机上应用的执行时间。
附图说明
图1是设置有阀值f1和f2的GPU利用率示意图。
图2是本发明面向虚拟GPU的云手机在线调度与迁移的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在GPU虚拟环境中,一个物理GPU上通常指定了多个云手机,同时来自不同用户的云手机通常有不同的资源需求,因此在GPU上运行云手机之前,很难获取云手机的确切资源需求,同时,云手机上的应用动态地开始与结束,也使得GPU的负载一直不断地发生变化。当服务器监测到GPU过载时,再对其上云手机进行调度和迁移,事后处理仍然会使GPU在一段时间内处于过载状态,甚至是超载状态;本发明的目的在于事前预测,在云手机上计算任务执行前,通过预测GPU的占用率及执行时间,在判断可能出现GPU过载或超载时,就开始对其上云手机进行调度和迁移,尽可能地缩短GPU处于过载状态的时间,避免使GPU处于超载的状态,让用户QoS能保持在一个比较平稳的状态。
本发明提出一种面向云手机的GPU计算性能的预测方法,首先为GPU设置两个阀值f1和f2,具体数值可按需设置,如图1所示,GPU利用率在0%-f1之间为低负载或欠载,GPU利用率在f1-f2之间为满负载,GPU利用率在f2-100%为超载;上述区间均为左闭右开。
可以看出f2-100%这个区间是预留量,以免某个云手机突然有大资源需求任务到来时,产生资源竞争,导致QoS下降的情况出现。如图2所示,该预测方法步骤如下:
步骤1:在一个NUMA上启动一个检测线程,对该GPU上云手机的资源需求进行预测;
步骤2:建立OpenGL函数GPU占用率和执行时间记录表,包括<OpenGL函数名称><参数><GPU占用率><执行时间内>;
所述执行时间内是指函数结束执行时间-函数开始执行时间。
步骤3:等待执行的任务队列中,判断位于队首的计算任务所调用的函数,是否在记录表中,若在,跳转步骤4,若不在,跳转步骤5;
步骤4:读取记录表中的历史记录信息,计算该任务执行后GPU的占用率和执行时间,跳转步骤8;
步骤5:在该计算任务中调用函数的前后插入时间,获取该函数的GPU占用率和执行时间;
步骤6:将该函数的相关信息写入记录表,刷新记录表;
所述函数的相关信息包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。
步骤7:获取执行完该函数后GPU的整体占用率;
步骤8:判断GPU状态,若欠载/低负载,跳转步骤9;若GPU状态满负载,跳转步骤3;若GPU状态过载或超载,跳转步骤10;
步骤9:设置标志位,表示可调度云手机至该GPU之上,跳转步骤3;
步骤10:调度云手机至状态为欠载/低负载的GPU之上,跳转步骤3。
本发明还提供一种面向云手机的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占用率><执行时间内>。
在一种实施方式中,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的预测方法。
以及一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的预测方法。
下面结合实施例对本发明技术方案作进一步说明。
以云手机上运行游戏为例,运行初始,需要调用OpenGL GLUT扩展中的函数实现初始化,首先创建一个平台无关窗口,以便为后续的基本几何图形的绘制和纹理贴图做准备。部分代码如下:
int main(int argc, char **argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE |GLUT_RGBA | GLUT_STENCIL);
glutInitWindowsPosition(0,0);
glutInitWindowsSize(parentWindowWidth, parentWindowHeight);
mainWindow = glutCreateWindow(“Game Test”);
glutReshapeFunc(changeParentWindow);
return(0);
}
在这段代码中以glut开头的函数都是OpenGL GLUT扩展中的函数,当这些函数第一次被调用执行时,记录下记录它的GPU占用率和执行时间。如前所述,这段代码的功能是创建一个平台无关的窗口,在云手机中几乎所有的APP运行前都需要调用这些函数,因此可以在运行前就通过历史记录值提前预测出运行后的情况。
在本申请所提供的实施例中,应该理解到,所揭露的方法、装置、设备,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read -Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

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之间为低负载或欠载,GPU利用率在f1-f2之间为满负载,GPU利用率在f2-100%为超载;
检测线程启动单元,在个NUMA上启动一个检测线程;
记录表构建单元,用于建立OpenGL函数GPU占用率和执行时间记录表;
第一判断单元,等待执行的任务队列中,判断位于队首的计算任务所调用的函数,是否在记录表中,若在,跳转第一单元,若不在,跳转第二单元;
第一单元,读取记录表中的历史记录信息,计算该任务执行后GPU的占用率和执行时间,跳转第二判断单元;
第二单元,在该计算任务中调用函数的前后插入时间,获取该函数的GPU占用率和执行时间;将该函数的相关信息写入记录表,刷新记录表;获取执行完该函数后GPU的整体占用率;执行第二判断单元;
第二判断单元,判断GPU状态,若欠载/低负载,跳转第三单元;若GPU状态满负载,跳转第一判断单元;若GPU状态超载,跳转第四单元;
第三单元,设置标志位,表示可调度云手机至该GPU之上,跳转第一判断单元;
第四单元,调度云手机至状态为欠载/低负载的GPU之上,跳转第一判断单元。
6.根据权利要求5所述的面向云手机的GPU计算性能的预测装置,其特征在于,所述的f1和f2自定义设置。
7.根据权利要求5所述的面向云手机的GPU计算性能的预测装置,其特征在于,所述建立OpenGL函数GPU占用率和执行时间记录表,包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。
8.根据权利要求5所述的面向云手机的GPU计算性能的预测装置,其特征在于,所述函数的相关信息包括<OpenGL函数名称><参数><GPU占用率><执行时间内>。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的预测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的预测方法。
CN202110143918.1A 2021-02-03 2021-02-03 面向云手机的gpu计算性能的预测方法及装置 Active CN112506622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110143918.1A CN112506622B (zh) 2021-02-03 2021-02-03 面向云手机的gpu计算性能的预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110143918.1A CN112506622B (zh) 2021-02-03 2021-02-03 面向云手机的gpu计算性能的预测方法及装置

Publications (2)

Publication Number Publication Date
CN112506622A true CN112506622A (zh) 2021-03-16
CN112506622B CN112506622B (zh) 2021-05-04

Family

ID=74953084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110143918.1A Active CN112506622B (zh) 2021-02-03 2021-02-03 面向云手机的gpu计算性能的预测方法及装置

Country Status (1)

Country Link
CN (1) CN112506622B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954929A (zh) * 2023-09-20 2023-10-27 四川并济科技有限公司 一种实时迁移的动态gpu调度方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095632B1 (en) * 2017-05-23 2018-10-09 International Business Machines Corporation Memory affinity management
CN109862082A (zh) * 2019-01-11 2019-06-07 王茂洋 一种终端可低配的云手机设备
CN110012076A (zh) * 2019-03-12 2019-07-12 新华三技术有限公司 一种连接建立方法及装置
CN111988392A (zh) * 2020-08-14 2020-11-24 腾讯科技(深圳)有限公司 一种基于云业务的资源分配方法、相关装置、设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095632B1 (en) * 2017-05-23 2018-10-09 International Business Machines Corporation Memory affinity management
CN109862082A (zh) * 2019-01-11 2019-06-07 王茂洋 一种终端可低配的云手机设备
CN110012076A (zh) * 2019-03-12 2019-07-12 新华三技术有限公司 一种连接建立方法及装置
CN111988392A (zh) * 2020-08-14 2020-11-24 腾讯科技(深圳)有限公司 一种基于云业务的资源分配方法、相关装置、设备及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954929A (zh) * 2023-09-20 2023-10-27 四川并济科技有限公司 一种实时迁移的动态gpu调度方法及系统
CN116954929B (zh) * 2023-09-20 2023-12-01 四川并济科技有限公司 一种实时迁移的动态gpu调度方法及系统

Also Published As

Publication number Publication date
CN112506622B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
KR101600129B1 (ko) 애플리케이션 효율 엔진
US9268663B1 (en) Software testing analysis and control
US9454407B2 (en) Service resource allocation
CN109409513B (zh) 一种基于神经网络的任务处理方法及相关设备
KR102490908B1 (ko) 자원 스케줄링 방법 및 단말 장치
US20130254754A1 (en) Methods and systems for optimizing the performance of software applications at runtime
CN111708642B (zh) Vr系统中处理器性能优化方法、装置及vr设备
CN111506434B (zh) 一种任务处理方法、装置及计算机可读存储介质
WO2021068113A1 (zh) 时长统计方法、装置、电子设备和计算机可读介质
US20230305880A1 (en) Cluster distributed resource scheduling method, apparatus and device, and storage medium
Huang et al. Novel heuristic speculative execution strategies in heterogeneous distributed environments
CN112231102A (zh) 一种提升存储系统性能的方法、装置、设备、产品
CN111143039A (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN112506622B (zh) 面向云手机的gpu计算性能的预测方法及装置
Horovitz et al. Faastest-machine learning based cost and performance faas optimization
CN115150471A (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN111752710A (zh) 数据中心pue动态优化方法、系统、设备及可读存储介质
CN110796591A (zh) 一种gpu卡的使用方法及相关设备
CN112860401B (zh) 任务调度方法、装置、电子设备和存储介质
CN112579257A (zh) 一种虚拟中央处理器核心的调度方法、装置及相关设备
CN112130977A (zh) 一种任务调度方法、装置、设备及介质
CN115964305B (zh) 一种跨项目的测试用例库管理方法、装置及存储介质
CN114443767B (zh) 确定分布式系统一致性级别的方法、装置、设备及介质
TWI768478B (zh) 適應性調用外部硬體資源的方法
JP2019071026A (ja) 計算機およびcpuコア割当方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant