一种任务分配方法及装置与流程

文档序号:26587903发布日期:2021-09-10 19:54阅读:103来源:国知局
一种任务分配方法及装置与流程

1.本发明涉及数据处理技术领域,特别是涉及一种任务分配方法及装置。


背景技术:

2.用户在完成集成电路的设计之后,为了保证集成电路能够正常工作,可以对集成电路进行eda(electronic design automation,电子设计自动化)仿真验证。当前可以通过服务器运行针对该集成电路的eda仿真验证任务,以对该集成电路进行eda仿真验证,服务器在运行eda仿真验证任务的过程中需要使用一定量的计算资源,如内存资源、cpu资源等。
3.为了将eda仿真验证任务分配给服务器进行eda仿真验证,用户可以预先配置运行eda仿真验证任务所需的资源量,通过用户终端可以向任务管理系统发送携带有预设的资源量的任务运行请求。任务管理系统可以基于任务运行请求携带的资源量,向空闲资源量大于上述资源量的服务器发送请求,以使得服务器运行所请求的eda仿真验证任务,实现对集成电路的eda仿真验证的过程。
4.然而,用户难以准确的确定各个eda仿真验证任务所需的资源量,因此用户预先配置的资源量往往与eda仿真验证任务实际运行过程中所需的资源量有较大差距,导致任务管理系统难以基于所配置的资源量向服务器准确地分配eda仿真验证任务。例如,若用户预先配置的资源量大于任务实际需要的资源量,则会造成服务器中的资源浪费;若用户预先配置的资源量小于任务实际需要的资源量,则会导致服务器难以顺利的运行上述任务。


技术实现要素:

5.本发明实施例的目的在于提供一种任务分配方法及装置,以准确地向服务器分配eda仿真验证任务。具体技术方案如下:第一方面,本发明实施例提供了一种任务分配方法,所述方法包括:获取待分配的eda仿真验证任务的第一任务信息;基于历史eda仿真验证任务的第二任务信息、历史eda仿真验证任务使用的第一实际资源量以及所述第一任务信息,预测所述待分配的eda仿真验证任务所需的资源量;基于所预测的资源量以及各服务器当前可用资源量,确定用于处理所述待分配的eda仿真验证任务的目标服务器,向所述目标服务器分配所述待分配的eda仿真验证任务。
6.第二方面,本发明实施例提供了一种任务分配装置,所述装置包括:第一信息获取模块,用于获取待分配的eda仿真验证任务的第一任务信息;资源量预测模块,用于基于历史eda仿真验证任务的第二任务信息、历史eda仿真验证任务使用的第一实际资源量以及所述第一任务信息,预测所述待分配的eda仿真验证任务所需的资源量;任务分配模块,用于基于所预测的资源量以及各服务器当前可用资源量,确定用于处理所述待分配的eda仿真验证任务的目标服务器,向所述目标服务器分配所述待分配的eda仿真验证任务。
7.第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
8.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
9.第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的方法步骤。
10.本发明实施例有益效果:应用本发明实施例提供的任务分配方法,在获取待分配的eda仿真验证任务的第一任务信息之后,基于历史eda仿真验证任务的第二任务信息、历史eda仿真验证任务使用的第一实际资源量以及上述第一任务信息,预测待分配的eda仿真验证任务所需的资源量。基于所预测的资源量以及各服务器当前可用资源量,确定用于处理待分配的eda仿真验证任务的目标服务器,向目标服务器分配上述待分配的eda仿真验证任务。
11.由以上可见,基于历史eda仿真验证任务使用的第一实际资源量,可以近似的确定得到不同eda仿真验证任务所需的资源量,因此在获取到待分配的eda仿真验证任务后,可以基于所对应的第二任务信息与第一任务信息相似的历史eda仿真验证任务的第一实际资源量,预测得到待分配的eda仿真验证任务所需的资源量。上述资源量是在历史eda仿真验证任务实际使用的第一实际资源量的基础上得到的,因此可以认为预测得到的资源量与待分配的eda仿真验证任务实际需要的资源量较为相近,则基于预测得到的资源量,可以较为准确地确定用于处理待分配的eda仿真验证任务的目标服务器,并向目标服务器分配上述待分配的eda仿真验证任务。
附图说明
12.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
13.图1为本发明实施例提供的第一种任务分配方法的流程示意图;图2为本发明实施例提供的一种任务分配应用场景的示意图;图3为本发明实施例提供的第二种任务分配方法的流程示意图;图4为本发明实施例提供的第一种资源量预测模型训练方法的流程示意图;图5为本发明实施例提供的第二种资源量预测模型训练方法的流程示意图;图6为本发明实施例提供的一种任务分配装置的结构示意图;图7为本发明实施例提供的一种资源量预测模型训练装置的结构示意图;图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
14.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本发明保护的范围。
15.由于现有技术中,难以向服务器准确地分配eda仿真验证任务,为解决这一问题,本发明实施例提供了一种任务分配方法及装置。
16.本发明实施例提供了一种任务分配方法,上述方法包括:获取待分配的eda仿真验证任务的第一任务信息;基于历史eda仿真验证任务的第二任务信息、历史eda仿真验证任务使用的第一实际资源量以及上述第一任务信息,预测上述待分配的eda仿真验证任务所需的资源量;基于所预测的资源量以及各服务器当前可用资源量,确定用于处理上述待分配的eda仿真验证任务的目标服务器,向上述目标服务器分配上述待分配的eda仿真验证任务。
17.由以上可见,基于历史eda仿真验证任务使用的第一实际资源量,可以近似的确定得到不同eda仿真验证任务所需的资源量,因此在获取到待分配的eda仿真验证任务后,可以基于所对应的第二任务信息与第一任务信息相似的历史eda仿真验证任务的第一实际资源量,预测得到待分配的eda仿真验证任务所需的资源量。上述资源量是在历史eda仿真验证任务实际使用的第一实际资源量的基础上得到的,因此可以认为预测得到的资源量与待分配的eda仿真验证任务实际需要的资源量较为相近,则基于预测得到的资源量,可以较为准确地确定用于处理待分配的eda仿真验证任务的目标服务器,并向目标服务器分配上述待分配的eda仿真验证任务。
18.参见图1,为本发明实施例提供的第一种任务分配方法的流程示意图,上述方法包括以下步骤s101

