一种基于KNL的测试方法及系统技术方案

技术编号:15638975 阅读:185 留言:0更新日期:2017-06-15 20:36
本申请公开了一种基于KNL的测试方法,包括:主节点获取测试任务集,将测试任务集中的测试任务子集分配到KNL从节点中;当KNL从节点接收到测试任务子集,将测试任务子集中的测试任务分配到进程集中,利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果;其中,进程集中的进程数小于等于测试任务子集中的任务数。可见,本发明专利技术主节点获取测试任务集后,将测试任务分配到KNL从节点集中,KNL从节点集中的KNL从节点接收到测试任务子集,利用蚁群算法对每个进程中的测试任务进行计算,得到计数结果,通过多个KNL服务器并行处理测试任务,提升了计算负载,同时利用蚁群算法进行计算,综上所述,本发明专利技术提高了测试任务的处理速度。

【技术实现步骤摘要】
一种基于KNL的测试方法及系统
本专利技术涉及高性能计算领域,特别涉及一种基于KNL的测试方法及系统。
技术介绍
随着集成电路工艺的发展,以知识产权核复用技术为基础的SOC(SystemonChip,系统级芯片)正得到飞速发展。然而随着SOC功能越来越复杂,集成在SOC内部的知识产权核种类和数量越来越多,使得SOC测试时间越来越长,测试成本也越来越高。而测试调度问题是SOC测试中重要的部分,目前已成为SOC系统级测试亟待解决的首要问题。测试调度问题已严重约束SOC的发展,这一问题已被证明是NP完全问题(Non-deterministicPolynomia,多项式复杂程度的非确定性问题),现有技术中,研究人员大都引进遗传算法和整数线性规划算法进行求解测试时间最小值,然而这些算法在算法复杂度、算法稳定性、求解效率和求解结果上存在一定问题,其原因可以归咎于算法本身的缺点和建模方法的局限;同时,由于硬件设备的限制,例如,计算机,处理性能上也遇到了瓶颈,难以进一步的缩短运算时间。因此,如何能高效的处理SOC测试调度问题,成为了当前研究的方向。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于KNL的测试方法,提高了测试任务的处理效率。其具体方案如下:一种基于KNL的测试方法,其特征在于,包括:主节点获取测试任务集,将所述测试任务集中的测试任务子集分配到KNL从节点集中;当所述KNL从节点集中的KNL从节点接收到测试任务子集,则将测试任务子集中的测试任务分配到进程集中,利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果;其中,所述进程集中的进程数小于等于测试任务子集中的任务数。优选的,所述利用蚁群算法对每个进程中的测试任务进行计算的过程,包括:将所述蚁群算法计算时产生的中间变量存放在MCDRAM内存中,以提高蚁群单次寻找最优路径的时间。优选的,所述利用蚁群算法对每个进程中的测试任务进行计算的过程,包括:每个进程运行时开启线程集,利用线程集运行所述蚁群算法对测试任务并行计算。优选的,所述利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果,包括:利用多种群蚁群算法对每个进程中的测试任务进行计算,得到测试结果。优选的,所述利用蚁群算法对每个进程中的测试任务进行计算的过程,包括:利用循环分块技术,将所述蚁群算法中每个循环的访存地址区块化,以使访存方式为顺序访存。优选的,每个循环的访存小于等于二级缓存,以加快循环速度。优选的,所述将测试任务子集分配到KNL从节点中的过程,包括:检测目标KNL从节点的负载状态;当所述目标KNL从节点的负载状态超过当前测试任务子集要求的最高负载状态,则将所述当前测试任务子集中的测试任务分配到多个KNL从节点中,以保持多个KNL从节点的负载均衡;当所述目标KNL从节点的负载状态低于所述当前测试任务子集要求的最高负载状态,则将所述当前测试任务子集分配到所述目标KNL从节点中。本专利技术还公开了一种基于KNL的测试系统,包括:节点任务分配模块,用于主节点获取测试任务集,将所述测试任务集中的测试任务子集分配到KNL从节点集中;进程任务分配模块,用于当所述KNL从节点集中的KNL从节点接收到测试任务子集,则将测试任务子集中的测试任务分配到进程集中;任务计算模块,用于利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果;其中,所述进程集中的进程数小于等于测试任务子集中的任务数。优选的,所述任务计算模块,包括:变量存放单元,用于将所述蚁群算法计算时产生的中间变量存放在MCDRAM内存中,以提高蚁群单次寻找最优路径的时间。优选的,所述节点任务分配模块,包括:检测单元,用于检测目标KNL从节点的负载状态;再分配单元,用于当所述目标KNL从节点的负载状态超过当前测试任务子集要求的最高负载状态,则将所述当前测试任务子集中的测试任务分配到多个KNL从节点中,以保持多个KNL从节点的负载均衡;分配单元,用于当所述目标KNL从节点的负载状态低于所述当前测试任务子集要求的最高负载状态,则将所述当前测试任务子集分配到所述目标KNL从节点中。本专利技术中,基于KNL的测试方法,包括:主节点获取测试任务集,将测试任务集中的测试任务子集分配到KNL从节点中;当KNL从节点接收到测试任务子集,将测试任务子集中的测试任务分配到进程集中,利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果;其中,进程集中的进程数小于等于测试任务子集中的任务数。可见,本专利技术主节点获取测试任务集后,将测试任务分成数个测试任务子集,并分配到KNL从节点集中,KNL从节点集中的KNL从节点接收到测试任务子集,生成进程集,将测试任务子集中的测试任务分配到进城集中,并利用蚁群算法对每个进程中的测试任务进行计算,得到计数结果,将测试任务分配到多台KNL服务器上,并行处理测试任务,同时提升了计算负载,每个KNL服务器在计算时生成多个进程进一步的并行处理测试任务,同时利用蚁群算法进行计算,综上所述,本专利技术提高了测试任务的处理速度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种基于KNL的测试方法的流程示意图;图2为本专利技术实施例提供的一种基于KNL的测试系统的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种基于KNL的测试方法,参见图1所示,该方法包括:步骤S11:主节点获取测试任务集,将测试任务集中的测试任务子集分配到KNL从节点集中。具体的,主节点获取测试任务集后,将测试任务集中的测试任务划分为多个测试任务子集,可以利用KNL从节点数量,划分测试任务子集的数量,例如,一个KNL从节点对应一个测试任务子集。其中,每个KNL从节点为一个KNL服务器,主节点可以为KNL服务器,也可以为其他的信息处理终端;测试任务可以为SOC测试调度。步骤S12:当KNL从节点集中的KNL从节点接收到测试任务子集,则将测试任务子集中的测试任务分配到进程集中。具体的,当KNL从节点接收到测试任务子集后,生成相应的进程集,每个KNL服务器可以生成多个进程,在接收到测试任务子集后,每个测试任务可以对应一个进程,以实现多测试任务的并行处理。其中,每个进程处理测试任务为串行处理。步骤S13:利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果;其中,进程集中的进程数小于等于测试任务子集中的任务数。具体的,每个进程均运行蚁群算法对测试任务进行计算,蚁群算法在计算时生成一个蚁群,蚁群中包括多个蚂蚁个体,每个蚂蚁个体,利用信息素,寻找最优路径。通过多进程可以同时创建多个蚁群,每个蚁群对相应的测试任务进行计算,并最终得到相应的测试结果。可以理解的是,由于硬件设备的限制,进程数有着上限值,所以本文档来自技高网...
一种基于KNL的测试方法及系统

