[发明专利]一种测试程序生成方法和装置有效
| 申请号: | 201710057685.7 | 申请日: | 2017-01-26 | 
| 公开(公告)号: | CN108363660B | 公开(公告)日: | 2021-06-01 | 
| 发明(设计)人: | 李艳华;刘旭东;叶荣标 | 申请(专利权)人: | 华为技术有限公司 | 
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 | 
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 | 
| 地址: | 518129 广东*** | 国省代码: | 广东;44 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 测试 程序 生成 方法 装置 | ||
本发明实施例公开了一种测试程序的生成方法和装置,包括分析目标业务程序的逻辑特性;在预设的执行环境中运行目标业务程序,测量预设的目标性能参数的第一参数值;在预设的测试组件库中查询与目标业务程序的逻辑特性关联的至少一个测试组件;配置至少一个测试组件中每个测试组件的数据负载,以及配置至少一个测试组件的组合策略;根据数据负载和组合策略将至少一个测试组件合成测试程序;在执行环境中运行测试程序,测试运行过程中目标性能参数的第二参数值;判断第一参数值和第二参数值的偏差值是否满足预设条件;若为是,生成测试程序的合成配置文件。采用本发明,能够提高测试程序的合成效率。
技术领域
本发明涉及测试领域,尤其涉及一种测试程序的生成方法和装置。
背景技术
从事计算机体系结构工作的开发者在自己设计的体系结构实际做成硬件前,经常要在仿真器上部署自己的设计来验证想法的正确性。因此,在仿真器上运行benchmark程序,采集与体系结构有关的数据(如运行时间,缓存命中率等),用新数据与来自原有体系结构的数据进行对比,成为了体系机构开发者常用的手段。
目前典型的Benchmark合成技术方案,其基本流程包括:分析原始应用程序的特征;别和提取原始应用特征;于上述提取的应用特征构造Benchmark程序,在物理或者模拟平台上运行构造的Benchmark程序;基于运行结果来判断构造的Benchmark程序是否满足设计的精度和特征要求,如果不满足,则回到上一步重新构造Benchmark程序并再次验证;如果满足精度和特征要求,则保持当前的配置和代码,流程结束。
现有的Benchmark的合成流程可以看出:合成过程的工作量大和可重用性差,对每一个业务程序都要进行Benchmark构造,而且以程序特征为牵引的精度校准方法慢。
发明内容
本申请所要解决的技术问题在于,提供一种测试程序的生成方法及装置。可根据目标业务程序的逻辑特性快速的构建测试程序,具有工作量小和速度快的优点。
第一方面,本申请提供了一种测试程序的的生成方法,包括:
分析目标业务程序的逻辑特性,目标业务程序用于执行特定的业务的程序,逻辑特性包括但不限于关键操作、阶段特性、访存特性和线程通信等特性。在预设的执行环境中运行目标业务程序,执行环境表示运行目标业务程序的软件资源和硬件资源,在目标业务程序运行在执行环境的过程中,测试预设的目标性能参数的第一参数值,目标性能参数可以为一个或多个性能参数,目标性能参数包括但不限于指令比例、同步比例、通信比例、访存指令数、IO指令数。其中,可以采用Profile工具、PMU工具或PERF工具等测试目标性能参数的第一参数值。在预设的测试组件库中查询与目标业务程序的逻辑特性关联的至少一个测试组件,其中测试组件库中包括多个测试组件,每个测试组件配置有逻辑特性标签,在本实施例中,可以基于文本检索的方式在预设的测试组件库中查询关联的至少一个测试组件。对于选择的至少一个测试组件中的每个测试组件,在执行环境中运行测试组件,测量运行环境中目标性能参数的测量值,确定每个测试组件的测量值的贡献度,即每个测量值所占的权重。确定每个测试组件的数据负载,确定的方法可以是:基于主要牵引指标和上述测量到的每个测试组件的测量值的贡献度确定每个测试组件的数据负载。例如:可以采用准确量化和叠加的测量值,采用指令比例、同步比例、整体执行时间等作为确定每个测试组件的主要牵引指标,形成候选集,然后通过其他性能参数(例如IPC、缓存丢失率和内存带宽)的辅助来确定每个测试组件的数据负载。确定选择的至少一个测试组件的组合策略,基于目标业务程序的阶段特性、线程数量、线程生命周期等特征确定每个测试组件的加入时间、线程数量及线程通信方式。根据上述的数据负载和组合策略将选择的至少一个测试组件合成测试程序,在执行环境中运行测试程序,测量运行过程中目标性能参数的第二参数值,比较第一参数值和第二参数值的偏差值,偏差值可以是单个性能参数的偏差值和所有的性能参数的偏差值,在偏差值满足预设条件的情况下,生成测试程序的合成配置文件,合成配置文件包括每个测试组件的数据负载和组合策略。测试程序可以为Benchmark。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710057685.7/2.html,转载请声明来源钻瓜专利网。