s103。
19.本发明实施例的执行主体可以是除运行任务的服务器之外的、任意具有数据处理能力的第一终端,由于上述实施例用于管理任务并向服务器分配任务,因此运行于上述第一终端中的实施例可以被称为一个任务管理系统。
20.具体的,上述第一终端可以是lsf(load sharing facility,负载分配设备)。
21.s101:获取待分配的eda仿真验证任务的第一任务信息。
22.具体的,上述第一任务信息可以包含于用户终端向第一终端发送的任务分配请求中,上述任务分配请求中还包括指示第一终端预测待分配的eda仿真验证任务所需资源量的指令,以及将上述eda仿真验证任务分配给目标服务器的指令。上述第一终端在接收到上述任务分配请求后,可以对上述任务分配请求中包含的数据进行特征提取,从而获取其中包含的第一任务信息。
23.其中,上述第一任务信息中可以包括:待分配的eda仿真验证任务使用的eda工具信息、任务仿真验证所用的开发验证工具信息,任务队列信息,任务仿真的模块信息、任务仿真子模块信息等。
24.具体的,上述任务仿真的模块信息表示:eda仿真验证任务对应的集成电路中的模块,上述模块为:待验证的集成电路中的部分器件所组成的器件组,该器件组用于完成预设的某种功能。上述任务仿真的子模块信息表示:任务对应的集成电路的子模块,上述子模块为:上述模块中的部分区间组成的子器件组,用于完成该模块所实现的功能中的部分子功能。
25.例如,对于用于进行音频处理的集成电路,上述集成电路可以被划分为:用于对音频信号进行处理的器件组成的音频信号处理模块、用于将模拟音频信号转换为数字音频信号的器件组成的模数转换模块、用于将数字音频信号转换为模拟音频信号的器件组成的数模转换模块等。
26.上述音频信号处理模块还可以被划分为:用于对音频信号进行放大处理的器件组成的音频信号放大子模块、用于对音频信号进行降噪处理的器件组成的音频降噪子模块等。
27.s102:基于历史eda仿真验证任务的第二任务信息、历史eda仿真验证任务使用的第一实际资源量以及上述第一任务信息,预测上述待分配的eda仿真验证任务所需的资源量。
28.具体的,上述资源量可以是cpu资源量、内存资源量等,由于服务器运行任务主要消耗的是内存资源,cpu资源的消耗较少,cpu资源对任务的正常运行影响也较小,因此所预测的资源量也可以仅为内存资源量。上述历史eda仿真验证任务可以是已向服务器分配过的eda仿真验证任务。
29.本发明的一个实施例中,可以选择与待分配的eda仿真验证任务相似的历史eda仿真验证任务,理论上,所选择的历史eda仿真验证任务使用的第一实际资源量与待分配的eda仿真验证任务所需的资源量相似,因此可以基于所选择的历史eda仿真验证任务的第一实际资源量,预测待分配的eda仿真验证任务所需的资源量。
30.具体的,可以分别计算第一任务信息与各个历史eda仿真验证任务的第二任务信息之间的相似度,选择所对应的相似度大于第一预设值、且相似度最高的历史eda仿真验证任务,将所选择的历史eda仿真验证任务的第一实际资源量作为预测得到的资源量。例如,上述第一预设值可以为70%、80%等。
31.或者选择所对应相似度大于第二预设值的历史eda仿真验证任务,将所选择的历史eda仿真验证任务的第一实际资源量的平均值或加权平均值,作为预测得到的资源量。例如,上述第二预设值可以为70%、80%等。
32.本发明的另一个实施例中,针对每一历史eda仿真验证任务的第二任务信息,可以分别将该第二任务信息中的各类子信息与第一任务信息中的各类子信息进行对比。确定相同的子信息的项数,除以第一任务信息中子信息的总项数,得到第二任务信息与第一任务信息之间的相似度。
33.另外,上述历史eda仿真验证任务的数量往往较多,若分别确定各个历史eda仿真验证任务的第二任务信息与第一任务信息的相似度需要进行较大量的计算,预测上述资源量的效率较低。由于任务信息中包含的部分预设子信息对预测资源量较为重要,因此可以先提取第二任务信息的预设子信息与第一任务信息的预设子信息相同的历史eda仿真验证任务,再分别计算第一任务信息与所提取的各个历史eda仿真验证任务的第二任务信息之间的相似度。
34.例如,任务信息中的模块信息表示任务对应的模块,不同模块的功能不同,进行仿真验证时所需要的资源量往往差距较大。任务信息中子模块信息表示任务对应的子模块,不同子模块的功能不同,进行仿真验证时所需要的资源量往往差距也较大。因此任务信息中的模块信息与子模块信息对预测得到的资源量有较大影响,所对应的模块信息和/或子
模块信息与第一任务信息中的模块信息和/或子模块信息相同的历史eda仿真验证任务,对预测待分配的eda仿真验证任务所需的资源量的参考作用较大。因此可以将模块信息和/或子模块信息作为上述预设子信息,仅提取所对应的模块信息和/或子模块信息与第一任务信息中的模块信息和/或子模块信息相同的历史eda仿真验证任务,基于所提取的历史eda仿真验证任务预测待分配的eda仿真验证任务所需的资源量。
35.本发明的又一个实施例中,可以通过下文步骤s102a实现上述步骤s102,在此暂不详述。
36.s103:基于所预测的资源量以及各服务器当前可用资源量,确定用于处理上述待分配的eda仿真验证任务的目标服务器,向上述目标服务器分配上述待分配的eda仿真验证任务。
37.具体的,可以先确定各个服务器的当前可用资源量,若当前可用资源量大于所预测的资源量,则表示该服务器能够运行待分配的eda仿真验证任务,则可以将上述服务器作为目标服务器,将上述待分配的eda仿真验证任务分配给上述目标服务器。若存在多个当前可用资源量大于等于所预测的资源量的服务器,则可以选择其中当前可用资源量最大的服务器作为目标服务器。
38.本发明的一个实施例中,上述第一终端可以向所选择的服务器发送上述第一任务信息以及预测得到的资源量,使得上述服务器依据上述资源量为上述eda仿真验证任务分配资源,并基于上述第一任务信息运行上述eda仿真验证任务。
39.由以上可见,基于历史eda仿真验证任务使用的第一实际资源量,可以近似的确定得到不同eda仿真验证任务所需的资源量,因此在获取到待分配的eda仿真验证任务后,可以基于所对应的第二任务信息与第一任务信息相似的历史eda仿真验证任务的第一实际资源量,预测得到待分配的eda仿真验证任务所需的资源量。上述资源量是在历史eda仿真验证任务实际使用的第一实际资源量的基础上得到的,因此可以认为预测得到的资源量与待分配的eda仿真验证任务实际需要的资源量较为相近,则基于预测得到的资源量,可以较为准确地确定用于处理待分配的eda仿真验证任务的目标服务器,并向目标服务器分配上述待分配的eda仿真验证任务。
40.本发明的另一个实施例中,在执行上述步骤s102之前还可以通过以下步骤a

