CN113742082A - 应用资源分配方法及装置、计算机可读介质和终端 - Google Patents
应用资源分配方法及装置、计算机可读介质和终端 Download PDFInfo
- Publication number
- CN113742082A CN113742082A CN202111069107.8A CN202111069107A CN113742082A CN 113742082 A CN113742082 A CN 113742082A CN 202111069107 A CN202111069107 A CN 202111069107A CN 113742082 A CN113742082 A CN 113742082A
- Authority
- CN
- China
- Prior art keywords
- parameters
- state
- terminal
- performance
- decision table
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5044—Allocation 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本公开提供一种应用资源分配方法、应用资源分配装置、计算机可读介质和终端,涉及数据处理技术领域。该方法用于终端,包括:在检测到终端运行预设应用时,获取终端的当前帧性能参数和对应的当前帧状态参数;将当前帧性能参数和当前帧状态参数输入到经训练的智能体中,根据智能体中性能参数和状态参数之间的对应关系,确定出用于终端的下一帧性能参数;根据下一帧性能参数调整对预设应用的资源分配。本公开的技术方案可以减小出帧时的卡顿现象,同时降低了功耗。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及一种应用资源分配方法、应用资源分配装置、计算机可读介质和终端。
背景技术
随着移动终端性能配置的不断提高,再结合其天然的便利性,越来越多的应用在移动终端上使用。例如,即时通讯应用、游戏应用等。
为了保证用户对于游戏有较好的使用体验,可以根据需要为游戏应用分配对应的资源,例如,通过调整CPU频率或GPU频率来达到适配优化性能的目的。
然而,在实际操作中,仅仅通过调整CPU频率或GPU频率并不能有效解决游戏卡顿的问题,甚至引入功耗等问题。
发明内容
本公开的目的在于提供一种应用资源分配方法、应用资源分配装置、计算机可读介质和终端,进而解决仅仅通过调整CPU频率或GPU频率并不能有效解决游戏卡顿,甚至引入功耗的问题。
根据本公开的第一方面,提供一种应用资源分配方法,用于终端,所述方法包括:在检测到所述终端运行预设应用时,获取所述终端的当前帧性能参数和对应的当前帧状态参数;将所述当前帧性能参数和所述当前帧状态参数输入到智能体中,根据所述智能体中性能参数和状态参数之间的对应关系,确定出用于所述终端的下一帧性能参数;根据所述下一帧性能参数调整对所述预设应用的资源分配。
根据本公开的第二方面,提供一种应用资源分配装置,用于终端,所述装置包括:参数获取模块,用于在检测到所述终端运行预设应用时,获取所述终端的当前帧性能参数和对应的当前帧状态参数;模型识别模块,用于将所述当前帧性能参数和所述当前帧状态参数输入到经训练的智能体中,根据所述智能体中性能参数和状态参数之间的对应关系,确定出用于所述终端的下一帧性能参数;资源分配模块,用于根据所述下一帧性能参数调整对所述预设应用的资源分配。
根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
根据本公开的第四方面,提供一种终端,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的方法。
通过本示例性实施方式提供的应用资源分配方法,通过在应用运行时获取终端的当前帧性能参数和对应的当前帧状态参数,以获取多维度输入信息作为智能体的输入参数,以获得多维度资源协同作用的下一帧性能参数,以该下一帧性能参数来调整资源分配,可以减小出帧时的卡顿现象,同时降低了功耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
图2示出了可以应用本公开实施例的一种终端的示意图;
图3示意性示出本公开示例性实施例中一种应用资源分配方法的流程图;
图4示意性示出本公开示例性实施例的应用资源分配方法中一种SoC片上系统的示意图;
图5示意性示出本公开示例性实施例的应用资源分配方法中对智能体进行训练的流程图;
图6示意性示出本公开示例性实施例的应用资源分配方法中一种强化学习训练过程示意图;
图7示意性示出本公开示例性实施例的应用资源分配方法的步骤流程图;
图8示意性示出本公开示例性实施例中应用资源分配装置的组成示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种应用资源分配方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端101、102、103中的一个或多个,网络104和服务器105。网络104为用以在终端101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端101、102、103可以是各种具有近场通信功能的终端,包括但不限于便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的应用资源分配方法一般由终端101、102、103执行,相应地,应用资源分配装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的应用资源分配方法也可以由服务器105执行,相应的,应用资源分配装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是终端101、102、103获取当前帧性能参数和当前帧状态参数,将上述的当前帧性能参数和当前帧状态参数输入到经训练的智能体中,以输出下一帧性能参数,进而将终端101、102、103中的资源配置为下一帧性能参数,达到应用资源分配优化的目的;也可以是服务器105通过获取终端101、102、103的当前帧性能参数和当前帧状态参数,输入到经训练的智能体中,在获得下一帧性能参数后,可以控制终端101、102、103将资源配置为下一帧性能参数等。
本公开的示例性实施方式提供一种用于实现应用资源分配方法的终端,其可以是图1中的终端101、102、103或服务器105。该终端至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行应用资源分配方法。
下面以图2中的终端200为例,对终端的构造进行示例性说明。在另一些实施方式中,终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对终端200的结构限定。在另一些实施方式中,终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。
如图2所示,终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(Universal Serial Bus,USB)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics ProcessingUnit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)、基带处理器和/或神经网络处理器(Neural-etwork Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
NPU为神经网络(Neural-Network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
处理器210中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。
充电管理模块240用于从充电器接收充电输入。电源管理模块241用于连接电池242、充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210、内部存储器221、显示屏290、摄像模组291和无线通信模块260等供电。
终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块250可以提供应用在终端200上的包括2G/3G/4G/5G等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;
无线通信模块260可以提供应用在终端200上的包括无线局域网(Wireless LocalArea Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)、超宽带(Ultra Wide Band,UWB)技术等无线通信的解决方案。在一些实施例中,终端200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得终端200可以通过无线通信技术与网络以及其他设备通信。
终端200通过GPU、显示屏290及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏290和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
终端200可以通过ISP、摄像模组291、视频编解码器、GPU、显示屏290及应用处理器等实现拍摄功能。其中,ISP用于处理摄像模组291反馈的数据;摄像模组291用于捕获静态图像或视频;数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号;视频编解码器用于对数字视频压缩或解压缩,终端200还可以支持一种或多种视频编解码器。
外部存储器接口222可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端200的存储能力。外部存储卡通过外部存储器接口222与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。处理器210通过运行存储在内部存储器221的指令和/或存储在设置于处理器中的存储器的指令,执行终端200的各种功能应用以及数据处理。
终端200可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及应用处理器等实现音频功能。例如音乐播放、录音等。
深度传感器2801用于获取景物的深度信息;压力传感器2802用于感受压力信号,可以将压力信号转换成电信号;陀螺仪传感器2803可以用于确定终端200的运动姿态。此外,还可以根据实际需要在传感器模块280中设置其他功能的传感器,例如气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。
终端200中还可包括其它提供辅助功能的设备。例如,按键294包括开机键,音量键等,用户可以通过按键输入,产生与终端200的用户设置以及功能控制有关的键信号输入。再如,指示器292、马达293、SIM卡接口295等。
此外,终端200中还可以设有NFC模块296以及NFC模块的辅助装置,用于与其他设备进行近场通信。NFC模块296可以对输入的时钟信号进行分频或者倍频处理,然后通过匹配电路和NFC天线进行匹配,将处理后的时钟信号转换为射频信号输出。
下面对本公开示例性实施方式的应用资源分配方法和应用资源分配装置进行具体说明。
在相关技术中,采用了基于线程负载情况调整CPU(Central Processing Unit,中央处理器)频率或GPU频率的方案,然而,游戏的卡顿单纯通过提高CPU频率或GPU频率并不能有效解决,甚至有可能还会引入功耗等问题。
基于上述一个或多个问题,本示例性实施方式提供了一种应用资源分配方法,可以应用于终端,特别是移动终端,例如,手机、平板电脑、便携式台式机等。参考图3所示,该应用资源分配方法可以包括以下步骤S310-S340:
在步骤S310中,在检测到终端运行预设应用时,获取终端的当前帧性能参数和对应的当前帧状态参数。
在本示例性实施方式中,预设应用可以是游戏应用,也可以是对终端性能配置要求比较高的即时通讯应用,例如,可视频应用等。在这些应用运行在终端上的时候,无论是移动终端,还是PC终端,都对例如画面的清晰度、触控的响应速度、应用运行时是否卡顿或迟钝等有更高的要求。因此,在这些预设应用运行时,需要终端为其配置更好的资源,以满足应用运行过程中的需求。
本示例性实施方式提供的应用资源分配方法,主要是对终端所处当前帧的下一帧对应的性能参数进行预测,因此,需要先获取当前帧性能参数和当前帧状态参数。
在实际应用中,不同的应用对终端的性能需求是不同的,因此,其中所需要的性能参数和状态参数也不同。需要说明的是,无论是当前帧性能参数,还是下一帧性能参数,其所包含的性能参数内容是一样的,不同也只是在具体的取值上不同。
例如,在预设应用为游戏应用的情况下,性能参数可以包括:CPU频率、GPU频率、DDR频率、Cache模式和BUS带宽,无论是当前帧性能参数,还是下一帧性能参数,均包括上述的CPU频率、GPU频率、DDR频率、Cache模式和BUS带宽等。
其中,CPU频率是游戏运行时CPU各簇各核心的实时频率,用于记录当前游戏帧所需要的系统CPU频率;GPU频率是游戏运行时GPU各簇各核心的实时频率,用于记录当前游戏帧所需要的GPU频率以及得到的游戏出帧结果,和CPU频率一起用于辅助判断当前的系统资源供给是否保证游戏不掉帧;DDR(Double DataRate,双倍速率同步动态随机存储器)频率是一种内存频率,即内存颗粒的实时频率。
Cache模式包括L3 Cache(三级缓存)模式和System Cache(系统缓存)模式,基于游戏过程中地图加载(I/O密集计算)、GPU Bound(图形密集计算)、CPU Bound(算术密集计算)等不同场景,可以对L3 Cache和System Cache划分不同的档位,根据不同场景切换相应的党委,以匹配不同模式,从而可以适应游戏中复杂多变的系统资源需求,使得性能配置更准确,也更节能;BUS(总线)带宽信息是SoC(System on Chip,系统级芯片)内部BusMmonitor(总线监控器)检测到的各IP核间指令、数据传输数据以及总线带宽。其中,上述的BUS带宽信息和Cache模式属于SoC硬件信息,参照图4,示出了一种SoC片上系统的示意图,其中包括CPU、GPU、L3 Cache、System Cache、Bus、AMBA(Advanced Microcontroller BusArchitecture,片上总线协议)Bus、DDR CNTL(DDR控制)和其它IP核等。
在实际应用中,如果是由I/O密集型计算任务导致的游戏卡顿,单纯通过提高CPU频率和GPU频率不足以大幅度提高帧率,反而会引起功耗等问题,通过获取上述的BUS带宽等信息,能正确辅助决策对L3Cache及DDR频率的上调,避免CPU/GPU的无效调频,起到精准定位科学决策,降低功耗减少卡顿的作用。
在预设应用为游戏应用的情况下,状态参数可以包括:CPU负载、GPU负载、设备温度信息、游戏实时帧率、图形纹理Drawcall数量和IP核间指令等,其中,CPU负载是游戏运行时CPU各簇各核心的实时负载,用于辅助判断资源供给情况;GPU负载是游戏运行时GPU各簇各核心的实时负载,用于辅助判断资源供给情况,当前是否存在掉帧情况等;设备温度信息主要是基于CPU温度、设备各传感器温度拟合出来的实时壳体温度,设备温度信息结合温度阈值可以协助用于判断采用保守的组合策略,还是采用激进的组合策略;例如,在温度大于温度阈值时,就需要采用保守的组合策略,在温度小于温度阈值时,则需要采用激进的组合策略等。
另外,游戏实时帧率是游戏侧请求的渲染帧率在系统侧当前策略下,输出的真实帧率,用于反映游戏卡顿状态;图形纹理Drawcall数量是对CPU负载和GPU负载的补充,纹理贴图越多,Drawcall数量越多,可映射出GPU合成的实时压力,从而可以帮助提高对GPU频率调整决策的准确性。
上述所列举的各状态参数为当前状态参数。需要说明的是,随着游戏的更新以及对性能不同的需求,还可以根据实际情况添加新的性能参数和/或状态参数,也可以删除无关参数,以使终端达到更优的性能配置。
在步骤S320中,将当前帧性能参数和当前帧状态参数输入到智能体中,根据智能体中性能参数和状态参数之间的对应关系,确定出用于终端的下一帧性能参数。
智能体(agent):是指能够思想并与环境进行交互的实体,可以进行语言识别、图像识别、决策与推理、人机交互等人工智能活动。例如,智能体可以是某个特定的环境下的计算机系统或者计算机系统的一部分。智能体可以根据自身对环境的感知,按照已有的指示或者通过自主学习,并与其他智能体进行沟通协作,在其所处的环境中自主地完成设定的目标。智能体可以是软件或者软件和硬件结合的实体。
在实际应用中,用于智能体中的训练模型可以有多种,以强化学习为例,强化学习(Reinforcement Learning,RL),又称再励学习、评价学习或增强学习,用于描述和解决智能体在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
强化学习是智能体以“试错”的方式进行学习,通过动作(Action)与环境(States)进行交互获得的奖励(Reward)指导行为,目标是使智能体获得最大的奖励。强化学习无需训练数据集。强化学习中由环境提供的强化信号(即奖励)对产生动作的好坏作一种评价,而不是告诉强化学习系统如何去产生正确的动作。由于外部环境提供的信息很少,智能体必须靠自身的经历进行学习。通过这种方式,智能体在行动-评价(即奖励)的环境中获得知识,改进行动方案以适应环境。
本示例性实施方式中,以强化学习模型为智能体的核心,以对智能体进行训练。参照图5,对智能体进行训练具体可以包括:
步骤S510、获取智能体的多个输入参数,输入参数包括终端运行预设应用时的历史帧性能参数和对应的历史帧状态参数。
在实际应用中,历史帧性能参数所包含的性能参数与当前帧性能参数所包含的性能参数种类相同,只是在具体取值上有所区别;历史帧状态参数所包含的状态参数与当前帧状态参数所包含的状态参数种类相同,不同也只是在具体取值上。将终端在以往运行预设应用,例如运行游戏应用时的历史帧性能参数和对应的历史帧状态参数进行记录获取,将众多的历史帧性能参数和对应的历史帧状态参数作为输入参数,以输入到智能体中进行训练。
为了便于对智能体进行训练,所确定的输入参数之间需要具有较弱的相关性,例如,可以是多个输入参数之间的关联度小于预设值,其中,关联度是表征两个事物之间的关联程度的值,此处的预设值例如可以是0.3-0.5之间的任一值,此处不作特殊限定。
步骤S520、将多个输入参数输入到智能体的强化学习模型中,根据历史帧性能参数和对应的历史帧状态参数建立强化学习模型中的状态决策表;步骤S530、根据目标状态参数对状态决策表中的参数进行更新,获得目标状态决策表。
在获取到智能体的多个输入参数后,可以利用这些输入参数对智能体进行训练。以强化学习为例,参照图6,将多个输入参数输入到强化学习模型中,根据历史帧性能参数和对应的历史帧状态参数建立强化学习模型中的状态决策表,其中,以历史帧性能参数作为状态决策表中的动作(Action),以相应的历史帧状态参数作为状态决策表中的环境(States),以目标状态参数作为回报奖励(Reward),对状态决策表中的参数不断进行更新。
具体的对状态决策表中的参数进行更新可以包括:根据历史帧性能参数和对应的历史帧状态参数,确定状态决策表中动作(Action)和环境(States)之间的对应关系,也就是性能参数和状态参数之间的对应关系,根据该对应关系调整状态决策表中的动作(Action),即调整性能参数,以获得目标状态参数,使用目标状态参数及对应的目标性能参数对状态决策表中的参数进行更新,以获得目标状态决策表。
具体在调整性能参数以获得目标状态参数的时候,需要不断地寻找最优值,以最终将最优值保存在目标状态决策表中;如果不是最优值,则可以继续迭代以确定出最优值,直到确定出目标状态决策表,完成对智能体的训练为止。
在训练完智能体之后,就可以将当前帧性能参数和当前帧状态参数输入到经训练的智能体中,根据当前帧性能参数和当前帧状态参数,匹配目标状态决策表;具体的匹配目标状态决策表的方式可以有多种,例如,可以是根据当前帧性能参数确定与该当前帧性能参数最接近的目标性能参数,也可以是根据当前帧状态参数确定与该当前帧状态参数最接近的目标性能参数,或者,也可以是上述两种方式的结合来确定目标状态决策表,本示例性实施方式对此不作特殊限定。
在匹配出目标状态决策表之后,就可以从该目标状态决策表中确定出目标性能参数,以作为当前帧对应的下一帧性能参数。
在步骤S330中,根据下一帧性能参数调整对预设应用的资源分配。
本示例性实施方式中,在确定出下一帧性能参数后,就可以根据该下一帧性能参数对预设应用的资源进行分配,具体可以是将终端的资源配置为下一帧性能参数,此处对于具体的配置方式不作说明。
参照图7,示出了本示例性实施方式提供的应用资源分配方法的步骤流程图。图7中,首先,进入步骤S701,即判断条件,检测终端是否运行了预设应用;如果是,则进入步骤S702,获取终端的当前帧性能参数和当前帧状态参数,简称获取参数;接着,进入步骤S703,将获取的参数输入到智能体中,利用智能体来匹配目标状态决策表;进入步骤S704,从该目标状态决策表中确定出目标性能参数,以作为当前帧对应的下一帧性能参数,即确定出下一帧性能参数;最后,进入步骤S705,根据下一帧性能参数调整资源分配,重复执行上述操作直到预设应用退出为止。
本示例性实施方式提供的应用资源分配方法,通过在应用运行时获取终端的当前帧性能参数和当前帧状态参数,以获取多维度输入信息作为智能体的输入参数,以获得多维度资源协同作用的下一帧性能参数,以该下一帧性能参数来调整资源分配,可以减小出帧时的卡顿现象,同时降低了功耗。
另一方面,由于I/O密集计算型任务引入的游戏卡顿掉帧,可以通过提高DDR频率、System Cache等来解决,避免了直接去提高CPU、GPU频率等收效甚微却带来功耗增加的问题。同时,智能体的机器学习算法对游戏内容、画质的频繁升级通常较为友好,同时减小了人工干预,降低了优化成本,最终能够平衡游戏过程中的性能和功耗。相比于传统的手动调频仅控制CPU和GPU,引入强化学习算法不仅可以实现对CPU/GPU频率的控制,而且还对DDR/Bus/Cache等其它关联影响参数高效联动调节,也实现了AI自动化,对游戏版本升级做到了透明自适应。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图8所示,本示例的实施方式中还提供一种应用资源分配装置800,应用于终端,包括参数获取模块810、模型识别模块820、资源分配模块830、和模型训练模块840。其中:
参数获取模块810,用于在检测到终端运行预设应用时,获取终端的当前帧性能参数和当前帧状态参数;
模型识别模块820,用于将当前帧性能参数和当前帧状态参数输入到经训练的智能体中,利用智能体输出用于终端的下一帧性能参数;
资源分配模块830,用于根据下一帧性能参数调整对预设应用的资源分配。
在一示例性实施例中,装置还包括:
模型训练模块840,用于获取终端运行预设应用时的历史帧性能参数和对应的历史帧状态参数,作为智能体的多个输入参数;将多个输入参数输入到智能体的强化学习模型中,根据历史帧性能参数和对应的历史帧状态参数建立强化学习模型中的状态决策表;以目标状态参数作为回报奖励,对状态决策表中的参数进行更新,获得目标状态决策表。
在一示例性实施例中,模型训练模块840还用于,根据历史帧性能参数和对应的历史帧状态参数,确定状态决策表中的性能参数和状态参数之间的对应关系;根据对应关系调整状态决策表中的性能参数,以获得目标状态参数;将目标状态参数和对应的目标性能参数作为更新后的目标状态决策表。
在一示例性实施例中,模型识别模块820,用于根据当前帧性能参数和当前帧状态参数,匹配目标状态决策表;从目标状态决策表中确定出目标性能参数,作为下一帧性能参数。
在一示例性实施例中,多个输入参数之间的关联度小于预设值。
在一示例性实施例中,在预设应用为游戏应用的情况下,性能参数包括:CPU频率、GPU频率、DDR频率、Cache模式和BUS带宽信息;
状态参数包括:CPU负载、GPU负载、设备温度信息、游戏实时帧率、图形纹理Drawcall数量和IP核间指令。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3至图7中任意一个或多个步骤。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (14)
1.一种应用资源分配方法,用于终端,其特征在于,所述方法包括:
在检测到所述终端运行预设应用时,获取所述终端的当前帧性能参数和对应的当前帧状态参数;
将所述当前帧性能参数和所述当前帧状态参数输入到智能体中,根据所述智能体中性能参数和状态参数之间的对应关系,确定出用于所述终端的下一帧性能参数;
根据所述下一帧性能参数调整对所述预设应用的资源分配。
2.根据权利要求1所述的方法,其特征在于,所述智能体是经过训练的,训练过程包括:
获取所述智能体的多个输入参数,所述输入参数包括所述终端运行所述预设应用时的历史帧性能参数和对应的历史帧状态参数;
将多个所述输入参数输入到所述智能体的强化学习模型中,根据所述历史帧性能参数和对应的所述历史帧状态参数建立所述强化学习模型中的状态决策表;
根据目标状态参数对所述状态决策表中的参数进行更新,获得目标状态决策表。
3.根据权利要求2所述的方法,其特征在于,所述对所述状态决策表中的参数进行更新包括:
根据所述历史帧性能参数和对应的所述历史帧状态参数,确定所述状态决策表中的性能参数和状态参数之间的对应关系;
根据所述对应关系调整所述状态决策表中的性能参数,以获得所述目标状态参数;
根据所述目标状态参数确定对应的目标性能参数,使用所述目标状态参数和所述目标性能参数对所述状态决策表中的参数进行更新,以获得所述目标状态决策表。
4.根据权利要求2所述的方法,其特征在于,将所述当前帧性能参数和所述当前帧状态参数输入到经训练的智能体中,利用所述智能体输出用于所述终端的下一帧性能参数,包括:
根据所述当前帧性能参数和所述当前帧状态参数,匹配所述目标状态决策表;
从所述目标状态决策表中确定出目标性能参数,作为所述下一帧性能参数。
5.根据权利要求2所述的方法,其特征在于,多个所述输入参数之间的关联度小于预设值。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述预设应用为游戏应用的情况下,所述性能参数包括:CPU频率、GPU频率、DDR频率、Cache模式和BUS带宽信息;
所述状态参数包括:CPU负载、GPU负载、设备温度信息、游戏实时帧率、图形纹理Drawcall数量和IP核间指令。
7.一种应用资源分配装置,用于终端,其特征在于,所述装置包括:
参数获取模块,用于在检测到所述终端运行预设应用时,获取所述终端的当前帧性能参数和对应的当前帧状态参数;
模型识别模块,用于将所述当前帧性能参数和所述当前帧状态参数输入到智能体中,根据所述智能体中性能参数和状态参数之间的对应关系,确定出用于所述终端的下一帧性能参数;
资源分配模块,用于根据所述下一帧性能参数调整对所述预设应用的资源分配。
8.根据权利要求7所述的装置,其特征在于,所述智能体是经过训练的,所述装置还包括:
模型训练模块,用于获取所述智能体的多个输入参数,所述输入参数包括所述终端运行所述预设应用时的历史帧性能参数和对应的历史帧状态参数;将多个所述输入参数输入到所述智能体的强化学习模型中,根据所述历史帧性能参数和对应的所述历史帧状态参数建立所述强化学习模型中的状态决策表;根据目标状态参数对所述状态决策表中的参数进行更新,获得目标状态决策表。
9.根据权利要求8所述的装置,其特征在于,所述模型训练模块还用于,根据所述历史帧性能参数和对应的所述历史帧状态参数,确定所述状态决策表中的性能参数和状态参数之间的对应关系;根据所述对应关系调整所述状态决策表中的性能参数,以获得所述目标状态参数;根据所述目标状态参数确定对应的目标性能参数,使用所述目标状态参数和所述目标性能参数对所述状态决策表中的参数进行更新,以获得所述目标状态决策表。
10.根据权利要求8所述的装置,其特征在于,所述模型识别模块,用于根据所述当前帧性能参数和所述当前帧状态参数,匹配所述目标状态决策表;从所述目标状态决策表中确定出目标性能参数,作为所述下一帧性能参数。
11.根据权利要求8所述的装置,其特征在于,多个所述输入参数之间的关联度小于预设值。
12.根据权利要求7至11中任一项所述的装置,其特征在于,在所述预设应用为游戏应用的情况下,所述性能参数包括:CPU频率、GPU频率、DDR频率、Cache模式和BUS带宽信息;
所述状态参数包括:CPU负载、GPU负载、设备温度信息、游戏实时帧率、图形纹理Drawcall数量和IP核间指令。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述应用资源分配方法。
14.一种终端,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6中任一项所述的应用资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111069107.8A CN113742082A (zh) | 2021-09-13 | 2021-09-13 | 应用资源分配方法及装置、计算机可读介质和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111069107.8A CN113742082A (zh) | 2021-09-13 | 2021-09-13 | 应用资源分配方法及装置、计算机可读介质和终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113742082A true CN113742082A (zh) | 2021-12-03 |
Family
ID=78738346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111069107.8A Pending CN113742082A (zh) | 2021-09-13 | 2021-09-13 | 应用资源分配方法及装置、计算机可读介质和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742082A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116863058A (zh) * | 2023-09-05 | 2023-10-10 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于gpu的视频数据处理系统 |
CN117130769A (zh) * | 2023-02-25 | 2023-11-28 | 荣耀终端有限公司 | 一种调频方法、频率调节神经网络的训练方法及电子设备 |
CN117806831A (zh) * | 2024-02-23 | 2024-04-02 | 荣耀终端有限公司 | 参数配置方法及相关设备 |
-
2021
- 2021-09-13 CN CN202111069107.8A patent/CN113742082A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130769A (zh) * | 2023-02-25 | 2023-11-28 | 荣耀终端有限公司 | 一种调频方法、频率调节神经网络的训练方法及电子设备 |
CN116863058A (zh) * | 2023-09-05 | 2023-10-10 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于gpu的视频数据处理系统 |
CN116863058B (zh) * | 2023-09-05 | 2023-11-14 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于gpu的视频数据处理系统 |
CN117806831A (zh) * | 2024-02-23 | 2024-04-02 | 荣耀终端有限公司 | 参数配置方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113742082A (zh) | 应用资源分配方法及装置、计算机可读介质和终端 | |
CN111260665B (zh) | 图像分割模型训练方法和装置 | |
CN112562019A (zh) | 图像色彩调整方法及装置、计算机可读介质和电子设备 | |
CN111124108B (zh) | 模型训练方法、手势控制方法、装置、介质及电子设备 | |
CN112990390B (zh) | 一种图像识别模型的训练方法、图像识别的方法及装置 | |
CN113778663A (zh) | 一种多核处理器的调度方法及电子设备 | |
CN111968641B (zh) | 语音助手唤醒控制方法及装置、存储介质和电子设备 | |
JP2023508062A (ja) | 対話モデルの訓練方法、装置、コンピュータ機器及びプログラム | |
CN113744286A (zh) | 虚拟头发生成方法及装置、计算机可读介质和电子设备 | |
CN114418121A (zh) | 模型训练方法、对象处理方法及装置、电子设备、介质 | |
CN112188461A (zh) | 近场通信装置的控制方法及装置、介质和电子设备 | |
CN116724316A (zh) | 模型处理方法和装置 | |
CN114065900A (zh) | 数据处理方法和数据处理装置 | |
CN113902636A (zh) | 图像去模糊方法及装置、计算机可读介质和电子设备 | |
CN113766127A (zh) | 移动终端的控制方法及装置、存储介质及电子设备 | |
CN114333774A (zh) | 语音识别方法、装置、计算机设备及存储介质 | |
CN113284206A (zh) | 信息获取方法及装置、计算机可读存储介质、电子设备 | |
CN116543076B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN113205569A (zh) | 图像绘制方法及装置、计算机可读介质和电子设备 | |
CN112527104A (zh) | 确定参数确定方法、装置、设备及存储介质 | |
CN112037305A (zh) | 对图像中的树状组织进行重建的方法、设备及存储介质 | |
WO2023051215A1 (zh) | 注视点获取方法、装置、电子设备及可读存储介质 | |
WO2022188551A1 (zh) | 信息处理方法与装置、主控设备和受控设备 | |
CN111770484B (zh) | 模拟卡切换方法及装置、计算机可读介质和移动终端 | |
CN116579380A (zh) | 一种数据处理方法以及相关设备 |
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 |