【技术保护点】
一种基于KNL的测试方法,其特征在于,包括:主节点获取测试任务集,将所述测试任务集中的测试任务子集分配到KNL从节点集中;当所述KNL从节点集中的KNL从节点接收到测试任务子集,则将测试任务子集中的测试任务分配到进程集中,利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果;其中,所述进程集中的进程数小于等于测试任务子集中的任务数。

【技术特征摘要】
1.一种基于KNL的测试方法,其特征在于,包括:主节点获取测试任务集,将所述测试任务集中的测试任务子集分配到KNL从节点集中;当所述KNL从节点集中的KNL从节点接收到测试任务子集,则将测试任务子集中的测试任务分配到进程集中,利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果;其中,所述进程集中的进程数小于等于测试任务子集中的任务数。2.根据权利要求1所述的基于KNL的测试方法,其特征在于,所述利用蚁群算法对每个进程中的测试任务进行计算的过程,包括:将所述蚁群算法计算时产生的中间变量存放在MCDRAM内存中,以提高蚁群单次寻找最优路径的时间。3.根据权利要求1所述的基于KNL的测试方法,其特征在于,所述利用蚁群算法对每个进程中的测试任务进行计算的过程,包括:每个进程运行时开启线程集,利用线程集运行所述蚁群算法对测试任务并行计算。4.根据权利要求1所述的基于KNL的测试方法,其特征在于,所述利用蚁群算法对每个进程中的测试任务进行计算,得到测试结果,包括:利用多种群蚁群算法对每个进程中的测试任务进行计算,得到测试结果。5.根据权利要求1所述的基于KNL的测试方法,其特征在于,所述利用蚁群算法对每个进程中的测试任务进行计算的过程,包括:利用循环分块技术,将所述蚁群算法中每个循环的访存地址区块化,以使访存方式为顺序访存。6.根据权利要求5所述的基于KNL的测试方法,其特征在于,每个循环的访存小于等于二级缓存,以加快循环速度。7.根据权利要求1至6任一项所述的基于KNL的测试方法,其特征在于,所述将测试任务子集分配到KNL从节点中的过程,包括:检测目标KNL从...

【专利技术属性】
技术研发人员:黄雪董昊
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1