步骤b对历史eda仿真验证任务的第二任务信息与第一实际资源量进行预先处理。
41.步骤a:确定历史eda仿真验证任务中、第二任务信息相同的相同历史任务。
42.具体的,分别对比各条历史eda仿真验真任务的第二任务信息,将第二任务信息中包含的各类子信息的取值均相同的历史eda仿真验真任务作为上述相同历史任务。
43.步骤b:保留相同历史任务中的任一条历史eda仿真验证任务,并将相同历史任务的第一实际资源量的平均资源量作为所保留的历史eda仿真验证任务的第一实际资源量。
44.具体的,上述平均资源量可以是各个相同历史任务的第一实际资源量的平均值,也可以是各个相同历史任务的第一实际资源量的均方根。
45.具体的,可以按照以下公式计算第一实际资源量的均方根:
其中,y
rmse
为上述平均资源量,n为相同历史任务的数量,i为相同历史任务的编号,y
i
为编号为i的相同历史任务的第一实际资源量。
46.由以上可见,本发明实施例可以对历史eda仿真验证任务中的相同历史任务进行合并去重的处理,减少第二任务信息与第一实际资源量中的冗余数据,以降低基于第二任务信息与第一实际资源量预测待分配的eda仿真验证任务所需的资源量的过程中消耗的计算资源。
47.本发明的又一个实施例中,在执行上述步骤s102之前还可以通过以下步骤c

