CN102541738A - 加速多核cpu抗软错误测试的方法 - Google Patents

加速多核cpu抗软错误测试的方法 Download PDF

Info

Publication number
CN102541738A
CN102541738A CN2011104487431A CN201110448743A CN102541738A CN 102541738 A CN102541738 A CN 102541738A CN 2011104487431 A CN2011104487431 A CN 2011104487431A CN 201110448743 A CN201110448743 A CN 201110448743A CN 102541738 A CN102541738 A CN 102541738A
Authority
CN
China
Prior art keywords
test
basic parameter
case
core cpu
soft error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011104487431A
Other languages
English (en)
Other versions
CN102541738B (zh
Inventor
金海�
喻之斌
杨晓
程伟
姜春涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201110448743.1A priority Critical patent/CN102541738B/zh
Publication of CN102541738A publication Critical patent/CN102541738A/zh
Application granted granted Critical
Publication of CN102541738B publication Critical patent/CN102541738B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种加速多核CPU软错误测试过程的方法,包括以下步骤:获取CPU的剖析程序,利用剖析程序分析多核CPU的基准测试用例,以获得基准测试用例的基本参数,分析基本参数,以建立基本参数与多核CPU的体系结构弱点因子之间的对应关系,根据基本参数与多核CPU的体系结构弱点因子之间的对应关系编写代码合成程序,代码合成程序使用基本参数作为输入,运行代码合成程序,并调节基本参数,以获得并行输出程序,并行输出程序作为多核CPU软错误测试中的测试用例。本发明具有测试过程快、测试时间短的特点,从而大大降低了这种测试的成本。

Description

加速多核CPU抗软错误测试的方法
技术领域
本发明涉及一种方法,具体的说,本发明涉及一种加速多核CPU抗软错误测试过程的方法。
背景技术
如今,芯片的集成度越来越高,制造工艺越来越小。这导致了一个越来越突出的问题:空间中存在的高能粒子撞击到处理器时,更加可能导致处理器中某部件的存储电位发生变化,从而加大了处理器运行出错的几率。这种暂时性出现的错误叫做软错误(Soft Error),软错误的出现可能会导致程序运行出错,出错的几率为相应处理器的体系机构弱点因子(Architectural Vulnerability Factor,简称AVF)。在现代多核处理器中,处理器集成度的提高以及部分部件的共享使用,导致软错误出现的几率加大以及危害性提高。要测试多核处理器对抗软错误的能力,需要搭建一个高能粒子数量较多的环境。如果用现有的普通基准测试用例测试,测试时间长。由于此环境搭建困难,长时间的测试会导致测试成本过高。
发明内容
本发明的目的在于提供一种加速多核处理器抗软错误测试过程的方法,其具有测试过程快、测试时间短的特点,从而大大降低了这种测试的成本。
本发明是通过以下技术方案实现的:
一种加速多核CPU软错误测试过程的方法,包括以下步骤:
(1)获取CPU的剖析程序;
(2)利用剖析程序分析多核CPU的基准测试用例,以获得基准测试用例的基本参数;
(3)分析基本参数,以建立基本参数与多核CPU的体系结构弱点因子之间的对应关系;
(4)根据基本参数与多核CPU的体系结构弱点因子之间的对应关系编写代码合成程序,代码合成程序使用基本参数作为输入;
(5)运行代码合成程序,并调节基本参数,以获得并行输出程序,并行输出程序作为多核CPU软错误测试中的测试用例。
基准测试用例的基本参数包括指令类型分布、指令依赖距离、基本块大小、指令执行耗时以及控制流图。
步骤(4)包括以下子步骤:
(4-1)选取二进制指令,将二进制指令以树形结构分类;
(4-2)用结构体描述多核CPU软错误测试中的测试用例的指令;
(4-3)用结构体组建基本块;
(4-4)以基本块为单位组建多核CPU软错误测试中的测试用例的线程的控制流;
(4-5)使用控制流组建线程;
(4-6)利用基准测试用例的基本参数动态生成多核CPU软错误测试中的测试用例的指令以及基本块的描述结构,描述结构组成多核CPU软错误测试中的测试用例的总体控制流图;
(4-7)从树形结构分类中选取二进制指令对总体控制流图中的结构体进行替换。
结构体的属性包括指令类型、所需CPU功能单元、依赖距离、指令序列号、是否访问内存、L1-cache命中率、L2-cache命中率以及运行阶段,依赖距离、L1-cache命中率、L2-cache命中率采用正态分布函数获得,基本块的属性包括指令类型、指令条数、下一基本块地址、末尾跳转地址,指令条数采用正态分布函数获得,线程的结构属性包括线程编号以及访问共享数据的概率,访问共享数据的概率是由泊松过程模拟得到,正态函数的参数是由剖析程序分析统计得出。
基准测试用例为通用型应用测试用例。
本发明具有以下优点:(1)采用合成的方式产生测试程序,将使测试程序的生成变得方便和易操作;(2)允许用户灵活的改变处理器的体系结构,可灵活生成各种结构处理器的测试程序。
附图说明
图1为本发明加速多核CPU软错误测试过程的方法的流程图。
图2为本发明方法中步骤(4)的细化流程图。
具体实施方式
以下首先对本发明的技术术语进行解释和说明:
剖析程序:对可执行程序的基本参数进行分析的程序。
基准测试用例:一组可执行程序,代表着某测试方向通用的应用。
体系结构弱点因子:当处理器中的某一个存储位的值经过某种外因导致值得翻转时,处理器运行出错的概率。
指令运行阶段:指令处在指令流水线中的阶段。
代码合成程序:通过向指令控制流中填入二进制指令的方法获得可执行程序的程序。
如图1所示,本发明方法的步骤为:
(1)获取CPU的剖析程序,在本实施方式中,剖析程序为M5模拟器;
(2)利用剖析程序分析多核CPU的基准测试用例,以获得基准测试用例的基本参数,基准测试用例的基本参数包括指令类型分布、指令依赖距离、基本块大小、指令执行耗时以及控制流图(ControlFlow Graph,简称CFG),在本实施方式中,基准测试用例为通用型应用测试用例,例如splash2和PARSEC程序。
(3)分析基本参数,以建立基本参数与多核CPU的体系结构弱点因子之间的对应关系;
(4)根据基本参数与多核CPU的体系结构弱点因子之间的对应关系编写代码合成程序,代码合成程序使用基本参数作为输入;
(5)运行代码合成程序,并调节基本参数,以获得并行输出程序,并行输出程序作为多核CPU软错误测试中的测试用例。
如图2所示,本发明方法的步骤(4)包括以下子步骤:
(4-1)选取二进制指令,将二进制指令以树形结构分类;
(4-2)用结构体描述多核CPU软错误测试中的测试用例的指令,结构体的属性包括指令类型、所需CPU功能单元、依赖距离、指令序列号、是否访问内存、L1-cache命中率、L2-cache命中率以及运行阶段,依赖距离、L1-cache命中率、L2-cache命中率采用正态分布函数获得;
(4-3)用结构体组建基本块,基本块的属性包括指令类型、指令条数、下一基本块地址、末尾跳转地址,指令条数采用正态分布函数获得;
(4-4)以基本块为单位组建多核CPU软错误测试中的测试用例的线程的控制流;
(4-5)使用控制流组建线程,线程的结构属性包括线程编号以及访问共享数据的概率,访问共享数据的概率是由泊松过程模拟得到;
(4-6)利用基准测试用例的基本参数动态生成多核CPU软错误测试中的测试用例的指令以及基本块的描述结构,描述结构组成多核CPU软错误测试中的测试用例的总体控制流图;
(4-7)从树形结构分类中选取二进制指令对总体控制流图中的结构体进行替换。
在本实施方式中,正态函数的参数是由对Splash2和PARSEC程序分析后由矩估计得出,泊松过程的均值(方差)是按照splash 2和PARSEC作为样本的均值来估计。
实例:
通过对上述方法的实例化,产生了基于Alpha指令集的多核CPU软错误测试中的测试用例,此多核处理器的结构与配置如表1所示。
产生的基于Alpha指令集的多核CPU软错误测试中的测试用例的体系结构弱点因子值与通用多核CPU的基准测试用例比较如表2,合成的多核CPU软错误测试中的测试用例的体系结构弱点因子值是通用的多核CPU的基准测试用例的4倍以上,这将会使多核CPU软错误测试的时间缩短至少四分之三。
  处理器各结构   配置
  Width   4-wide fetch/issue/commit
  IQ   64
  ITLB   128entries,4-way,200cycle miss
  DTLB   256entries,4-way,200cycles miss
  Branch Predictor   2K entries Gshare,10-bit global history/thread
  Pipeline Depth   7
  BTB   2K entries,4-way
 Return Addr Stack   32entries
  ROB   128entries
  Int ALU   4I-ALU,2I-MUL/DIV,2Load/Store
  FP ALU   4FP-ALU,2FP-MUL/DIV/SQRT
  LSQ   32entries
  L1 cache   16KB,4-Way 64byte/line,2ports,lcycle access
  L2 cache   Shared 2MB,8-way,128byte/line,12cycle access
  Memory Access   64bit wide,400cycles access
表1
Figure BDA0000126056250000061
表2

Claims (5)

1.一种加速多核CPU软错误测试过程的方法,包括以下步骤:
(1)获取CPU的剖析程序;
(2)利用所述剖析程序分析多核CPU的基准测试用例,以获得所述基准测试用例的基本参数;
(3)分析所述基本参数,以建立所述基本参数与所述多核CPU的体系结构弱点因子之间的对应关系;
(4)根据所述基本参数与所述多核CPU的体系结构弱点因子之间的对应关系编写代码合成程序,所述代码合成程序使用所述基本参数作为输入;
(5)运行所述代码合成程序,并调节所述基本参数,以获得并行输出程序,所述并行输出程序作为所述多核CPU软错误测试中的测试用例。
2.根据权利要求1所述的方法,其特征在于,所述基准测试用例的基本参数包括指令类型分布、指令依赖距离、基本块大小、指令执行耗时以及控制流图。
3.根据权利要求1所述的方法,其特征在于,所述步骤(4)包括以下子步骤:
(4-1)选取二进制指令,将所述二进制指令以树形结构分类;
(4-2)用结构体描述所述多核CPU软错误测试中的测试用例的指令;
(4-3)用所述结构体组建基本块;
(4-4)以所述基本块为单位组建所述多核CPU软错误测试中的测试用例的线程的控制流;
(4-5)使用所述控制流组建线程;
(4-6)利用所述基准测试用例的基本参数动态生成所述多核CPU软错误测试中的测试用例的指令以及所述基本块的描述结构,所述描述结构组成所述多核CPU软错误测试中的测试用例的总体控制流图;
(4-7)从所述树形结构分类中选取二进制指令对所述总体控制流图中的结构体进行替换。
4.根据权利要求3所述的方法,其特征在于,
所述结构体的属性包括指令类型、所需CPU功能单元、依赖距离、指令序列号、是否访问内存、L1-cache命中率、L2-cache命中率以及运行阶段;
所述依赖距离、L1-cache命中率、L2-cache命中率采用正态分布函数获得;
所述基本块的属性包括指令类型、指令条数、下一基本块地址、末尾跳转地址;
所述指令条数采用正态分布函数获得;
所述线程的结构属性包括线程编号以及访问共享数据的概率;
所述访问共享数据的概率是由泊松过程模拟得到;
所述正态函数的参数是由所述剖析程序分析统计得出。
5.根据权利要求1所述的方法,其特征在于,所述基准测试用例为通用型应用测试用例。
CN201110448743.1A 2011-12-28 2011-12-28 加速多核cpu抗软错误测试的方法 Expired - Fee Related CN102541738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110448743.1A CN102541738B (zh) 2011-12-28 2011-12-28 加速多核cpu抗软错误测试的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110448743.1A CN102541738B (zh) 2011-12-28 2011-12-28 加速多核cpu抗软错误测试的方法

Publications (2)

Publication Number Publication Date
CN102541738A true CN102541738A (zh) 2012-07-04
CN102541738B CN102541738B (zh) 2014-06-04

Family

ID=46348679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110448743.1A Expired - Fee Related CN102541738B (zh) 2011-12-28 2011-12-28 加速多核cpu抗软错误测试的方法

Country Status (1)

Country Link
CN (1) CN102541738B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902448A (zh) * 2012-12-28 2014-07-02 中国科学院深圳先进技术研究院 多核处理器软错误压力测试程序生成系统及方法
CN105677521A (zh) * 2015-12-29 2016-06-15 东南大学—无锡集成电路技术研究所 一种面向移动智能终端处理器的基准测试程序合成方法
CN112329108A (zh) * 2020-11-06 2021-02-05 济南舜达轨道交通设计有限公司 一种地铁车站优化抗浮验算方法及系统
CN115562930A (zh) * 2022-11-24 2023-01-03 北京紫光芯能科技有限公司 用于测试多核芯片的方法及装置、电子设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211310A (zh) * 2006-12-26 2008-07-02 中国电信股份有限公司 性能测试脚本生成方法
US20110161936A1 (en) * 2009-12-28 2011-06-30 International Business Machines Method and apparatus for regression testing selection for a framework-based application
CN102135937A (zh) * 2011-03-15 2011-07-27 西安邮电学院 一种两两覆盖组合软件测试用例集生成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211310A (zh) * 2006-12-26 2008-07-02 中国电信股份有限公司 性能测试脚本生成方法
US20110161936A1 (en) * 2009-12-28 2011-06-30 International Business Machines Method and apparatus for regression testing selection for a framework-based application
CN102135937A (zh) * 2011-03-15 2011-07-27 西安邮电学院 一种两两覆盖组合软件测试用例集生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
成玉等: "用于低开销容错设计的存储部件可靠性评估研究", 《电子与信息学报》 *
赵小雨等: "CMP中基于目录的协作Cache设计方案", 《计算机工程》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902448A (zh) * 2012-12-28 2014-07-02 中国科学院深圳先进技术研究院 多核处理器软错误压力测试程序生成系统及方法
CN105677521A (zh) * 2015-12-29 2016-06-15 东南大学—无锡集成电路技术研究所 一种面向移动智能终端处理器的基准测试程序合成方法
CN105677521B (zh) * 2015-12-29 2019-06-18 东南大学苏州研究院 一种面向移动智能终端处理器的基准测试程序合成方法
CN112329108A (zh) * 2020-11-06 2021-02-05 济南舜达轨道交通设计有限公司 一种地铁车站优化抗浮验算方法及系统
CN112329108B (zh) * 2020-11-06 2023-11-03 山东轨道交通勘察设计院有限公司 一种地铁车站优化抗浮验算方法及系统
CN115562930A (zh) * 2022-11-24 2023-01-03 北京紫光芯能科技有限公司 用于测试多核芯片的方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN102541738B (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN101401065B (zh) 用于分支预测的方法和装置
US20090204380A1 (en) Performance evaluation simulation
US8972999B2 (en) Method and system for detecting program deadlock
JP2010529559A5 (zh)
CN102541738B (zh) 加速多核cpu抗软错误测试的方法
US20070136720A1 (en) Method for estimating processor energy usage
CN103995778A (zh) 一种基于事件和动作的脚本文件生成方法及其装置
Parasyris et al. A framework for evaluating software on reduced margins hardware
Sridharan et al. Using pvf traces to accelerate avf modeling
CN104020982A (zh) 具有高效返回预测能力的分支目标缓冲器
Nogueira et al. A formal model for performance and energy evaluation of embedded systems
US10324829B2 (en) Application testing
CN101561833B (zh) 专用指令集处理器的设计方法
CN101727513A (zh) 一种超长指令字处理器的设计和优化方法
WO2014142876A1 (en) Kernel functionality checker
CN105067994A (zh) 定位片上系统时序逻辑错误、错误率计算及其应用方法
US20080300845A1 (en) Monitoring software simulations of hardware systems
Tian et al. The performance model of hyper-threading technology in intel nehalem microarchitecture
Ramesh et al. A new connected word recognition algorithm based on HMM/LVQ segmentation and LVQ classification
US20140258688A1 (en) Benchmark generation using instruction execution information
Bartocci et al. Monitoring with uncertainty
CN110765017A (zh) 基于risc-v扩展指令的源码覆盖率测试方法和系统
CN111190644A (zh) 一种嵌入式Flash片上读指令硬件加速方法和装置
Karacı Performance Comparison of Managed C# and Delphi Prism in Visual Studio and Unmanaged Delphi 2009 and C++ Builder 2009 Languages
Fu et al. AMPS: Accelerating McPAT power evaluation without cycle-accurate simulations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140604

Termination date: 20201228