System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 资源调度方法、设备、可读存储介质及芯片系统技术方案_技高网

资源调度方法、设备、可读存储介质及芯片系统技术方案

技术编号:41102009 阅读:1 留言:0更新日期:2024-04-25 13:58
本申请公开了一种资源调度方法、设备、可读存储介质及芯片系统,该方法包括:响应于对第一应用的启动指令,启动第一应用并于主界面运行第一应用;基于第一应用的渲染线程,确定第一应用的K个关键线程;基于K个关键线程的历史负载信息,确定K个关键线程的预测负载信息;基于预测负载信息、第一应用的丢帧信息、以及系统功耗信息,确定K个关键线程的负载管控策略;基于K个关键线程的负载管控策略和至少一个CPU的性能参数,为第一应用分配CPU,并在CPU的资源中为第一应用分配运行资源。采用本申请,可以智能地为应用程序分配资源,有利于提升资源调度的灵活性,进而有利于提升应用程序运行的流畅性。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种资源调度方法、设备、可读存储介质及芯片系统


技术介绍

1、随着电子设备的功能越来越强大,电子设备运行应用程序的场景逐渐多样化。通常,电子设备启动一个应用程序,中央处理器(central processing unit,cpu)将为这个应用程序分配固定的资源运行该应用程序。然而,为应用程序分配固定的资源运行该应用程序可能存在应用程序运行过程中资源供给不足的情况,导致应用程序的运行出现卡顿。因此,电子设备如何进行资源调度提升应用程序运行的流畅性是值得研究的技术问题。


技术实现思路

1、本申请实施例提供一种资源调度方法、设备、可读存储介质及芯片系统,可以智能地为应用程序分配资源,有利于提升资源调度的灵活性,进而有利于提升应用程序运行的流畅性。

2、第一方面,本申请提供一种资源调度方法,该方法包括:响应于对第一应用的启动指令,启动第一应用并于主界面运行第一应用;基于第一应用的渲染线程,确定第一应用的k个关键线程;k为正整数;基于k个关键线程的历史负载信息,确定k个关键线程的预测负载信息;k个关键线程中的一个关键线程的历史负载信息指示在当前帧之前的渲染任务中,一个关键线程在至少一个cpu上的总负载;一个关键线程的预测负载信息指示在当前帧和/或当前帧之后的渲染任务中,一个关键线程在至少一个cpu上的总负载;基于预测负载信息、第一应用的丢帧信息、以及系统功耗信息,确定k个关键线程的负载管控策略;k个关键线程中的一个关键线程的负载管控策略指示一个关键线程在至少一个cpu上的最大负载和最小负载;基于k个关键线程的负载管控策略和至少一个cpu的性能参数,为第一应用分配cpu,并在cpu的资源中为第一应用分配运行资源。

3、在上述实施例中,电子设备可以基于应用程序的关键线程的负载情况,智能地确定出针对关键线程的负载管控策略。进而可以根据负载管控策略动态地为应用程序分配cpu及cpu中的运行资源,从而避免应用程序运行过程中出现资源供给不足的情况,有利于提升应用程序运行的流畅性。

4、结合第一方面,在一种可能的方式中,上述基于第一应用的渲染线程,确定第一应用的k个关键线程,包括:从第一应用的n个线程中确定出m个高负载线程;m个高负载线程的负载大于或等于负载阈值;或者,m个高负载线程为n个线程中负载从高到低排序的前m个,n为正整数,m为小于或等于n的正整数;基于第一应用的渲染线程,从m个高负载线程中确定第一应用的k个关键线程,k个关键线程与渲染线程具有唤醒关系,k小于或等于m。可见,先确定出高负载线程,再从高负载线程中确定出关键线程,有利于提升识别关键线程的效率。

5、结合第一方面,在一种可能的方式中,k个关键线程中的一个关键线程的历史负载信息包括第i帧的负载信息,第i帧的负载信息指示在第i帧的渲染任务中,一个关键线程在至少一个cpu上的总负载;第i帧为当前帧之前的帧,i为正整数;上述方法还包括:在第i帧的渲染任务中,确定一个关键线程在至少一个cpu中每个cpu上的初始负载;对每个cpu上的初始负载进行归一化处理,得到每个cpu上的参考负载;对每个cpu上的参考负载进行叠加处理,得到第i帧的负载信息。可见,对关键线程在每个cpu上的初始负载进行归一化处理后再叠加,有利于提升历史负载信息的可靠性。

6、结合第一方面,在一种可能的方式中,上述基于k个关键线程的预测负载信息、第一应用的丢帧信息、以及系统功耗信息,确定k个关键线程的负载管控策略,包括:基于k个关键线程的预测负载信息、第一应用的丢帧信息、以及系统功耗信息,调用强化学习模型确定k个关键线程的负载管控策略。可见,调用强化学习模型来确定关键线程的负载管控策略,有利于提升电子设备进行资源调度的智能性。

7、结合第一方面,在一种可能的方式中,上述方法还包括:响应于在主界面接收到对第二应用的运行指令,于主界面运行第二应用并于主界面保持第一应用处于运行状态,并执行基于第一应用的渲染线程,确定第一应用的k个关键线程的步骤。可见,对于多个应用程序同时运行的场景,电子设备可以默认优先为先运行的应用程序调度资源,如此有利于提升资源调度的灵活性。