步骤e对历史eda仿真验证任务的第二任务信息与第一实际资源量进行预先处理。
48.步骤c:确定历史eda仿真验证任务中、第二任务信息的相似度大于预设相似度的相似历史任务。
49.具体的,计算第二任务信息之间的相似度的方式,和前述计算第二任务信息、第一任务信息之间的相似度的方式相似,本发明实施例对此不再赘述。
50.例如,预设相似度可以为85%、90%等。
51.步骤d:基于各个相似历史任务的第一实际资源量计算平均资源量。
52.具体的,可以判断相似历史任务的第一实际资源量是否小于预设资源量,若为是,则认为各个相似历史任务实际使用的第一实际资源量差距不大,可以将相似历史任务合并,以一条历史eda仿真验证任务的形式表示各个相似历史任务。否则,认为相似历史任务中存在较为特殊的、实际使用的第一实际资源量较大的历史eda仿真验证任务,则该历史eda仿真验证任务不参与合并。
53.本发明的一个实施例中,可以计算各个相似历史任务的第一实际资源量的平均值或均方根作为上述平均资源量。
54.步骤e:保留相似历史任务中的任一条历史eda仿真验证任务,将上述平均资源量作为所保留历史eda仿真验证任务的第一实际资源量。
55.具体的,除了可以随机保留相似历史任务中的任一条历史eda仿真验证任务之外,也可以保留第二任务信息中所包含的子信息最多的一条历史eda仿真验证任务。去除所保留任务之外的其他相似历史任务。
56.由以上可见,通过本发明实施例可以对历史eda仿真验证任务中的相似历史任务进行合并去重的处理,减少第二任务信息与第一实际资源量中的冗余数据,以降低基于第二任务信息与第一实际资源量预测待分配的eda仿真验证任务所需的资源量的过程中所消耗的计算资源。
57.本发明的又一个实施例中,在执行上述步骤s102之前还可以通过以下步骤f对历史eda仿真验证任务的第二任务信息与第一实际资源量进行预先处理。
58.步骤f:从各个历史eda仿真验证任务的第二任务信息中去除不包含预设信息的第二任务信息。
59.具体的,上述预设信息可以为对预测资源量的过程影响最大的子信息,若上述第二任务信息内不包含上述预设信息,则表示该第二任务信息不完整,基于不完整的第二任务信息预测得到的资源量不准确。因此可以去除不包含预设信息的第二任务信息,也就是不使用被去除的第二任务信息对应的历史eda仿真验证任务预测待分配的eda仿真验证任务所需的资源量,以保证预测得到的资源量的准确度。
60.例如,与前文实施例相似,上述预设信息可以为模块信息、子模块信息等。
61.本发明的又一个实施例中,可以还可以在执行步骤s102之前对历史eda仿真验证任务的第二任务信息进行特征清洗、数据归一化、代号编码dummy coding等处理。具体的,上述特征清洗、数据归一化与dummy coding处理均属于现有技术,本发明实施例对此不再赘述。
62.此外,上述步骤s101

s102用于预测待分配的eda仿真验证任务所需的资源量,上述步骤s103用于基于所预测的资源量向目标服务器分配eda仿真验证任务,上述步骤s101

s102与s103可以被区分为两个不同的流程,可以分别被称为资源量预测子系统以及任务分配子系统,共同组成前文所示的任务分配系统。上述资源量预测子系统与任务分配子系统可以如前文所示共同运行于第一终端,也可以分别运行于两个不同的终端。
63.例如,第二终端通过资源量预测子系统预测得到上述资源量之后,可以将预测得到的资源量以及第一任务信息发送给第三终端,由第三终端基于任务分配子系统按照上述资源量与第一任务信息选择目标服务器,并向目标服务器分配上述eda仿真验证任务。
64.参见图2,为本发明实施例提供的一种任务分配应用场景的示意图。
65.由图可见,上述应用场景中包含用户终端1

用户终端n,以及服务器1

服务器m,每一用户终端将自身请求的eda仿真验证任务的第一任务信息发送给资源量预测子系统。其中,用户终端1所请求的eda仿真验证任务为job1,用户终端2所请求的eda仿真验证任务为job2,用户终端n所请求的eda仿真验证任务为jobn。
66.资源量预测子系统按照第一任务信息对eda仿真验证任务所需的资源量进行预测,并将预测得到的资源量与第一任务信息发送给任务分配子系统。任务分配子系统基于上述资源量向服务器分配eda仿真验证任务。其中,任务分配子系统将job1分配给服务器2,将jobn分配给服务器1,将job2分配给服务器m。
67.参见图3,为本发明实施例提供的第二种任务分配方法的流程示意图,与前述图1所示的实施例相比,上述步骤s102还可以通过以下步骤s102a实现。
68.s102a:将上述第一任务信息输入资源量预测模型,获得第一输出结果,将上述第一输出结果作为预测得到的、上述待分配的eda仿真验证任务所需的资源量。
69.其中,上述资源量预测模型为:利用历史eda仿真验证任务的第二任务信息及上述历史eda仿真验证任务实际使用的第一实际资源量对预设模型进行训练得到的。
70.具体的,上述预设模型可以是回归模型,如gbdt(gradient boosting decision tree,梯度提升决策树)回归模型、自适应增强adaboosting回归模型等,也可以是分类模型,如gbdt分类模型,adaboosting分类模型、svm(support vector machines,支持向量机)模型、随机森林分类模型、决策树模型等。
71.若上述预设模型是分类模型,则在对预设模型进行训练之前,需要对第一实际数据量进行离散化处理,将不同的第一实际数据量映射至不同的分类中。
72.由以上可见,本发明实施例使用大量历史eda仿真验证任务的第二任务信息与第一实际资源量对预设模型进行训练后,训练得到的资源量预测模型可以学习到第二任务信息与第一实际资源量之间的关联关系,因此将新的第一任务信息输入上述资源量预测模型之后,资源量预测模型可以基于学习到的关联关系,分析得到第一任务信息对应的资源量。由于上述资源量预测模型基于大量的历史eda仿真验证任务进行了学习,因此在此基础上对新的第一任务信息进行分析,预测得到的资源量较为准确。
73.参见图4,为本发明实施例提供的第一种资源量预测模型训练方法的流程示意图,具体的,上述流程中包含以下步骤s401

