负载预测方法、装置、电子设备及存储介质与流程

文档序号:32478771发布日期:2022-12-09 20:19阅读:48来源:国知局
负载预测方法、装置、电子设备及存储介质与流程

1.本技术属于终端技术领域,具体涉及一种负载预测方法、装置、电子设备及存储介质。


背景技术:

2.在电子设备的运行过程中,电子设备的cpu和gpu等资源的使用率时刻处于上下波动状态。如果电子设备一直维持在高负载状态下,就会对访问请求的响应速度造成影响;反之,如果电子设备一直维持在低负载状态下,就会浪费计算资源。因此,需要提前对电子设备的负载进行预测,使得可以基于预测结果提前对电子设备的负载进行调度。但相关的负载预测方法,预测的准确性还有待提高。


技术实现要素:

3.鉴于上述问题,本技术提出了一种负载预测方法、装置、电子设备以及存储介质,以实现改善上述问题。
4.第一方面,本技术实施例提供了一种负载预测方法,所述方法包括:获取窗口负载信息和当前系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息;将所述窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
5.第二方面,本技术实施例提供了一种负载预测装置,所述装置包括:信息获取单元,用于获取窗口负载信息和系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息;预测单元,用于将所述窗口负载信息和系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
6.第三方面,本技术实施例提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
7.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
8.本技术实施例提供了一种负载预测方法、装置、电子设备及存储介质。在获取到窗口负载信息和当前系统状态信息之后,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息,将窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取负载预测模型输出的下一时间窗口所对应的负载信息。通过上述方法,在对下一时间窗口对应的负载信息进行预测时,不仅结合了当前时间窗口和历史时间窗口各自对应的负载信息,还结合了当前系统状态信息,使得负载预测模型输出的负载信息可以更符合当前系统的状态,为后续实现硬件资源的合理调度提供了决策
依据,提高了负载预测的准确性。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
10.图1示出了本技术一实施例提出的一种负载预测方法的应用场景示意图;
11.图2示出了本技术一实施例提出的一种负载预测方法的应用场景示意图;
12.图3示出了本技术一实施例提出的一种负载预测方法的流程图;
13.图4示出了本技术一实施例中步骤s110和步骤s120所示的过程示意图;
14.图5示出了本技术另一实施例提出的一种负载预测方法的流程图;
15.图6示出了本技术再一实施例提出的一种负载预测方法的流程图;
16.图7示出了本技术又一实施例提出的一种负载预测方法的流程图;
17.图8示出了本技术实施例提出的一种负载预测装置的结构框图;
18.图9示出了本技术实施例提出的一种负载预测装置的结构框图;
19.图10示出了本技术实时中的用于执行根据本技术实施例的负载预测方法的电子设备或服务器的结构框图;
20.图11示出了本技术实时中的用于保存或者携带实现根据本技术实施例的负载预测方法的程序代码的存储单元。
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.在电子设备的运行过程中,电子设备的cpu和gpu等资源的使用率时刻处于上下波动状态。如果电子设备一直维持在高负载状态下,就会对访问请求的响应速度造成影响;反之,如果电子设备一直维持在低负载状态下,就会浪费计算资源。因此,需要提前对电子设备的负载进行预测,使得可以基于预测结果提前对电子设备的负载进行调度。
23.但是,发明人在对相关的负载预测方法的研究中发现,相关的负载预测方法,预测的准确性还有待提高。
24.因此,发明人提出了本技术中的负载预测方法、装置、电子设备及存储介质。在获取到窗口负载信息和当前系统状态信息之后,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息,将窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取负载预测模型输出的下一时间窗口所对应的负载信息。通过上述方法,在对下一时间窗口对应的负载信息进行预测时,不仅结合了当前时间窗口和历史时间窗口各自对应的负载信息,还结合了当前系统状态信息,使得负载预测模型输出的负载信息可以更符合当前系统的状态,为后续实现硬件资源的合理调度提供
了决策依据,提高了负载预测的准确性。
25.在本技术实施例中,所提供的负载预测方法可以由电子设备执行。在由电子设备执行的这种方式中,本技术实施例提供的负载预测方法中所有步骤可以均由电子设备执行。例如,如图1所示,通过电子设备100的处理器执行获取窗口负载信息和当前系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息;将所述窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
26.再者,本技术实施例提供的负载预测方法也可以由服务器(云端)进行执行。对应的,在由服务器执行的这种方式中,可以由服务器实时的执行获取窗口负载信息和当前系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息;将所述窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
27.另外,还可以由电子设备和服务器协同执行。在由电子设备和服务器协同执行的这种方式中,本技术实施例提供的负载预测方法中的部分步骤由电子设备执行,而另外部分的步骤则由服务器来执行。
28.示例性的,如图2所示,电子设备100可以执行负载预测方法包括的:获取窗口负载信息和当前系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息,然后由服务器200来执行将所述窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
29.需要说明的是,在由电子设备和服务器协同执行的这种方式中,电子设备和服务器分别执行的步骤不限于上述示例中所介绍的方式,在实际应用中,可以根据实际情况动态的调整电子设备和服务器分别执行的步骤。
30.需要说明的是,该电子设备100除了可以为图1和图2中所示的智能手机外,还可以为车机设备、可穿戴设备、平板电脑、笔记本电脑、智能音箱等。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统。
31.下面将结合附图具体描述本技术的各实施例。
32.请参阅图3,本技术实施例提供的一种负载预测方法,应用于如图1或图2所示的电子设备或服务器,所述方法包括:
33.步骤s110:获取窗口负载信息和当前系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息。
34.在本技术实施例中,当前时间窗口和历史时间窗口可以为在时间上连续的多个时间窗口,当然,历史时间窗口也可以为预设时间段内获取的时间窗口,预设时间段内获取的时间窗口可以为在时间上连续的时间窗口,也可以为不连续的时间窗口,在此不做具体限定。负载信息可以是表征电子设备的负载情况的信息。可选的,每个时间窗口所对应的负载信息可以为电子设备中的目标器件的工作频率、目标器件的利用率、目标器件的运行任务的时间、目标器件的闲置时间以及目标器件的休眠时间中的至少一项;其中,目标器件可以为soc(system on chip,系统级芯片)中的硬件节点,例如,硬件节点可以包括cpu(central processing unit,中央处理器)、gpu(graphics processing unit,图像处理器)、ddr
(double data rate sdram,双倍速率同步动态随机存储器)中的至少一项等。更具体地,时间窗口所对应的负载信息可以为cpu的工作频率、利用率、运行任务的时间、闲置时间以及休眠时间等中的至少一项;时间窗口所对应的负载信息也可以为gpu的工作频率、利用率、运行任务的时间、闲置时间以及休眠时间等中的至少一项;时间窗口所对应的负载信息也可以为ddr的带宽、利用率等中的至少一项。多个历史时间窗口各自所对应的负载信息指的是在当前时间窗口所对应的时刻之前的固定时间窗口下所采集的负载信息。其中,当前时间窗口所对应的时刻可以理解为执行步骤s110的时刻。可选的,在本技术实施例中,时间窗口的时间长度可以被设置为任意时间长度。示例性的,可以设定时间窗口的时间长度为10毫秒,即每10毫秒采集一次负载信息。
35.作为一种方式,窗口负载信息可以为获取的预设时间段内的在时间上连续的多个时间窗口各自所对应的负载信息。可选的,窗口负载信息也可以为获取的预设时间段内的在时间上不连续的多个时间窗口各自所对应的负载信息。其中,预设时间段为预先设置的获取时间窗口所对应的负载信息的时间。在本技术实施例中,可以通过电子设备中设置的数据读取模块来调用对应的接口来读取窗口负载信息以及当前系统状态信息。其中,数据读取模块调用来读取窗口负载信息和当前系统状态信息的接口可以不同,并且不同的接口读取数据的时间间隔可以设置为不同,比如,可以将读取窗口负载信息的接口的读取数据的时间间隔设置为一个时间窗口的时间长度,可以将读取当前系统状态信息的接口的读取数据的时间间隔设置为5s。示例性的,考虑到电子设备的温度很难在很短的时间内剧烈变化,并且获取温度会额外增加电子设备系统的开销,因此,可以将数据读取模块中获取温度等级的接口读取数据的时间间隔设置为5s,也就是说,每隔5秒调用对应的接口获取一次温度等级。
36.进一步的,其中,当前系统状态信息用于表征电子设备中的硬件节点当前的工作状态。获取当前系统状态信息的时刻与当前时间窗口所对应的负载信息的时刻相同。在本技术实施例中,当前系统状态信息可以包括cpu等级、gpu等级以及温控等级等状态信息。其中,cpu等级不同,对应的cpu的工作频率不同,cpu等级越高,对应的cpu的工作频率越大;gpu等级不同,对应的gpu的工作频率不同,gpu等级越高,对应的gpu的工作频率越大;温控等级用于表征电子设备的温度变化,温控等级越高,表征电子设备的温度变化越快。
37.在本技术实施例中,数据读取模块中用于读取不同的当前系统状态信息的接口也可以不同,并且读取不同的当前系统状态信息的接口读取数据的时间间隔也可以不同,在此不做具体限定。
38.并且,在本技术实施例中,不同电子设备中的数据读取模块中的接口读取数据的时间间隔也可以设置为不同,同一电子设备中的数据读取模块中的同一接口在不同的应用场景下,读取数据的时间间隔也可以不同,比如,用于读取cpu等级的接口,在cpu工作频率高的场景下,可以将该接口读取数据的时间间隔设置得比较小一点;在cpu工作频率低的场景下,可以将该接口读取数据的时间间隔设置得比较大一点。当然,也可以根据电子设备中正在运行的应用程序的数量来设置不同的接口读取数据的时间间隔,其中,电子设备中正在运行的应用程序的数量越少,对应的接口读取数据的时间间隔可以设置得越大;电子设备中正在运行的应用程序的数量越多,对应的接口读取数据的时间间隔可以设置得越小。可选的,也可以根据电子设备中正在运行的应用程序的类型来设置不同的接口读取数据的
时间间隔,比如,若电子设备中正在运行的应用程序的类型为游戏类型,那么可以将读取cpu等级或gpu等级的接口读取数据的时间间隔设置得小一点;若电子设备中正在运行的应用程序的类型为音乐类型,那么就可以将读取cpu等级或gpu等级的接口读取数据的时间间隔设置得大一点。
39.步骤s120:将所述窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
40.在本技术实施例中,预先训练好的负载预测模型可以为预先训练好的自二阶回归移动平均模型(auto-regressive and moving average model,arma)。arma模型是研究时间序列的重要方法,由自回归模型(ar模型)与滑动平均模型(ma模型)为基础“混合”而成,具有适用范围广、预测误差小的特点。
41.作为一种方式,在将窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息之前还包括:获取训练数据集,所述训练数据集包括多组窗口负载信息和多组窗口负载信息各自对应的当前系统状态信息,每一组窗口负载信息包括在时间上连续的多个历史时间窗口各自所对应的负载信息以及当前时间窗口所对应的负载信息;基于所述训练数据集对未训练的arma模型进行训练,直至满足训练结束条件,得到所述负载预测模型。
42.其中,在对未训练的arma模型进行训练时,可以将训练数据集中的在时间上连续的多个历史时间窗口各自所对应的负载信息、当前时间窗口所对应的负载信息以及对应的当前系统状态信息作为模型的输入,将对应的下一时间窗口所对应的负载信息作为模型的输出,对该模型进行训练。
43.进一步的,在获取到训练数据集时,可以对获取到的训练数据集中的数据进行判断,判断其是否为平稳非纯随机序列,若平稳则直接进入通过自相关和偏自相关函数,并结合aic(a-information criterion,最小信息量准则)或bic(bayesian information criterion,贝叶斯信息准则)准则对建立的arma模型进行模型识别和定阶;若不平稳则进行数据处理,处理后才能进入通过自相关和偏自相关函数,并结合aic或bic准则对建立的arma模型进行模型识别和定阶。
44.在完成arma模型的识别和定阶后,进入arma模型的参数估计阶段;完成arma模型的参数估计后,对拟合的arma模型进行适应性检验;如果拟合模型通过检验,则开始进行预测阶段;若模型检验不通过,则重新进行arma模型识别和检验,即重复通过自相关和偏自相关函数,并结合aic或bic准则对建立的arma模型进行模型识别和定阶,重新选择模型;最后,利用适应性高的拟合模型,来预测序列的未来变化趋势。
45.在本技术实施例中,假如时间序列符合下列要求:对任意时间t,其均值恒为常数;对于任意的时间t与s,此时间序列的相关系数是由两个时间点之间的时间段决定的,两个时间点的起始点不会造成任何影响。这样的时间序列就是平稳时间序列。也就是说,如果时间窗口所对应的负载信息满足上述条件,那么就可以判断时间窗口所对应的负载信息是平稳非纯随机序列。
46.可以知道的是,若一个ar过程是一个平稳过程,则其特征方程的根绝对值应在单位圆之外;而ma过程包含一组有限的、平稳的白噪声的线性组合,因此,ma过程是“天生”平稳的。arma模型可以看成是ar模型和ma模型的组合,而ma过程必定是平稳的。所以,arma模
型的平稳性只需检验ar部分的平稳性。
47.平稳性检验的方法有数据图、逆序检验、游程检验、单位根检验、df检验、adf检验等。
48.在实际应用中,常常会遇到输入的时间序列经检验是非平稳的,这样就无法采用arma模型,通常的处理方法是采用差分的方法将它们变换为平稳的。经差分后,如果时间序列检验为平稳,就对差分后的时间序列进行处理,便可建立对应的平稳随机过程或模型。一个非平稳时间序列接受了d次差分处理并成为平稳序列时,就能够用一个平稳的arma(p,q)模型当作其对应的模型,则称该原始时间序列是一个自回归积分滑动平均时间序列,表示成arima(p,d,q)。
49.在本技术实施例中,训练结束条件可以为arma模型的预测准确性满足预设值(比如预设值为98%);训练结束条件也可以为arma模型的网络参数达到预设值等,在此不做具体限定。
50.作为一种方式,在本技术实施例中,负载预测模型的网络参数可以由云服务器进行下发,当云服务器中有新的网络参数更新时,云服务器就将新的网络参数下发给电子设备中的arma模型。
51.示例性的,步骤s110和步骤s120所示的过程可以如图4所示,将历史时间窗口和当前时间窗口各自所对应的负载信息、当前系统状态信息作为ai强化学习模型(预先训练好的负载预测模型)的输入,通过ai强化学习模型输出下一时间窗口所对应的负载信息(cpu/gpu的工作频率、利用率、运行任务的时间、闲置时间以及休眠时间等中的至少一项)。其中,云服务器可以不断给ai强化学习模型下发网络参数。
52.本技术提供的一种负载预测方法,在获取到窗口负载信息和当前系统状态信息之后,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息,将窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取负载预测模型输出的下一时间窗口所对应的负载信息。通过上述方法,在对下一时间窗口对应的负载信息进行预测时,不仅结合了当前时间窗口和历史时间窗口各自对应的负载信息,还结合了当前系统状态信息,使得负载预测模型输出的负载信息可以更符合当前系统的状态,为后续实现硬件资源的合理调度提供了决策依据,提高了负载预测的准确性。
53.请参阅图5,本技术实施例提供的一种负载预测方法,应用于如图1或图2所示的电子设备或服务器,所述方法包括:
54.步骤s210:获取窗口负载信息和当前系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息。
55.步骤s220:将所述窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
56.步骤s230:基于所述下一时间窗口所对应的负载信息,确定对应的硬件资源调配参数。
57.在本技术实施例中,硬件资源调配参数用于表征对cpu、gpu和ddr等硬件资源进行调节调度的参数。硬件资源调配参数可以包括cpu等级、gpu等级和ddr等级中的至少一项。其中,cpu等级越高,对应的cpu的工作频率越大;gpu等级越高,对应的gpu的工作频率越大;ddr等级越高,对应的ddr的工作频率越大。可选的,每个硬件节点可以对应有多个等级,不
同的等级,对应的工作频率不同。
58.作为一种方式,可以预先为不同的负载信息设置不同的硬件资源调配参数,建立负载信息和硬件资源调配参数之间的对应关系,从而在通过负载预测模型输出下一时间窗口所对应的负载信息后,可以通过查找该对应关系,确定对应的硬件资源调配参数。其中,确定的对应的硬件资源调配参数为该负载情况下,最佳的硬件资源调配参数。
59.可选的,由于在对arma模型进行训练时,训练数据中包括有当前系统状态信息,因此,在本技术实施例中,下一时间窗口所对应的硬件资源调配参数也可以由arma模型直接输出。
60.步骤s240:将所述硬件资源调配参数配置到对应硬件节点。
61.在本技术实施例中,硬件节点指的是gpu节点、gpu节点或ddr节点等中的至少一种。将硬件资源调配参数配置到对应硬件节点可理解为将cpu等级配置到cpu节点;将gpu等级配置到gpu节点;或者,将ddr等级配置到ddr节点。
62.作为一种方式,在通过上述方法得到下一时间窗口对应的硬件资源调配参数后,可以将对应的硬件资源参数配置到对应的硬件节点,使得在下一时间窗口所对应的时间长度内,对应的硬件节点可以以对应的硬件资源调配参数对应的工作频率进行工作。示例性的,若确定的对应的硬件资源调配参数为cpu等级,那么就将cpu等级配置到对应的cpu节点,使得cpu节点在下一时间窗口开始时按照该cpu等级对应的工作频率开始工作。其中,每个cpu等级、gpu等级和ddr等级对应的工作频率可以由电子设备中设置的soc确定,不同的soc对应的cpu等级、gpu等级和ddr等级对应的工作频率不同。
63.通过上述方法,可以使得硬件节点可以及时基于硬件资源调配参数进行工作,避免了由于硬件资源调配参数调整不及时,所导致的产生额外功耗和性能达不到预期目标的问题。
64.本技术提供的一种负载预测方法,首先获取窗口负载信息和当前系统状态信息,然后将窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取负载预测模型输出的下一时间窗口所对应的负载信息,再基于下一时间窗口所对应的负载信息,确定对应的硬件资源调配参数,从而将硬件资源调配参数配置到对应硬件节点。通过上述方法,通过获取历史时间窗口和当前时间窗口各自所对应的负载信息,并基于当前系统的状态信息,通过机器学习模型来预测下一时间窗口所对应的负载信息,并将负载信息转换为对应的硬件资源调配参数,使得可以在下一时间窗口到来时,及时对硬件节点配置与硬件资源调配参数相匹配的工作频率,解决了在重载场景提频不及时的问题,避免了重载场景出现掉帧的问题。此外还能够根据高低负载场景,为硬件节点动态配置合适的工作频率。
65.请参阅图6,本技术实施例提供的一种负载预测方法,应用于如图1或图2所示的电子设备或服务器,所述方法包括:
66.步骤s310:每隔预设时间获取一次所述窗口负载信息和所述当前系统状态信息。
67.在本技术实施例中,预设时间为预先设置的获取窗口负载信息和当前系统状态信息的时间。其中,预设时间可以根据电子设备所处的负载场景进行设置,具体的,若电子设备所处的负载场景为重载场景,那么可以将预设时间设置得更短一点,比如3s;若电子设备所处的负载场景为其他的场景,那么可以将预设时间设置得更长一点,比如6s。
68.步骤s320:将所述窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
69.步骤s330:基于所述下一时间窗口所对应的负载信息,确定对应的硬件资源调配参数。
70.步骤s340:对所述硬件资源调配参数进行校验。
71.在本技术实施例中,在对硬件节点对应的硬件资源调配参数进行配置之前,为了保证硬件资源调配参数的准确性,避免出现异常配置参数,可以通过对确定的硬件资源调配参数进行校验以提高结果的可靠性。
72.作为一种方式,在对硬件资源调配参数进行校验时,可以遵循三个原则:异常参数过滤,确保硬件资源调配参数在预设硬件等级取值范围内;硬件资源调配参数等级检查;异常处理,若当前确定的资源调配参数异常,则将硬件资源调配参数切换为温控调频。其中,预设硬件等级取值范围由电子设备中设置的soc或者电子设备的系统决定;参数异常表征硬件资源调配参数的值远超过预设硬件等级取值范围或者表征负载预测模型的预测结果误差较大。
73.在本技术实施例中,具体的,若确定的硬件资源调配参数在预设硬件等级取值范围内,且硬件资源配置参数没有异常,则确定校验通过,反之,则确定校验未通过。
74.步骤s350:若校验通过,将所述硬件资源调配参数配置到对应硬件节点。
75.在本技术实施例中,若确定的硬件资源校验通过,则将校验通过的硬件资源调配参数配置到对应的硬件节点。
76.步骤s360:若校验未通过,对所述硬件资源调配参数进行调整,得到调整后的硬件资源调配参数。
77.作为一种方式,硬件资源调配参数包括cpu等级。所述若校验未通过,对所述硬件资源调配参数进行调整,得到调整后的硬件资源调配参数,包括:若所述cpu等级小于预设最小cpu等级,将所述cpu等级替换为所述预设最小cpu等级;若所述cpu等级大于预设最大cpu等级,将所述cpu等级替换为所述预设最大cpu等级。
78.在本技术实施例中,预设最小cpu等级和预设最大cpu等级构成一个预设cpu等级取值范围。其中,预设最小cpu等级为当前系统的最小cpu等级,预设最大cpu等级为当前系统的最大cpu等级。
79.若确定的cpu等级小于当前系统的最小cpu等级,则将确定的cpu等级调节至当前系统的最小cpu等级;若确定的cpu等级大于当前系统的最大cpu等级,则将确定的cpu等级调节至当前系统的最大cpu等级。
80.作为另一种方式,硬件资源调配参数包括gpu等级。所述若校验未通过,对所述硬件资源调配参数进行调整,得到调整后的硬件资源调配参数,包括:若所述gpu等级小于预设最小gpu等级,将所述gpu等级替换为所述预设最小gpu等级;若所述gpu等级大于预设最大gpu等级,将所述gpu等级替换为所述预设最大gpu等级。
81.在本技术实施例中,预设最小gpu等级和预设最大gpu等级构成一个预设gpu等级取值范围。其中,预设最小gpu等级为当前系统的最小gpu等级,预设最大gpu等级为当前系统的最大gpu等级。
82.若确定的gpu等级小于当前系统的最小gpu等级,则将确定的gpu等级调节至当前
系统的最小gpu等级;若确定的gpu等级大于当前系统的最大gpu等级,则将确定的gpu等级调节至当前系统的最大gpu等级。
83.可选的,硬件资源调配参数包括ddr等级。所述若校验未通过,对所述硬件资源调配参数进行调整,得到调整后的硬件资源调配参数,包括:若所述ddr等级小于预设最小ddr等级,将所述ddr等级替换为所述预设最小ddr等级;若所述ddr等级大于预设最大ddr等级,将所述ddr等级替换为所述预设最大ddr等级。
84.在本技术实施例中,预设最小ddr等级和预设最大ddr等级构成一个预设ddr等级取值范围。其中,预设最小ddr等级为当前系统的最小gpu等级,预设最大ddr等级为当前系统的最大ddr等级。
85.若确定的ddr等级小于当前系统的最小ddr等级,则将确定的ddr等级调节至当前系统的最小ddr等级;若确定的ddr等级大于当前系统的最大ddr等级,则将确定的ddr等级调节至当前系统的最大ddr等级。
86.可选的,硬件资源调配参数也可以为fps等级。所述若校验未通过,对所述硬件资源调配参数进行调整,得到调整后的硬件资源调配参数,包括:若所述fps等级小于预设最小fps等级,将所述fps等级替换为所述预设最小fps等级;若所述fps等级大于预设最大fps等级,将所述fps等级替换为所述预设最大fps等级。
87.通过上述的调节方法,可以实现对下一时间窗口所对应的负载信息进行更加精细化的资源调度,提高了电子设备的硬件资源的利用率,提高了软件通用性能。
88.步骤s370:将所述调整后的硬件资源调配参数配置到对应硬件节点。
89.在本技术实施例中,在通过上述方式对确定的硬件资源调配参数调整后,调用数据读取模块中设置的对应的接口将调整后的硬件资源调配参数配置到对应的硬件节点。示例性的,若调整后的硬件资源调配参数为cpu等级,则调用数据读取模块中设置的读取cpu数据的接口将调整后的cpu等级配置到cpu节点。
90.本技术提供的一种负载预测方法,首先每个预设时间获取一次窗口负载信息和当前系统状态信息,将窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取负载预测模型输出的下一时间窗口所对应的负载信息,然后基于下一时间窗口所对应的负载信息,确定对应的硬件资源调配参数,并对硬件资源调配参数进行校验,若校验通过,将硬件资源调配参数配置到对应硬件节点,若校验未通过,对硬件资源调配参数进行调整,得到调整后的硬件资源调配参数,进而将调整后的硬件资源调配参数配置到对应硬件节点。通过上述方法,通过对确定的硬件资源调配参数的校验,使得配置到对应的硬件节点的硬件资源调配参数可以更加准确,从而使得在下一时间窗口到来之前可以更加准确地对硬件节点配置与硬件资源调配参数相匹配的工作频率,使得硬件节点可以在下一时间窗口开始时,以更加精确地工作频率进行工作,可以更大程度的节省功耗。
91.请参阅图7,本技术实施例提供的一种负载预测方法,应用于如图1或图2所示的电子设备或服务器,所述方法包括:
92.步骤s410:获取窗口负载信息和当前系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息。
93.其中,所述历史时间窗口包括多个,多个所述历史时间窗口包括与所述当前时间窗口相邻的上一时间窗口,以及所述上一时间窗口之前的多个时间窗口。
94.步骤s420:对所述多个时间窗口各自所对应的负载信息进行预处理,得到参考负载信息。
95.在本技术实施例中,由于离当前时间窗口最近的时间窗口所对应的负载信息对负载预测模型预测的结果影响比较大,因此,可以将多个历史时间窗口中最后获取的一个时间窗口所对应的负载信息单独拿出来输入到负载预测模型中进行计算。
96.在将窗口负载信息输入到负载预测模型之前,为了提高负载预测模型的计算效率,可以对多个时间窗口所对应的负载信息进行预处理后,再带入到负载预测模型中进行计算。
97.此时,对多个时间窗口各自所对应的负载信息进行预处理指的是将多个时间窗口各自所对应的负载信息进行加权求值处理,得到一个总的负载信息,即参考负载信息。示例性的,若在时间上连续的多个历史时间窗口各自所对应的负载信息可以包括s1、s2、s3、s4、s5。其中,s5为与当前时间窗口相邻的上一时间窗口所对应的负载信息,在计算参考负载信息时,由于s5对负载预测模型的预测结果影响较大,因此,只需要将s1、s2、s3和s4进行加权求值,得到参考负载信息。
98.步骤s430:将所述参考负载信息、所述上一时间窗口所对应的负载信息、所述当前时间窗口所对应的负载信息以及所述当前系统状态信息输入到所述负载预测模型中,获取所述负载预测模型输出的与所述当前时间窗口在时间上连续的下一时间窗口所对应的负载信息。
99.在本本技术实施例中,负载预测模型预测下一时间窗口所对应的负载信息的公式为:y
t+1
=β*y
t
+γ*y
t-1
+(1-(β+γ))*y
t-2
,其中,y
t+1
表示下一时间窗口对应的负载信息;β和γ表示权重系数,可以预先通过多次实验得到;y
t-1
表示当前时间窗口的前一时间窗口所对应的负载信息;y
t
表示当前时间窗口所对应的负载信息;y
t-2
表示参考负载信息。
100.将参考负载信息、上一时间窗口所对应的负载信息、当前时间窗口所对应的负载信息以及当前系统状态信息输入到负载预测模型中,负载预测模型可以通过上述公式计算得到下一时间窗口所对应的负载信息。
101.步骤s440:基于所述下一时间窗口所对应的负载信息,确定对应的硬件资源调配参数。
102.步骤s450:将所述硬件资源调配参数配置到对应硬件节点。
103.本技术提供的一种负载预测方法,首先获取窗口负载信息和当前系统状态信息,对多个时间窗口各自所对应的负载信息进行预处理,得到参考负载信息,然后将参考负载信息、上一时间窗口所对应的负载信息、当前时间窗口所对应的负载信息以当前系统状态信息输入到负载预测模型中,获取负载预测模型输出的与当前时间窗口在时间上连续的下一时间窗口所对应的负载信息,再基于下一时间窗口所对应的负载信息,确定对应的硬件资源调配参数,并将硬件资源调配参数配置到对应硬件节点。通过上述方法,通过获取历史时间窗口和当前时间窗口各自所对应的负载信息,并基于当前系统的状态信息,通过机器学习模型来预测下一时间窗口所对应的负载信息,并将负载信息转换为对应的硬件资源调配参数,使得可以在下一时间窗口到来时,及时对硬件节点配置与硬件资源调配参数相匹配的工作频率,解决了在重载场景提频不及时的问题,避免了重载场景出现掉帧的问题。此外还能够根据高低负载场景,为硬件节点动态配置合适的工作频率。
104.请参阅图8,本技术实施例提供的一种负载预测装置500,所述装置500包括:
105.信息获取单元510,用于获取窗口负载信息和系统状态信息,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息。
106.作为一种方式,信息获取单元510具体用于每隔预设时间获取一次所述窗口负载信息和所述当前系统状态信息。
107.预测单元520,用于将所述窗口负载信息和系统状态信息输入到预先训练好的负载预测模型中,获取所述负载预测模型输出的下一时间窗口所对应的负载信息。
108.作为一种方式,所述历史时间窗口包括多个,多个所述历史时间窗口包括与所述当前时间窗口相邻的上一时间窗口,以及所述上一时间窗口之前的多个时间窗口。预测单元520具体用于对所述多个时间窗口各自所对应的负载信息进行预处理,得到参考负载信息;将所述参考负载信息、所述上一时间窗口所对应的负载信息、所述当前时间窗口所对应的负载信息以及所述当前系统状态信息输入到所述负载预测模型中,获取所述负载预测模型输出的与所述当前时间窗口在时间上连续的下一时间窗口所对应的负载信息。
109.请参阅图9,所述装置500还包括:
110.参数分配单元530,用于基于所述下一时间窗口所对应的负载信息,确定对应的硬件资源调配参数;将所述硬件资源调配参数配置到对应硬件节点。
111.进一步的,参数分配单元530具体用于对所述硬件资源调配参数进行校验;若校验通过,将所述硬件资源调配参数配置到对应硬件节点;若校验未通过,对所述硬件资源调配参数进行调整,得到调整后的硬件资源调配参数;将所述调整后的硬件资源调配参数配置到对应硬件节点。
112.可选的,参数分配单元530具体还用于若所述cpu等级小于预设最小cpu等级,将所述cpu等级替换为所述预设最小cpu等级;若所述cpu等级大于预设最大cpu等级,将所述cpu等级替换为所述预设最大cpu等级。
113.可选的,参数分配单元530具体还用于若所述gpu等级小于预设最小gpu等级,将所述gpu等级替换为所述预设最小gpu等级;若所述gpu等级大于预设最大gpu等级,将所述gpu等级替换为所述预设最大gpu等级。
114.需要说明的是,本技术中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
115.下面将结合图10对本技术提供的一种电子设备或服务器进行说明。
116.请参阅图10,基于上述的负载预测方法、装置,本技术实施例还提供的另一种可以执行前述负载预测方法的电子设备或服务器800。电子设备或服务器800包括相互耦合的一个或多个(图中仅示出一个)处理器802、存储器804以及网络模块806。其中,该存储器804中存储有可以执行前述实施例中内容的程序,而处理器802可以执行该存储器804中存储的程序。
117.其中,处理器802可以包括一个或者多个处理核。处理器802利用各种接口和线路连接整个服务器800内的各个部分,通过运行或执行存储在存储器804内的指令、程序、代码集或指令集,以及调用存储在存储器804内的数据,执行电子设备或服务器800的各种功能和处理数据。可选地,处理器802可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列
(programmable logic array,pla)中的至少一种硬件形式来实现。处理器802可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器802中,单独通过一块通信芯片进行实现。
118.存储器804可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器804可用于存储指令、程序、代码、代码集或指令集。存储器804可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备或服务器800在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
119.所述网络模块806用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述网络模块806可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。所述网络模块806可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块806可以与基站进行信息交互。
120.请参考图11,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
121.计算机可读存储介质900可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质900包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
122.本技术提供的一种负载预测方法、装置、电子设备以及存储介质,在获取到窗口负载信息和当前系统状态信息之后,其中,所述窗口负载信息包括当前时间窗口所对应的负载信息和历史时间窗口所对应的负载信息,将窗口负载信息和当前系统状态信息输入到预先训练好的负载预测模型中,获取负载预测模型输出的下一时间窗口所对应的负载信息。通过上述方法,在对下一时间窗口对应的负载信息进行预测时,不仅结合了当前时间窗口和历史时间窗口各自对应的负载信息,还结合了当前系统状态信息,使得负载预测模型输出的负载信息可以更符合当前系统的状态,为后续实现硬件资源的合理调度提供了决策依据,提高了负载预测的准确性。
123.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1