本技术涉及gpu的,尤其是涉及一种基于负载识别推荐的gpu智能算力控制方法及系统。
背景技术:
1、目前,关于虚拟gpu的算力资源分配,通常采用pid算法进行调度控制,经典的pid控制器仅在系统性能线性和时间不变的情况下保证其正确性和收敛性。
2、系统性能线性是指控制参数输入与性能输出之间应该存在线性关系,时间不变性是指任一时刻输入相同的控制参数,系统的性能输出也应该相同,并且不受时间变化的影响。
3、然而,系统性能线性和时间不变这两个特征在gpu智算设备上很难达到,一是运行系统调用的kernel函数和数据量会经常发生大规模变化,打破了线性和时间不变原则,二是大规模并行计算性能瞬息变化,受限于显存、计算核心、数据传输等参数,不同时间运行性能差别较大,较难做到系统性能线性。因此pid控制器的控制参数需要动态调整,而如何高效、准确调整pid控制器的控制参数,以保持算力资源分配的正确性和收敛性是值得研究的问题。
技术实现思路
1、为了提升pid控制器控制参数动态调节的高效性和准确性,以使gpu算力资源分配保持准确和收敛性,本技术提供了一种基于负载识别推荐的gpu智能算力控制方法及系统。
2、本技术的上述发明目的一是通过以下技术方案得以实现的:
3、一种基于负载识别推荐的gpu智能算力控制方法,包括步骤:
4、获取预设的gpu负载集合,获取每个gpu负载的特性数据,特征数据包括gpu负载对应的核函数的线程数和申请显存量;
5、基于特征数据生成对应的训练样本集;
6、基于预设的训练场景,将训练样本集的数据投喂至神经网络进行不同场景的监督式训练,以得到gpu负载的类别信息与训练样本集关联的模型;
7、对不同类别信息的gpu负载进行算力控制并记录存储pid控制器的最优控制参数,将最优控制参数与对应类别信息的gpu负载进行关联;
8、当识别到任一特征数据时,通过模型识别出对应的gpu负载的类别信息,调取对应的最优控制参数以调节当前gpu负载的算力资源分配。
9、可选的,所述基于特征数据生成对应的训练样本集;包括:
10、获取多个gpu负载对应的核函数的线程数和申请显存量;
11、基于分桶方式,将每预设数量的线程数记录作为一个线程数训练样本,以及将每预设数量的申请显存量记录作为一个申请显存量训练样本;以得到线程数训练样本集和申请显存量训练样本集;
12、将线程数训练样本集和申请显存量训练样本集分别进行归一化处理,作为训练样本集。
13、可选的,所述基于预设的训练场景,将训练样本集的数据投喂至神经网络进行不同场景的监督式训练,以得到gpu负载的类别信息与训练样本集关联的模型,包括:
14、所述训练场景包括负载训练场景和负载推理场景,所述负载训练场景和所述负载推理场景各自对应采集的线程数训练样本和申请显存量训练样本不同;
15、基于已知的gpu负载种类对其进行标记,得到gpu负载的类别信息,将线程数训练样本集、申请显存量训练样本集与gpu负载的类别信息进行监督式的神经网络训练。
16、可选的,所述对不同类别信息的gpu负载进行算力控制并记录存储pid控制器的最优控制参数,将最优控制参数与对应类别信息的gpu负载进行关联中,最优控制参数包括负载推荐参数和pid增益参数,负载推荐参数包括算力控制比例下的最优参数,pid增益参数包括比例增益参数kp、积分增益参数ki、微分增益参数kd;
17、对gpu负载进行算力控制时,记录存储pid控制器的负载推荐参数和pid增益参数。
18、可选的,所述当识别到任一特征数据时,通过模型识别出对应的gpu负载的类别信息,包括:
19、当识别到任一特征数据时,模型通过预设算法选取若干个线程数训练样本和申请显存量训练样本;
20、对若干个线程数训练样本和申请显存量训练样本进行线程数和申请现存量的逐个识别,以判定当前gpu负载的类别信息。
21、可选的,所述当识别到任一特征数据时,模型通过预设算法选取若干个线程数训练样本和申请显存量训练样本;包括:
22、当识别到任一特征数据时,获取该特征数据的线程数以及申请显存量,所述线程数等于线程块数量乘以每个线程块中线程的数量;
23、选取线程数和申请现存量相同的若干个线程数训练样本和申请显存量训练样本;
24、获取已选取的线程数训练样本中线程块数量以及每个线程块中线程的数量,并与申请显存量进行组合形成待判断样本;
25、基于线程块数量、每个线程块中线程数量以及申请显存量的组合特征, 确定当前gpu负载的类别信息。
26、可选的,所述当识别到任一特征数据时,模型通过预设算法选取若干个线程数训练样本和申请显存量训练样本;还包括:
27、当所识别的gpu负载不属于预设的gpu负载集合时,模型通过负载推理场景推理筛选出误差值在预设范围内的若干个线程数训练样本和申请显存量训练样本;
28、对若干个线程数训练样本和申请显存量训练样本进行线程数和申请现存量的逐个识别,获得当前gpu负载的若干个可能的待定类别信息;
29、筛选出所获得的待定类别信息对应的若干个最优控制参数,基于若干个最优控制参数阶段性调节当前gpu负载的算力资源分配,获取调节结果并从若干个最优控制参数中选取调节结果最好的一个与该gpu负载进行关联。
30、本技术的上述发明目的二是通过以下技术方案得以实现的:
31、一种基于负载识别推荐的gpu智能算力控制系统,用于执行与所述一种基于负载识别推荐的gpu智能算力控制方法。
32、本技术的上述目的三是通过以下技术方案得以实现的:
33、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于负载识别推荐的gpu智能算力控制方法的步骤。
34、本技术的上述目的四是通过以下技术方案得以实现的:
35、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于负载识别推荐的gpu智能算力控制方法的步骤。
36、综上所述,本技术包括以下至少一种有益技术效果:
37、1.通过采用上述方法,对大量的gpu负载通过核函数的参数分布情况进行分类,由于核函数每秒下发数量庞大,则通过将预设数量的特征数据归纳作为一个样本,提升神经网络对于gpu负载识别的容错性;并可以从两个维度反应出负载的特征,且采用分桶的方式建立样本,避免了参数过于笼统而丢失信息的情况发生,进一步,对完成训练后的每一类gpu负载进行算力控制,通过多次调节记录下最优控制参数,最后,通过识别特征数据,模型识别出对应的gpu负载的类别信息,调取对应的最优控制参数以调节当前gpu负载的算力资源分配,不受限于系统性能线性和消除时间不同的影响,提升pid控制器控制参数动态调节的高效性和准确性,以使gpu算力资源分配保持准确和收敛性。
38、2.当前的gpu负载若不在预设的gpu负载集合内,通过区分训练和推理两种场景,对于不在gpu负载集合内的特征信息仍可以做到负载识别分类的,推荐的算力控制参数仍然具有参考价值,并进一步能够进行调节比对,为新识别的gpu负载匹配最优控制参数;
39、3.kp、ki、kd参数对算力控制比例是有依赖关系的,例如25%, 因此在做gpu负载参数推荐时,算力控制比例也会作为输入参数。在做gpu负载识别训练的过程中,也会对kp、ki、kd最优参数做记录,并且会对不同的算力控制比例下的最优参数做记录,这样在负载识别后能够实现恰当、精准的最后控制参数的推荐。
1.一种基于负载识别推荐的gpu智能算力控制方法,其特征在于:
2.根据权利要求1所述的一种基于负载识别推荐的gpu智能算力控制方法,其特征在于:所述基于特征数据生成对应的训练样本集;包括:
3.根据权利要求2所述的一种基于负载识别推荐的gpu智能算力控制方法,其特征在于:所述基于预设的训练场景,将训练样本集的数据投喂至神经网络进行不同场景的监督式训练,以得到gpu负载的类别信息与训练样本集关联的模型,包括:所述训练场景包括负载训练场景和负载推理场景,所述负载训练场景和所述负载推理场景各自对应采集的线程数训练样本和申请显存量训练样本不同;
4.根据权利要求1所述的一种基于负载识别推荐的gpu智能算力控制方法,其特征在于:所述对不同类别信息的gpu负载进行算力控制并记录存储pid控制器的最优控制参数,将最优控制参数与对应类别信息的gpu负载进行关联中,最优控制参数包括负载推荐参数和pid增益参数,负载推荐参数包括算力控制比例下的最优参数,pid增益参数包括比例增益参数kp、积分增益参数ki、微分增益参数kd;
5.根据权利要求2所述的一种基于负载识别推荐的gpu智能算力控制方法,其特征在于:所述当识别到任一特征数据时,通过模型识别出对应的gpu负载的类别信息,包括:
6.根据权利要求5所述的一种基于负载识别推荐的gpu智能算力控制方法,其特征在于:
7.根据权利要求5所述的一种基于负载识别推荐的gpu智能算力控制方法,其特征在于:
8.一种基于负载识别推荐的gpu智能算力控制系统,其特征在于:用于执行如权利要求1至7任一所述的一种基于负载识别推荐的gpu智能算力控制方法。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述一种基于负载识别推荐的gpu智能算力控制方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述一种基于负载识别推荐的gpu智能算力控制方法的步骤。