s404。
74.s401:获取历史eda仿真验证任务的第二任务信息与对应的第一实际资源量。
75.具体的,上述第二任务信息与第一实际资源量可以是第一终端从服务器中获取到的、已经运行结束的eda仿真验证任务的信息。上述第二任务信息与第一实际资源量可以存储于第一终端的数据库中,在需要对预设模型进行训练时,可以从上述数据库中获取第二任务信息与第一实际资源量。
76.例如,上述数据库可以是mongodb等。
77.s402:将上述第二任务信息输入至上述预设模型中,获得第二输出结果,作为预测得到的、上述第二任务信息对应的历史eda仿真验证任务所需的资源量。
78.s403:基于上述第二输出结果与上述第一实际资源量,计算上述预设模型的损失,并基于上述损失对上述预设模型的模型参数进行调整。
79.具体的,上述第二输出结果为预测得到的历史eda仿真验证任务所需的资源量,第一实际资源量为历史eda仿真验证任务实际使用的资源量,上述第二输出结果与第一实际资源量越接近,损失越小,说明预设模型的输出结果越准确。可以基于上述第二输出结果与第一实际资源量计算上述预设模型的损失,基于损失调整预设模型的模型参数,使得预设模型输出的第二输出结果逐渐趋近于上述第一实际资源量,也就是使得预设模型的第二输出结果逐渐趋近于实际所需的资源量。
80.其中,可以采用现有技术中的损失计算方法计算上述损失,本发明实施例对此不进行限定。
81.若未满足预设的训练终止条件,则继续执行上述步骤s402,使用第二任务信息继续对预设模型进行训练。直至满足预设的训练终止条件,执行步骤s404。
82.其中,上述预设的训练终止条件可以为以下条件中的任一一种:计算得到的损失小于预设损失、对预设模型进行模型训练的次数达到预设次数、各个历史eda仿真验证任务的第二任务信息均已被输入过上述预设模型。
83.s404:将满足预设的训练终止条件的预设模型确定为资源量预测模型。
84.由以上可见,本发明实施例使用大量历史eda仿真验证任务的第二任务信息与第一实际资源量对预设模型进行训练,预设模型可以学习到第二任务信息与第一实际资源量之间的关联关系。基于第二输出结果与第一实际资源量计算模型的损失,并基于损失调整预设模型的模型参数,使得输出的第二输出结果逐渐趋近于上述第一实际资源量。也就是使得预设模型所输出的结果趋近于eda仿真验证任务实际使用的资源量。因此将新的第一任务信息输入上述资源量预测模型之后,资源量预测模型可以基于学习到的关联关系,分析得到较为准确的第一任务信息所需的资源量。
85.参见图5,为本发明实施例提供的第二种资源量预测模型训练方法的流程示意图,与前述图4所示的实施例相比,上述步骤s402可以通过以下步骤s402a实现。
86.s402a:将上述第二任务信息分别输入至不同类型的预设模型中,获得针对不同预设模型的第二输出结果,分别作为各个预设模型预测得到的、上述第二任务信息对应的历史eda仿真验证任务所需的资源量。
87.具体的,不同类型的预设模型的模型结构不同,上述预设模型可以是gbdt回归模型、adaboosting回归模型、gbdt分类模型,adaboosting分类模型、svm模型、随机森林分类模型、决策树模型等模型中的任意多个模型。
88.另外,与前述图4所示的实施例相比,上述步骤s403可以通过以下步骤s403a实现,步骤s404可以通过以下步骤s404a