8、结合第一方面,在一种可能的方式中,上述方法还包括:响应于在主界面接收到对第二应用的运行指令,于主界面运行第二应用并于主界面保持第一应用处于运行状态;设置第一应用的调度优先级高于第二应用的调度优先级;基于第一应用的调度优先级,执行基于第一应用的渲染线程,确定第一应用的k个关键线程的步骤。可见,对于多个应用程序同时运行的场景,电子设备可以为先运行的应用程序设置更高的调度优先级,从而避免发生资源抢占的情况,有利于提升应用程序运行的流畅性。

9、结合第一方面,在一种可能的方式中,基于k个关键线程的负载管控策略和至少一个cpu的性能参数,为第一应用分配cpu,并在cpu的资源中为第一应用分配运行资源,包括:基于k个关键线程中各个关键线程的负载管控策略,确定各个关键线程的运行频率;基于各个关键线程的运行频率和至少一个cpu的性能参数,为各个关键线程分别分配cpu,并在各个关键线程对应cpu的资源中为各个关键线程分配运行资源。可见,按照关键线程的运行频率为关键线程分配cpu和运行资源,有利于提升资源的利用率。

10、结合第一方面,在一种可能的方式中,k个关键线程包括第一线程和第二线程;若第一线程的运行频率高于第二线程的运行频率,则第一线程对应的cpu的性能参数优于第二线程对应的cpu的性能参数。这样,可以将性能更好的cpu分配给运行频率更高的线程,有利于提升资源的利用率。

11、结合第一方面,在一种可能的方式中,上述为各个关键线程分别分配cpu,并在各个关键线程对应cpu的资源中为各个关键线程分配运行资源,包括:为第一线程分配第一cpu;响应于第一cpu的空闲资源率大于或等于资源阈值,在第一cpu的资源中为第一线程分配运行资源。可见,为第一线程分配第一cpu后,进一步对第一cpu的空闲资源率进行判断,有利于提升资源调度的准确性。

12、结合第一方面,在一种可能的方式中,上述方法还包括:响应于第一cpu的空闲资源率小于资源阈值,为第一线程分配至少一个cpu中空闲的第二cpu,并在第二cpu的资源中为第一线程分配运行资源。可见,在第一cpu空闲资源率不足时为第一线程分配空闲的其他cpu,可以避免发生资源抢占的情况。

13、第二方面,本申请提供了一种电子设备,该电子设备包括:一个或多个处理器、显示屏和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行:响应于对第一应用的启动指令,启动第一应用并于主界面运行第一应用;基于第一应用的渲染线程,确定第一应用的k个关键线程;k为正整数;基于k个关键线程的历史负载信息,确定k个关键线程的预测负载信息;k个关键线程中的一个关键线程的历史负载信息指示在当前帧之本文档来自技高网...

【技术保护点】

1.一种资源调度方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述基于所述第一应用的渲染线程,确定所述第一应用的K个关键线程,包括:

3.如权利要求1所述的方法,其特征在于,所述K个关键线程中的一个关键线程的历史负载信息包括第i帧的负载信息,所述第i帧的负载信息指示在所述第i帧的渲染任务中,所述一个关键线程在至少一个CPU上的总负载;所述第i帧为所述当前帧之前的帧,i为正整数;所述方法还包括:

4.如权利要求1所述的方法,其特征在于,所述基于所述K个关键线程的预测负载信息、所述第一应用的丢帧信息、以及系统功耗信息,确定所述K个关键线程的负载管控策略,包括:

5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:

6.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:

7.如权利要求1所述的方法,其特征在于,所述基于所述K个关键线程的负载管控策略和所述至少一个CPU的性能参数,为所述第一应用分配CPU,并在所述CPU的资源中为所述第一应用分配运行资源,包括:</p>

8.如权利要求7所述的方法,其特征在于,所述K个关键线程包括第一线程和第二线程;若所述第一线程的运行频率高于所述第二线程的运行频率,则所述第一线程对应的CPU的性能参数优于所述第二线程对应的CPU的性能参数。

9.如权利要求8所述的方法,其特征在于,所述为所述各个关键线程分别分配CPU,并在所述各个关键线程对应CPU的资源中为所述各个关键线程分配运行资源,包括:

10.如权利要求9所述的方法,其特征在于,所述方法还包括:

11.一种电子设备,其特征在于,包括存储器和一个或多个处理器;所述存储器与所述一个或多个处理器耦合,用于存储计算机程序,所述计算机程序包括程序指令;所述一个或多个处理器调用所述程序指令,使得所述电子设备执行如权利要求1-10任一项所述的方法。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-10任一项所述的方法。

13.一种芯片系统,其特征在于,所述芯片系统与存储器耦合,所述芯片系统用于读取并执行所述存储器中存储的计算机程序,以实现如权利要求1-10任一项所述的方法。

...

【技术特征摘要】

1.一种资源调度方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述基于所述第一应用的渲染线程,确定所述第一应用的k个关键线程,包括:

3.如权利要求1所述的方法,其特征在于,所述k个关键线程中的一个关键线程的历史负载信息包括第i帧的负载信息,所述第i帧的负载信息指示在所述第i帧的渲染任务中,所述一个关键线程在至少一个cpu上的总负载;所述第i帧为所述当前帧之前的帧,i为正整数;所述方法还包括:

4.如权利要求1所述的方法,其特征在于,所述基于所述k个关键线程的预测负载信息、所述第一应用的丢帧信息、以及系统功耗信息,确定所述k个关键线程的负载管控策略,包括:

5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:

6.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:

7.如权利要求1所述的方法,其特征在于,所述基于所述k个关键线程的负载管控策略和所述至少一个cpu的性能参数,为所述第一应用分配cpu,并在所述cpu的资源中为所述第一应用分配运行资源,包括:

8.如权利要求7...

【专利技术属性】
技术研发人员:凡宗璇
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1