一种芯片仿真内存资源调度方法、装置、设备及存储介质与流程

摘要: 本发明涉及芯片仿真领域,尤其涉及一种芯片仿真内存资源调度方法、装置、设备及存储介质。背景技术:1、在集成电路芯片仿真验证流程中,基于现场可编程门阵列搭建的硬件仿...
一种芯片仿真内存资源调度方法、装置、设备及存储介质与流程

本发明涉及芯片仿真领域,尤其涉及一种芯片仿真内存资源调度方法、装置、设备及存储介质。

背景技术:

1、在集成电路芯片仿真验证流程中,基于现场可编程门阵列搭建的硬件仿真平台是加速芯片功能验证的核心设备,平台内部以设计分区为最小资源单元承载仿真测试任务,每个设计分区会占用固定规格的板卡内存,而单台仿真设备的总内存资源存在固定上限,不同研发项目会持续提交包含项目名称、分区布局、内存需求的仿真测试请求,需要对海量离散测试请求统一完成资源调度与实例拉取,保障芯片验证任务有序执行。

2、当前行业普遍采用人工配合固定预约模式管理仿真内存资源,工程师手动提交、处理各类测试请求,未对分散的测试请求做统一聚合排队处理,资源分配依靠静态预分配方式划分固定资源池,缺少动态装箱调度逻辑;同时市面上的管理工具未区分不同型号异构仿真平台,实例启动流程采用统一固化脚本,无法适配不同平台差异化的环境清理与初始化流程。

3、现有方式下离散测试请求无队列聚合机制导致调度零散,静态资源划分造成内存碎片化、资源整体利用率低下,缺少适配仿真内存约束的装箱分配策略;且无法区分多类异构仿真平台执行差异化实例启动操作,极易出现硬件资源冲突、虚拟机启动失败等故障,整体资源调度与实例启动流程自动化程度低,人工操作成本高。

技术实现思路

1、本发明提供了一种芯片仿真内存资源调度方法、装置、设备及存储介质,解决了芯片仿真平台资源利用率低的问题。

2、根据本发明的一方面,提供了一种芯片仿真内存资源调度方法,该方法包括:

3、获取目标仿真平台中内存资源的测试请求,根据测试请求生成请求队列,其中,测试请求中包括项目名称、布局以及内存资源需求;

4、采用首次适配装箱算法对请求队列进行动态资源分配;

5、确定目标仿真平台的平台类型,基于平台类型对成功分配资源的目标请求进行实例启动,以运行目标实例。

6、可选的,根据测试请求生成请求队列,包括:将测试请求存入消息队列,并按照预设周期轮询消息队列,获取待处理请求;按照项目名称和布局对待处理请求进行去重处理,得到去重后的请求;确定去重后的请求对应的内存规格,并确定各内存规格对应的请求数量;将各去重后的请求按照请求数量从多到少的顺序进行排序,请求数量相同时按照提交先后顺序进行排序,生成排序后的请求;获取预设请求次数阈值,结合排序后的请求对应的内存规格与预设请求次数阈值,补充实例数量,生成请求队列。

7、可选的,采用首次适配装箱算法对请求队列进行动态资源分配,包括:确定当前的可用资源,并划分运行队列和等待队列;从请求队列中依次选取待分配请求,确定待分配请求对应的目标资源需求;判断可用资源是否大于等于目标资源需求,若是,将待分配请求加入运行队列,并从可用资源中扣除目标资源需求;否则,将待分配请求移入等待队列。

8、可选的,在将待分配请求移入等待队列之后,方法,还包括:持续循环轮询运行队列中目标实例的运行状态;当运行状态为执行完成或异常终止时,回收目标实例对应的内存资源,并更新可用资源;基于更新后的可用资源遍历等待队列,重新执行资源分配,直至所有待分配请求处理完毕。

9、可选的,基于平台类型对成功分配资源的目标请求进行实例启动,包括:将运行队列中的请求作为成功分配资源的目标请求;根据平台类型执行差异化环境初始化与资源清理操作,并结合自动重试机制,基于目标请求进行实例启动。

10、可选的,方法,还包括:在目标实例运行期间,基于目标维度检测目标实例的健康状态,其中,目标维度包括网络连通检测、运行组件状态检测、硬件故障检测以及系统内核日志检测。

11、可选的,方法,还包括:获取预设超时阈值,并确定目标实例的运行时间;当运行时间超过预设超时阈值时,确定任务执行状态,当任务执行状态为正在执行时,进入缓冲等待阶段,给予预设缓冲时间供目标实例继续运行;当任务执行状态为空闲、预设缓冲时间结束或检测到硬件故障时,对目标实例进行清理。

12、可选的,方法,还包括:当目标实例执行完成时,根据平台类型对目标实例执行差异化清理操作,以释放内存资源;当目标实例满足预设重启条件时,重启目标实例,其中,预设重启条件包括:当前模式为启动后清理模式、剩余可用时间窗口大于预设窗口阈值且非因空闲超时触发清理。

13、根据本发明的另一方面,提供了一种芯片仿真内存资源调度装置,该装置包括:

14、请求队列生成模块,用于获取目标仿真平台中内存资源的测试请求,根据测试请求生成请求队列,其中,测试请求中包括项目名称、布局以及内存资源需求;

15、动态资源分配模块,用于采用首次适配装箱算法对请求队列进行动态资源分配;

16、实例运行管理模块,用于确定目标仿真平台的平台类型,基于平台类型对成功分配资源的目标请求进行实例启动,以运行目标实例。

17、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:

18、至少一个处理器;

19、以及与所述至少一个处理器通信连接的存储器;

20、其中,所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的一种芯片仿真内存资源调度方法。

21、根据本发明的另一方面,提供了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的一种芯片仿真内存资源调度方法。

22、本发明实施例的技术方案,通过构建请求队列,能够批量聚合分散的测试请求,减少单次调度的频繁交互开销,便于统一规整待调度任务;采用首次适配装箱算法开展动态资源分配,可依据平台剩余内存灵活分配资源,缓解内存碎片化问题,提升硬件内存整体使用效率;通过识别仿真平台类型并差异化启动实例,能够适配不同硬件设备专属初始化与资源清理流程,避免硬件资源冲突,降低实例启动失败概率。

23、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

1.一种芯片仿真内存资源调度方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述测试请求生成请求队列,包括:

3.根据权利要求1所述的方法,其特征在于,所述采用首次适配装箱算法对所述请求队列进行动态资源分配,包括:

4.根据权利要求3所述的方法,其特征在于,在将所述待分配请求移入等待队列之后,所述方法,还包括:

5.根据权利要求3所述的方法,其特征在于,所述基于所述平台类型对成功分配资源的目标请求进行实例启动,包括:

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

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

8.根据权利要求7所述的方法,其特征在于,所述方法,还包括:

9.一种芯片仿真内存资源调度装置,其特征在于,包括:

10.一种电子设备,其特征在于,所述电子设备包括:

11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-8中任一项所述的方法。