s404c实现。
89.s403a:针对每一预设模型,基于该预设模型的第二输出结果与上述第一实际资源量,计算该预设模型的损失,并基于上述损失对该预设模型的模型参数进行调整。
90.具体的,针对每一预设模型,可以通过前述步骤s403所示的实施例对该预设模型的模型参数进行调整,本发明实施例对此不再赘述。
91.针对每一预设模型,若未满足该预设模型的训练终止条件,则返回执行上述步骤s402a,使用第二任务信息继续对该预设模型进行训练。直至各个预设模型的训练终止条件均被满足,执行步骤s404a。
92.具体的,不同预设模型的训练终止条件可以相同,也可以不同。
93.s404a:将满足预设的训练终止条件的预设模型确定为资源量备选预测模型。
94.s404b:针对每一资源量备选预测模型,计算表示该资源量备选预测模型的性能的性能值。
95.本发明的一个实施例中,针对不同类型的预设模型,可以采用不同的方式计算该预设模型的性能值。
96.具体的,针对回归模型,可以计算回归模型的均方根误差的相反数作为上述性能值,均方根误差越大表示回归模型的不确定性越大,回归模型的性能越差。因此上述均方根误差的相反数越大,表示回归模型的性能越好。也可以采用决定系数评价模型计算上述回归模型的性能值。
97.其中,计算均方根误差与使用决定系数评价模型计算性能值均属于现有技术,本发明实施例对此不再赘述。
98.针对分类模型,可以计算分类模型的准确度作为上述性能值,上述准确度越大表示分类模型的不确定性越小,分类模型的性能越好。也可以计算分类模型的f1分数f1 score作为上述性能值,f1 score越大表示分类模型的不确定越小,分类模型的性能越好。还可以计算分类模型的auc(area under curve,roc曲线下与坐标轴围成的面积),auc越大表示分类模型的不确定越小,分类模型的性能越好。
99.具体的,计算准确度、f1 score、auc均属于现有技术,本发明实施例对此不再赘述。
100.s404c:基于各个资源量备选预测模型的性能值,选择性能值最高的资源量备选预测模型作为资源量预测模型。
101.具体的,由于资源量备选预测模型的种类不同,采用的性能值计算方式不同,为了
统一各个资源量备选预测模型的性能值,可以对计算得到的性能值进行归一化处理之后再进行比较,选择性能值最高的资源量备选预测模型作为资源量预测模型。资源量备选预测模型的性能值越大,资源量备选预测模型的性能越好,准确度越高,因此选择性能值最大的资源量备选预测模型作为资源量预测模型,可以保证资源量预测模型的准确度较高。
102.由以上可见,本发明实施例使用第二任务信息与第一实际资源量对不同预设模型分别进行训练,得到多个经过训练的、具有一定准确度的资源量备选预测模型。再选择性能值最大的资源量备选预测模型作为资源量预测模型,可以保证最终获得的资源量预测模型具有较好的效果,使用上述资源量预测模型预测得到的资源量较为准确。
103.本发明的另一个实施例中,在训练得到资源量预测模型,并使用资源量预测模型预测待分配的eda仿真验证任务的资源量,进行eda仿真验证任务分配之后,还可以通过以下步骤g

步骤k更新上述资源量预测模型。
104.步骤g:获取预设时间段内、新增的eda仿真验证任务的第三任务信息及新增的eda仿真验证任务使用的第二实际资源量。
105.具体的,预设时间段可以是从上一次执行步骤g

步骤k更新资源预测模型起预设时长的时间段。上述预设时长可以为1天、1周、一个月等。
106.步骤h:将上述新增的eda仿真验证任务的第三任务信息输入至上述资源量预测模型中,得到第三输出结果。
107.步骤i:基于上述第三输出结果与上述第二实际资源量,计算上述资源量预测模型的损失,基于上述损失对上述资源量预测模型的模型参数进行调整,并继续执行上述步骤h,直至将各个新增的eda仿真验证任务的第三任务信息均输入至上述资源量预测模型中,得到模型参数更新后的资源量预测模型。
108.具体的,可以通过前述图4或图5所示的实施例对上述资源量预测模型进行进一步训练,调整上述资源量预测模型的模型参数,本发明实施例对此不再赘述。
109.步骤j:分别计算第一性能值与第二性能值。
110.其中,上述第一性能值为模型参数更新前的资源量预测模型的性能,第二性能值为模型参数更新后的资源量预测模型的性能。
111.具体的,上述计算第一性能值与第二性能值的方式与前述步骤s404b相似,本发明实施例对此不再赘述。
112.步骤k:若上述第二性能值高于上述第一性能值,则将模型参数更新后的资源量预测模型作为新的资源量预测模型。
113.具体的,若上述第一性能值高于上述第二性能值,则表示对资源量预测模型进行模型参数更新,提升了资源量预测模型的性能,因此可以将性能较高的、模型参数更新后的资源量预测模型作为新的资源量预测模型。采用新的性能较高的资源量预测模型可以提高预测得到的资源量的准确度。
114.与前述任务分配方法相对应,本发明实施例还提供了一种任务分配装置。
115.参见图6,为本发明实施例提供的一种任务分配装置的结构示意图,所述装置包括:第一信息获取模块601,用于获取待分配的eda仿真验证任务的第一任务信息;资源量预测模块602,用于基于历史eda仿真验证任务的第二任务信息、历史eda仿
真验证任务使用的第一实际资源量以及所述第一任务信息,预测所述待分配的eda仿真验证任务所需的资源量;任务分配模块603,用于基于所预测的资源量以及各服务器当前可用资源量,确定用于处理所述待分配的eda仿真验证任务的目标服务器,向所述目标服务器分配所述待分配的eda仿真验证任务。
116.由以上可见,基于历史eda仿真验证任务使用的第一实际资源量,可以近似的确定得到不同eda仿真验证任务所需的资源量,因此在获取到待分配的eda仿真验证任务后,可以基于所对应的第二任务信息与第一任务信息相似的历史eda仿真验证任务的第一实际资源量,预测得到待分配的eda仿真验证任务所需的资源量。上述资源量是在历史eda仿真验证任务实际使用的第一实际资源量的基础上得到的,因此可以认为预测得到的资源量与待分配的eda仿真验证任务实际需要的资源量较为相近,则基于预测得到的资源量,可以较为准确地确定用于处理待分配的eda仿真验证任务的目标服务器,并向目标服务器分配上述待分配的eda仿真验证任务本发明的一个实施例中,上述资源量预测模块602,具体用于:将所述第一任务信息输入资源量预测模型,获得第一输出结果,将所述第一输出结果作为预测得到的、所述待分配的eda仿真验证任务所需的资源量,其中,所述资源量预测模型为:利用历史eda仿真验证任务的第二任务信息及所述历史eda仿真验证任务实际使用的第一实际资源量对预设模型进行训练得到的。
117.由以上可见,本发明实施例使用大量历史eda仿真验证任务的第二任务信息与第一实际资源量对预设模型进行训练后,训练得到的资源量预测模型可以学习到第二任务信息与第一实际资源量之间的关联关系,因此将新的第一任务信息输入上述资源量预测模型之后,资源量预测模型可以基于学习到的关联关系,分析得到第一任务信息对应的资源量。由于上述资源量预测模型基于大量的历史eda仿真验证任务进行了学习,因此在此基础上对新的第一任务信息进行分析,预测得到的资源量较为准确。
118.参见图7,为本发明实施例提供的一种资源量预测模型训练装置的结构示意图,具体的,通过以下模块利用历史eda仿真验证任务的第二任务信息及所述历史eda仿真验证任务实际使用的第一实际资源量对所述预设模型进行训练,得到所述资源量预测模型:第二信息获取模块701,用于获取历史eda仿真验证任务的第二任务信息与对应的第一实际资源量;第二结果获得模块702,用于将所述第二任务信息输入至所述预设模型中,获得第二输出结果,作为预测得到的、所述第二任务信息对应的历史eda仿真验证任务所需的资源量;第一参数调整模块703,用于基于所述第二输出结果与所述第一实际资源量,计算所述预设模型的损失,并基于所述损失对所述预设模型的模型参数进行调整,并继续触发执行所述第二结果获得模块702,直至满足预设的训练终止条件,将满足预设的训练终止条件的预设模型确定为资源量预测模型。
119.由以上可见,本发明实施例使用大量历史eda仿真验证任务的第二任务信息与第一实际资源量对预设模型进行训练,预设模型可以学习到第二任务信息与第一实际资源量之间的关联关系。基于第二输出结果与第一实际资源量计算模型的损失,并基于损失调整
预设模型的模型参数,使得输出的第二输出结果逐渐趋近于上述第一实际资源量。也就是使得预设模型所输出的结果趋近于eda仿真验证任务实际使用的资源量。因此将新的第一任务信息输入上述资源量预测模型之后,资源量预测模型可以基于学习到的关联关系,分析得到较为准确的第一任务信息所需的资源量。
120.本发明的一个实施例中,所述第二结果获得模块702,具体用于:将所述第二任务信息分别输入至不同类型的预设模型中,获得针对不同预设模型的第二输出结果,分别作为各个预设模型预测得到的、所述第二任务信息对应的历史eda仿真验证任务所需的资源量;所述第一参数调整模块703,具体用于:针对每一预设模型,基于该预设模型的第二输出结果与所述第一实际资源量,计算该预设模型的损失,并基于所述损失对该预设模型的模型参数进行调整;继续触发执行第二结果获得模块702,直至满足预设模型的训练终止条件,将满足预设的训练终止条件的预设模型确定为资源量备选预测模型;针对每一资源量备选预测模型,计算表示该资源量备选预测模型的性能的性能值;基于各个资源量备选预测模型的性能值,选择性能值最高的资源量备选预测模型作为资源量预测模型。
121.由以上可见,本发明实施例使用第二任务信息与第一实际资源量对不同预设模型分别进行训练,得到多个经过训练的、具有一定准确度的资源量备选预测模型。再选择性能值最大的资源量备选预测模型作为资源量预测模型,可以保证最终获得的资源量预测模型具有较好的效果,使用上述资源量预测模型预测得到的资源量较为准确。
122.本发明的一个实施例中,所述资源量预测模型训练装置还包括:资源量获取模块,用于获取预设时间段内、新增的eda仿真验证任务的第三任务信息及新增的eda仿真验证任务使用的第二实际资源量;第三结果获得模块,用于将所述新增的eda仿真验证任务的第三任务信息输入至所述资源量预测模型中,得到第三输出结果;第二参数调整模块,用于基于所述第三输出结果与所述第二实际资源量,计算所述资源量预测模型的损失,基于所述损失对所述资源量预测模型的模型参数进行调整,并继续触发执行所述第三结果获得模块,直至将各个新增的eda仿真验证任务的第三任务信息均输入至所述资源量预测模型中,得到模型参数更新后的资源量预测模型;性能值计算模块,用于分别计算第一性能值与第二性能值,所述第一性能值为模型参数更新前的资源量预测模型的性能,第二性能值为模型参数更新后的资源量预测模型的性能;模型更新模块,用于若所述第二性能值高于所述第一性能值,则将模型参数更新后的资源量预测模型作为新的资源量预测模型。
123.由以上可见,若上述第一性能值高于上述第二性能值,则表示对资源量预测模型进行模型参数更新,提升了资源量预测模型的性能,因此可以将性能较高的、模型参数更新后的资源量预测模型作为新的资源量预测模型。采用新的性能较高的资源量预测模型可以提高预测得到的资源量的准确度。
124.本发明的一个实施例中,所述任务分配装置还包括:相同任务确定模块,用于确定历史eda仿真验证任务中、第二任务信息相同的相同
历史任务;第一任务保留模块,用于保留相同历史任务中的任一条历史eda仿真验证任务,并将相同历史任务的第一实际资源量的平均资源量作为所保留的历史eda仿真验证任务的第一实际资源量。
125.由以上可见,本发明实施例可以对历史eda仿真验证任务中的相同历史任务进行合并去重的处理,减少第二任务信息与第一实际资源量中的冗余数据,以降低基于第二任务信息与第一实际资源量预测待分配的eda仿真验证任务所需的资源量的过程中消耗的计算资源本发明的一个实施例中,所述任务分配装置还包括:相似任务确定模块,用于确定历史eda仿真验证任务中、第二任务信息的相似度大于预设相似度的相似历史任务;平均资源量计算模块,用于基于各个相似历史任务的第一实际资源量计算平均资源量;第二任务保留模块,用于保留相似历史任务中的任一条历史eda仿真验证任务,将所述平均资源量作为所保留的历史eda仿真验证任务的第一实际资源量。
126.由以上可见,通过本发明实施例可以对历史eda仿真验证任务中的相似历史任务进行合并去重的处理,减少第二任务信息与第一实际资源量中的冗余数据,以降低基于第二任务信息与第一实际资源量预测待分配的eda仿真验证任务所需的资源量的过程中所消耗的计算资源本发明的一个实施例中,所述任务分配装置还包括:信息去除模块,用于从各个历史eda仿真验证任务的第二任务信息中去除不包含预设信息的第二任务信息。
127.由以上可见,上述预设信息可以为对预测资源量的过程影响最大的子信息,若上述第二任务信息内不包含上述预设信息,则表示该第二任务信息不完整,基于不完整的第二任务信息预测得到的资源量不准确。因此可以去除不包含预设信息的第二任务信息,也就是不使用被去除的第二任务信息对应的历史eda仿真验证任务预测待分配的eda仿真验证任务所需的资源量,以保证预测得到的资源量的准确度。
128.本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,存储器803,用于存放计算机程序;处理器801,用于执行存储器803上所存放的程序时,实现上述任务分配方法任一所述的方法步骤。
129.应用本发明实施例提供的电子设备进行任务分配时,基于历史eda仿真验证任务使用的第一实际资源量,可以近似的确定得到不同eda仿真验证任务所需的资源量,因此在获取到待分配的eda仿真验证任务后,可以基于所对应的第二任务信息与第一任务信息相似的历史eda仿真验证任务的第一实际资源量,预测得到待分配的eda仿真验证任务所需的资源量。上述资源量是在历史eda仿真验证任务实际使用的第一实际资源量的基础上得到的,因此可以认为预测得到的资源量与待分配的eda仿真验证任务实际需要的资源量较为
相近,则基于预测得到的资源量,可以较为准确地确定用于处理待分配的eda仿真验证任务的目标服务器,并向目标服务器分配上述待分配的eda仿真验证任务。
130.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
131.通信接口用于上述电子设备与其他设备之间的通信。
132.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non

volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
133.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
134.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一任务分配方法的步骤。
135.执行本发明实施例提供的计算机可读存储介质中存储的计算机程序进行任务分配时,基于历史eda仿真验证任务使用的第一实际资源量,可以近似的确定得到不同eda仿真验证任务所需的资源量,因此在获取到待分配的eda仿真验证任务后,可以基于所对应的第二任务信息与第一任务信息相似的历史eda仿真验证任务的第一实际资源量,预测得到待分配的eda仿真验证任务所需的资源量。上述资源量是在历史eda仿真验证任务实际使用的第一实际资源量的基础上得到的,因此可以认为预测得到的资源量与待分配的eda仿真验证任务实际需要的资源量较为相近,则基于预测得到的资源量,可以较为准确地确定用于处理待分配的eda仿真验证任务的目标服务器,并向目标服务器分配上述待分配的eda仿真验证任务。
136.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一任务分配方法。
137.执行本发明实施例提供的计算机程序进行任务分配时,基于历史eda仿真验证任务使用的第一实际资源量,可以近似的确定得到不同eda仿真验证任务所需的资源量,因此在获取到待分配的eda仿真验证任务后,可以基于所对应的第二任务信息与第一任务信息相似的历史eda仿真验证任务的第一实际资源量,预测得到待分配的eda仿真验证任务所需的资源量。上述资源量是在历史eda仿真验证任务实际使用的第一实际资源量的基础上得到的,因此可以认为预测得到的资源量与待分配的eda仿真验证任务实际需要的资源量较为相近,则基于预测得到的资源量,可以较为准确地确定用于处理待分配的eda仿真验证任务的目标服务器,并向目标服务器分配上述待分配的eda仿真验证任务。
138.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk (ssd))等。
139.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
140.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质和计算机程序产品而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
141.以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1