1.本发明涉及可靠性分析技术领域,特别涉及一种面向软错误的智能系统可靠性分析方法及装置。
背景技术:
2.由于辐射导致的高能带电粒子对微电子设备,如微处理器、半导体存储器等的敏感节点进行轰击,使得这些设备的信息逻辑位发生单位翻转的物理现象,称为单粒子效应。单粒子效应不仅会导致器件损坏,而且易产生程序运行结果错误、程序崩溃等现象,甚至导致不可挽回的严重后果。如2011年国家首颗火星探测卫星“萤火一号”曾发生故障,未能完成火星探测任务,其故障的罪魁祸首就是由于空间辐射导致的单粒子效应,进一步引发的软错误造成的;2016年美国的sun公司也是因为存储器出现软错误而影响了全美大量服务器的正常工作从而导致了数万美元的经济损失;2017年中国首颗暗物质探测卫星“悟空”也是因单粒子效应导致的软错误,一度“失明”近19个小时,造成了重大的损失。
3.软错误是由于辐射、干扰等导致的可恢复性错误,对硬件本身没有破坏性。它是一种瞬态逻辑错误,是由于硬件单元中的某一位或者多位发生翻转,使得某些信息位中的0翻转成1,或者1翻转成0。其中,有部分信息位的翻转可以自动恢复,而有的信息位则需要通过重启、错误恢复等技术手段进行恢复。虽然软错误不会造成硬件永久性的损坏,但它能改变存储部件中的值或者处理器的状态,并具有传播性,从而会使系统的正常运行受到干扰,使其输出结果或者操作发生错误,严重时甚至会造成系统崩溃。
4.因此,为了避免由于软错误而导致系统运行异常或者崩溃的现象,需要对系统中发生的软错误及其可能造成的影响进行分析与评估。通过对系统可靠性进行分析与评估,既可以查找出系统中的脆弱性模块同时也可以采取必要的技术手段来避免系统运行后发生失效事件。因此,对智能系统可靠性进行评估具有重要意义。
5.目前,对系统可靠性进行评估的方法主要有三种:一种是基于故障模拟的方法,是通过在目标系统中模仿故障/错误的发生,精确地体现故障/错误的特征,包括故障/错误的行为特征以及在时间、空间上的分布特点,使得可靠性评价结果能够准确地反映系统的可靠性。第二种是无故障模拟方法,即不需要故障注入,直接采用体系架构时间模拟器或者性能模拟器对基准程序进行模拟,然后通过分析各个系统组件的运行情况(例如占用率)来评估它们发生软错误后导致系统失效的可能性。第三种是基于形式化的方法,通常是从目标系统的原始设计中提取信息,然后构建形式化模型,并采用形式化语言描述故障,最后通过形式化验证技术来验证系统的某些可靠性属性在注入故障后的系统模型中是否仍然保持。其中,形式化建模的方法又可分为半形式化和形式化两大类,前者主要有aadl(architecture analysis and design language)、marte(modeling and analysis of real time and embedded system)等;后者主要有z语言、petri网、markov模型、bayes网络(bayesian network,bn)等。而形式化描述语言z语言是使用最广泛的一种形式化描述语言。与其他形式化方法相比,z语言具有描述能力强、模型可扩展、以及建模形式模块化等优
点,这些优点也使它成为了软件形式化建模常用方法之一。
6.bn是一种概率网络,它由节点以及连接这些节点的有向边构成的有向无环图表示,其中节点代表变量,有向边代表节点间的依赖关系。bn适用于表达和分析不确定性事物,具备描述事件多态性和非确定性逻辑关系的能力,能够很好地解决传统可靠性分析方法的不足。bn既可以预测未知变量的概率,又可以根据其他确定状态的变量,通过概率推理,推导出已知给定变量的更新概率。因此将bn应用于智能系统的可靠性评估,能够更清楚的表达智能系统各个功能模块之间的状态关系。同时,根据已得到的各个功能模块的可靠度和贝叶斯定理,也可以计算出智能系统的可靠性以及可靠性关键模块。
技术实现要素:
7.本发明的目的在于提供一种面向软错误的智能系统可靠性分析方法及装置,可以准确地描述智能系统以及功能模块的动态特征与时间的关系,可以对智能系统的整体以及各个功能模块的可靠性进行有效的分析与评估,为找出可靠性脆弱模块提供了一种有效的方法。此外,本发明还可以运用在cpu、寄存器、存储器等功能部件,从这些功能部件的微架构体系对其进行可靠性评估。
8.实现本发明目的的技术解决方案为:一种面向软错误的智能系统可靠性分析方法,所述方法包括:
9.针对待分析与评估的智能系统,根据其结构将其划分为不同的功能模块mifm;所述功能模块包括cpu、寄存器、存储器、缓存、高速缓存、io和总线;
10.对所述功能模块建立相应的模型,获得不同功能模块的可靠性模型fmrm;
11.将各功能模块的可靠性模型转换成相应的可靠性评估模型mrem,获得不同功能模块的可靠性评估结果;
12.根据各功能模块的失效率,对模块间的失效相关性进行分析,估计描述模块间失效率相关性的联合函数;
13.根据各功能模块的失效率以及相关性联合函数,基于贝叶斯网络建立系统整体可靠性评估模型mir-bn,获得系统整体的可靠性评估结果,之后根据所述系统整体可靠性评估模型,利用反向推理得到系统的可靠性关键模块。
14.进一步地,为所述功能模块建立相应的模型,获得不同功能模块的可靠性模型,采用以下方式确定:
15.确定各功能模块的底层架构,将功能模块划分为不同的功能部件;
16.确定可靠性模型中的各个参数,包括功能模块的失效率、功能模块的状态空间以及功能模块所拥有的所有状态转移关系;
17.功能模块的可靠性模型通过以下步骤构建;
18.步骤2.1,确定功能模块所包含的模块,并确定其失效率;以cpu为例,可以将cpu分为预取单元(pfu,prefetch unit)、内存保护单元(mpu,memory protection unit)、负载存储单元(lsu,load/store unit)以及数据处理单元(dpu,data processing unit)等模块;所述的功能模块的固有失效率可通过下式所示方法确定:
19.λ
cpu
=1-(1-λ
pfu
)*(1-λ
mpu
)*(1-λ
lsu
)*(1-λ
dpu
)
20.其中,λ
pfu
,λ
mpu
,λ
lsu
,λ
dpu
分别表示预取单元、内存保护单元、负载存储单元以及数
据处理单元的固有失效率;
21.步骤2.2,建立功能模块的可靠性模型,用三元组表示:
22.fmrm=(frate,states,str)
23.其中,frate表示功能模块的失效率,每个功能模块的frate都可由功能模块固有失效率的计算方法得到;states表示功能模块的状态空间,它包含功能模块的所有可能状态,包括但不限于正常状态、失效状态、故障状态和恢复状态这些状态;str表示功能模块中存在的所有状态转移关系,包括但不限于由正常状态转为失效状态、由正常状态转为故障状态失效状态、由故障状态转为恢复状态这些关系。
24.进一步地,所述功能模块的可靠性评估模型采用以下方式确定:
25.根据建立的功能模块可靠性模型,基于转换规则将相应的fmrm模型转换成对应的mrem评估模型;
26.步骤3.1,由下式四元组确定功能模块可靠性评估模型的基本结构:
27.mrem=(s,s
in
,a,t)
28.其中,s表示mrem的状态空间,是功能模块中所有可能的状态集合,s={s1,s2,...,sn},sn表示mrem的第n种状态;s
in
∈s表示mrem的初始状态;a=[a
ij
]表示mrem的状态转移概率矩阵,其中a
ij
表示mrem从状态si∈s转移到状态sj∈s的概率;t表示评估可靠性的时刻;
[0029]
步骤3.2,根据所述转换规则进行模型转换。为了将建立的功能模块可靠性模型与mrem评估模型之间的整个转化过程等价,即转化前后对可靠性的描述保持一致,需要对fmrm模型、mrem模型两者中包含的元素进行分析比较,建立两者中相同元素的等价映射规则。
[0030]
进一步地,在将各功能模块的可靠性模型转换成相应的可靠性评估模型mrem之后,还包括:
[0031]
步骤4.1,利用状态转移方程对功能模块的可靠性进行评估;
[0032]
状态转移方程中所包含的要素:某一时刻功能模块所处的各个状态的概率向量以及功能模块可能发生的状态转移概率矩阵,由下式确定:
[0033]
p(t')=p(t)*a
[0034]
其中,p(t)表示t时刻功能模块的状态概率向量,p(t')=(pn(t'),pr(t'),pf(t'))表示t'时刻功能模块的状态概率向量,pn(t'),pr(t')和pf(t')分别表示功能模块在t'时刻处于正常状态(normal state,ns),恢复状态(recovery state,rs)和失效状态(failure state,fs)时的概率;t'表示t时刻的下一时刻,a表示功能模块的状态转移概率矩阵;
[0035]
功能模块的失效率随时间的变化关系,由下式确定:
[0036]
λ(t)=exp(λ*t)
[0037]
其中,λ(t)表示t时刻功能模块的失效率,λ表示当t=0时功能模块的固有失效率;
[0038]
步骤4.2,通过求解状态转移方程可得在时刻t时功能模块的失效概率,功能模块在时刻t时的可靠度由下式确定:
[0039]rmifm
(t)=1-pf(t)
[0040]
其中,r
mifm
(t)表示功能模块在时刻t时的可靠度,pf(t)表示功能模块在时刻t时的失效率。
[0041]
进一步地,所述的描述模块间失效率相关性的联合函数由以下方法确定:
[0042]
以所述功能模块失效率随时间变化的关系函数作为功能模块的失效分布函数,以所述描述模块间失效率相关性的联合函数作为模块间的相关性联合函数;
[0043]
描述模块间失效率相关性的联合函数由以下方式确定:
[0044]
步骤5.1,确定待选的联合函数,该联合函数为copula联合函数,包括frank函数,clayton函数,gumbel函数;
[0045]
步骤5.2,对所要选择的联合函数中的参数进行确定,采用m-h算法对联合函数中的参数进行抽样;采用正态分布作为建议密度函数,从建议密度函数中进行采样,根据马尔科夫链生成一个序列α
(0)
→
α
(1)
→
...
→
α
(n)
;对联合函数中的参数进行初始化,给定参数的初始值α
(0)
,并令u=α
(0)
;根据参数的先验信息,从建议密度函数中抽取一个样本α
(1)
~μ(n,σ2);根据后验分布来计算m-h算法的接受概率r,r通过下式确定:
[0046][0047]
其中,p(
·
|
·
)是后验分布,j(
·
|
·
)是建议密度分布;若r>u,则接受α
(1)
,否则,α
(1)
=α
(0)
;将抽取所得的参数值,作为新的抽样初始值,根据所述的参数估计方法进行迭代依失效率分布收敛到目标分布,直到markov链达到平稳,则抽样停止;
[0048]
步骤5.3,确定描述模块间失效相关性的联合函数;通过平方欧式距离的大小对所述的模块间失效相关性联合函数进行选择,平方欧式距离越小,表明所选的联合函数对模块间失效相关关系的描述越准确。
[0049]
进一步地,所述系统整体可靠性评估模型由以下方法确定:
[0050]
以待评估的智能系统的失效作为中心节点,将所述的功能模块的失效作为边缘节点,通过连接弧将所述边缘节点与所述中心节点连接,即得到所述的智能系统的可靠性模型;
[0051]
进一步,根据所述智能系统可靠性模型进行系统的可靠性评估,包括:
[0052]
获取所述功能模块的失效概率,根据所述智能系统可靠性模型确定所述失效概率对应的定性评估结果;
[0053]
确定所述智能系统可靠性模型中各节点之间的逻辑关系,根据所述定性结果以及逻辑关系确定各功能模块的重要度,识别出可靠性关键模块。
[0054]
一种面向软错误的智能系统可靠性分析装置,所述装置包括:
[0055]
建模模块,用于对根据结构划分的智能系统中的各个功能模块进行建模,以及基于贝叶斯网络对智能系统整体进行建模;还用于建立功能模块的可靠性评估模型;
[0056]
转换模块,用于将所述各个功能模块的可靠性模型转换成相对应的可靠性评估模型mrem模型;
[0057]
相关性分析模块,用于对所述各个功能模块之间的失效相关性进行分析,确定两两模块之间的失效联合函数;
[0058]
评估模块,用于对所述功能模块的可靠性模型中相关的可靠性约束进行提取,同时也用于对功能模块的评估模型和系统整体的可靠性评估模型中的可靠性约束进行提取;
[0059]
评估模块,还用于对功能模块的可靠性以及智能系统的可靠性进行计算。在对功能模块进行可靠性评估时,因为转移概率矩阵是与时间相关的,因此需要明确一个时刻,然后计算此时所对应的模块转移概率矩阵,之后通过求解状态转移概率方程得到模块的状态
概率分布,然后通过计算得到功能模块的可靠度;因为用于推理计算的功能模块失效概率是基于上述功能模块的可靠性评估方法得到的,因此在运用贝叶斯网络进行智能系统的可靠性评估时也需要明确一个时刻,然后利用贝叶斯网络的推理公式得到系统的可靠度以及可靠性关键模块。
[0060]
进一步地,所述建模模块具体用于:
[0061]
确定功能模块的可靠性建模要素;
[0062]
建立功能模块的可靠性模型以及相应的可靠性评估模型。
[0063]
所述转换模块具体用于:
[0064]
对所述的功能模块的可靠性模型进行解析;
[0065]
对解析后功能模块的可靠性模型依据所述的转换规则提取mrem评估模型所需要的可靠性约束。
[0066]
所述相关性分析模块具体用于:
[0067]
对所述的功能模块两两之间的失效相关关系进行分析;
[0068]
确定所述的两两模块之间的联合失效函数;
[0069]
进一步地,所述评估模块具体用于:
[0070]
根据所述功能模块的可靠性评估模型对功能模块进行可靠性评估;
[0071]
所述的功能模块的可靠性评估模型通过以下步骤构建;
[0072]
步骤6.1,确定功能模块所包含的模块,并确定其失效率;
[0073]
步骤6.2,建立功能模块的可靠性模型,用三元组表示:
[0074]
fmrm=(frate,states,str)
[0075]
其中,frate表示功能模块的失效率;states表示功能模块的状态空间,它包含功能模块的所有可能状态,包括但不限于正常状态、失效状态、故障状态和恢复状态这些状态;str表示功能模块中存在的所有状态转移关系,包括但不限于由正常状态转为失效状态、由正常状态转为故障状态失效状态、由故障状态转为恢复状态这些关系;
[0076]
步骤6.3,由下式四元组确定功能模块可靠性评估模型的基本结构:
[0077]
mrem=(s,s
in
,a,t)
[0078]
其中,s表示mrem的状态空间,是功能模块中所有可能的状态集合,s={s1,s2,...,sn},sn表示mrem的第n种状态;s
in
∈s表示mrem的初始状态;a=[a
ij
]表示mrem的状态转移概率矩阵,其中a
ij
表示mrem从状态si∈s转移到状态sj∈s的概率;t表示评估可靠性的时刻;
[0079]
步骤6.4,对fmrm模型、mrem模型两者中包含的元素进行分析比较,建立两者中相同元素的等价映射规则;
[0080]
步骤6.5,利用状态转移方程对功能模块的可靠性进行评估;
[0081]
状态转移方程中所包含的要素:某一时刻功能模块所处的各个状态的概率向量以及功能模块可能发生的状态转移概率矩阵,由下式确定:
[0082]
p(t')=p(t)*a
[0083]
其中,p(t)表示t时刻功能模块的状态概率向量,p(t')=(pn(t'),pr(t'),pf(t'))表示t'时刻功能模块的状态概率向量,pn(t'),pr(t')和pf(t')分别表示功能模块在t'时刻处于正常状态恢复状态和失效状态时的概率;t'表示t时刻的下一时刻,a表示功能模块的状态转移概率矩阵;
[0084]
功能模块的失效率随时间的变化关系,由下式确定:
[0085]
λ(t)=exp(λ*t)
[0086]
其中,λ(t)表示t时刻功能模块的失效率,λ表示当t=0时功能模块的固有失效率;
[0087]
步骤6.6:通过求解状态转移方程可得在时刻t时功能模块的失效概率,功能模块在时刻t时的可靠度由下式确定:
[0088]rmifm
(t)=1-pf(t)
[0089]
其中,r
mifm
(t)表示功能模块在时刻t时的可靠度,pf(t)表示功能模块在时刻t时的失效率。
[0090]
进一步地,所述评估模块还用于:
[0091]
以待评估的智能系统的失效作为中心节点,将所述功能模块的失效作为边缘节点,通过连接弧将所述的边缘节点与所述的中心节点连接,构建智能系统的可靠性模型;
[0092]
获取所述功能模块的失效概率,根据所述智能系统可靠性模型确定所述失效概率对应的定性评估结果;
[0093]
确定所述智能系统可靠性模型中各节点之间的逻辑关系,根据所述的定性结果以及逻辑关系确定各功能模块的重要度,识别出可靠性关键模块。
[0094]
本发明与现有技术相比,其显著优点为:通过将系统根据其功能划分为不同的功能模块,采用分级的方式,对智能系统的可靠性进行了分析与评估。本发明所提出的可靠性分析方法,模型层次清晰,具有可扩展性,不仅能够进行定性分析,还能进行定量分析,进而提高了可靠性分析与评估的准确性。
[0095]
下面结合附图对本发明作进一步详细描述。
附图说明
[0096]
图1为一个实施例中面向软错误的智能系统可靠性分析方法的流程示意图。
[0097]
图2为一个实施例中提供的一种状态转移关系图,其中图(a)为功能模块的典型状态转移图,图(b)为不考虑瞬时状态时的状态转移图。
[0098]
图3为一个实施例中提供的一种整体可靠性分析模型结构示意图。
[0099]
图4为一个实施例中提供的一种面向软错误的智能系统可靠性分析装置的结构示意图。
具体实施方式
[0100]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0101]
针对现有可靠性分析与评估技术中无法描述系统硬件动态特征,以及评估准确性较差的问题,本发明提供了一种面向软错误的智能系统可靠性分析方法及装置。在本发明实施例所提供的方案中,建立的功能模块可靠性模型以及评估方法充分考虑了系统硬件可靠性与时间的相关性,而且可以对模型进行动态扩展;此外,基于贝叶斯网络所建立的智能系统整体可靠性评估模型,不仅能够对系统进行定性分析,还能进行定量分析,提高了系统可靠性分析与评估的准确性。
[0102]
下面首先结合图1对本发明实施例适用的可能的系统架构进行介绍。
[0103]
参考图1,其示例性示出了本发明实施例适用的一种面向软错误的智能系统可靠性分析方法的流程示意图。本发明实施例提供的方法包括以下步骤:
[0104]
步骤s101,确定智能系统的典型体系结构,将其划分为不同的功能模块。
[0105]
具体的,在对智能系统进行可靠性分析与评估之前,首先需要明确其硬件构成。任何系统的硬件子系统,都是由处理器以及各种功能模块组成。每个功能模块根据其实现功能的不同也由不同约束共同构成。在本发明实施例提出的方案中,依据不同的功能把智能系统划分为五个功能模块,包括:
[0106]
cpu(central processing unit)、寄存器(register,reg)、存储器(memory,mem)、高速缓存(cache)、io(input and output,io)和总线(bus)。
[0107]
步骤s102,为不同的功能模块建立相应的可靠性模型。
[0108]
本发明实施例提供的功能模块的可靠性模型,采用以下方法确定:
[0109]
将移动智能根据其功能划分成不同的功能模块,采用分级建模的方式,首先对功能模块的可靠性进行建模,通过提取其可靠性约束,建立相应的可靠性模型。
[0110]
需要说明的是,功能模块的可靠性模型是基于z语言建立的。
[0111]
步骤1,功能模块的可靠性模型fmrm可由下式确定:
[0112]
fmrm=(frate,states,str)
[0113]
式中,frate(failure rate)表示功能模块的失效率,每个功能模块的frate都可由功能模块固有失效率的计算方法得到;states表示功能模块的状态空间,它包含了功能模块的所有可能状态,包括但不限于正常状态、失效状态、故障状态和恢复状态等状态;str(state transfer relationship)表示功能模块中存在的所有状态转移关系,包括但不限于由正常状态转为失效状态、由正常状态转为故障状态失效状态、由故障状态转为恢复状态等关系。
[0114]
步骤2,针对模型中的建模要素进行描述。
[0115]
其中,fmrm模型中失效率frate的描述如下:
[0116]
一个功能模块通常也是由不同的模块构成,以cpu为例,cpu可以分为预取单元(pfu,prefetch unit)、内存保护单元(mpu,memory protection unit)、负载存储单元(lsu,load/store unit)以及数据处理单元(dpu,data processing unit)等模块。定义这些模块的失效率分别为λ
pfu
,λ
mpu
,λ
lsu
,λ
dpu
。那么cpu的失效率λ
cpu
可表示为:
[0117]
λ
cpu
=1-(1-λ
pfu
)*(1-λ
mpu
)*(1-λ
lsu
)*(1-λ
dpu
)
[0118]
fmrm模型中状态空间states的描述如下:
[0119]
各个模块的状态空间包含正常状态(normal state,ns),恢复状态(recovery state,rs),故障状态(error state,es)和失效状态(failure state,fs)。其中ns是初始状态;es是一种瞬时状态,是ns发生故障时的过渡状态。功能模块的典型状态转移图如图2所示,其中的椭圆表示状态,连接线表示状态转移关系及其转移概率。
[0120]
fmrm模型中状态转移关系str的描述如下:
[0121]
功能模块的状态转移关系也由图2表示,状态转移包含源状态sstate、目标状态tstate和转移概率参数tr,其中,sstate和tstate必须是该功能模块(mobile intelligent system functional module,mifm)状态空间中含有的。
[0122]
步骤s103,根据转换规则将建立的功能模块可靠性模型转换成相应的可靠性评估模型mrem,获得各功能模块的可靠性数据。
[0123]
本发明实施例中,mrem可靠性评估模型,具体采用以下步骤建立:
[0124]
步骤1,确定mrem可靠性评估模型。具体的,采用下式所示方法构建mrem可靠性评估模型:
[0125]
mrem=(s,s
in
,a,t)
[0126]
式中,s表示mrem的状态空间,是功能模块中所有可能的状态集合,s={s1,s2,...,sn},sn表示mrem的第n种状态;s
in
∈s表示mrem的初始状态;a=[a
ij
]表示mrem的状态转移概率矩阵,其中a
ij
表示mrem从状态si∈s转移到状态sj∈s的概率;t表示评估可靠性的时刻。
[0127]
步骤2,基于转换规则将功能模块的可靠性模型转换成相应的mrem评估模型。具体的,为了使整个转化过程等价,即转化前后对可靠性的描述保持一致,需要对两者(mrem模型、fmrm模型)中包含的元素进行分析比较,建立两者中相同元素的等价映射规则。映射转化规则如表1所示:
[0128]
表1 fmrm与mrem之间的元素映射规则
[0129][0130]
步骤3,基于建立的mrem评估模型利用状态转移方程对功能模块的可靠性进行评估。
[0131]
本发明实施例中,状态转移方程采用下式所示方法确定:
[0132]
p(t')=p(t)*a
[0133]
式中,p(t')=(pn(t'),pr(t'),pf(t'))表示t'时刻功能模块的状态概率向量,pn(t'),pr(t')和pf(t')分别表示功能模块在t'时刻处于正常状态(normal state,ns),恢复状态(recovery state,rs)和失效状态(failure state,fs)时的概率;t'表示t时刻的下一时刻,a表示功能模块的状态转移概率矩阵。
[0134]
由于指数模型对失效率的真实曲线有着较高的拟合度,相较于其他描述失效率的模型具有更好的优势。所以,本发明将功能模块的失效率与时间的关系的定义如下式所示:
[0135]
λ(t)=exp(λ*t)
[0136]
其中,λ(t)表示t时刻功能模块的失效率,λ表示当t=0时功能模块的固有失效率。
[0137]
因此,根据状态转移关系图以及相应的转移概率,状态转移矩阵a可以确定为下式所示:
[0138][0139]
式中,λ
detected
表示故障被检测到的概率,λ
recovery
表示成功修复的概率。
[0140]
因此,由步骤3中的三个公式可以确定功能模块的概率转移方程:
[0141][0142]
求解该式可得功能模块在t时刻的状态概率分布,其中在t时刻的失效概率为pf(t),所以t时刻时功能模块的可靠度为下式所示:
[0143]rmifm
(t)=1-pf(t)
[0144]
其中,r
mifm
(t)表示功能模块在时刻t时的可靠度,pf(t)表示功能模块在时刻t时的失效概率。
[0145]
步骤s104,根据得到的各功能模块的失效率,估计模块的失效分布函数以及描述其相关性的联合函数。
[0146]
具体的,以所述功能模块失效率随时间变化的关系函数作为功能模块的失效分布函数,以所述描述模块间失效率相关性的联合函数作为模块间的相关性联合函数;
[0147]
描述模块间失效率相关性的联合函数可由以下步骤确定:
[0148]
步骤1,对所要选择的联合函数中的参数进行确定,采用m-h(metropolis hastings)算法对联合函数中的参数进行抽样;采用正态分布作为建议密度函数,从建议密度函数中进行采样,根据马尔科夫链可生成一个序列α
(0)
→
α
(1)
→
...
→
α
(n)
;对联合函数中的参数进行初始化,给定参数的初始值α
(0)
,并令u=α
(0)
;根据参数的先验信息,从建议密度函数中抽取一个样本α
(1)
~μ(n,σ2);根据后验分布来计算m-h算法的接受概率r,r可通过式(9)所示方法确定:
[0149][0150]
式中,p(
·
|
·
)是后验分布,j(
·
|
·
)是建议密度分布;若r>u,则接受α
(1)
,否则,α
(1)
=α
(0)
;把抽取所得的参数值,作为新的抽样初始值,根据所述的参数估计方法进行迭代依失效率分布收敛到目标分布,直到markov链达到平稳,则抽样停止。
[0151]
步骤2,确定描述模块间失效相关性的联合函数;对所述模块间失效相关性联合函数通过平方欧式距离的大小来选择,平方欧式距离越小,说明所选的联合函数对模块间失效相关关系的描述越准确;所述平方欧式距离是通过联合函数的经验分布函数与估计的分布函数之间的差来描述的;所述经验分布函数由下式所示方法确定:
[0152][0153]
式中,i为示性函数,即当f1(xi≤u)时,i[f1(xi≤u)]=1,否则i[f1(xi≤u)]=0;所述平方欧式距离可由下式所示方法确定:
[0154][0155]
式中,c(ui,vi)为联合分布函数的值,为经验分布函数的值。
[0156]
步骤s105,根据得到的各功能模块的可靠性概率,基于贝叶斯网络建立整体的可靠性评估模型,获得系统整体的可靠性概率。
[0157]
具体的,基于贝叶斯网络建立智能系统整体可靠性模型的方式有很多,下面以一种较佳的方式为例进行说明。
[0158]
根据所述的智能系统整体可靠性模型,包括:
[0159]
以待评估的智能系统的失效作为中心节点,将所述的功能模块的失效作为边缘节点,通过连接弧将所述边缘节点与所述中心节点连接,即可得到所述的智能系统的可靠性模型。
[0160]
参见图3,为本发明实施例提供的一种可靠性模型结构示意图。在图3所示的模型中,影响智能系统可靠性的功能模块包括:cpu、寄存器、存储器、缓存、io和总线。与cpu相关的可靠性状态包括cpu失效和cpu正常;与寄存器相关的可靠性状态包括寄存器失效和寄存器正常;与存储器相关的可靠性状态包括存储器失效和存储器正常;与缓存相关的可靠性状态包括缓存失效和缓存正常;与io相关的可靠性状态包括io失效和io正常;与总线相关的可靠性状态包括总线失效和总线正常。以智能系统的失效作为中心节点,将所述的功能模块的失效作为边缘节点,通过连接弧将所述的边缘节点与所述的中心节点连接,即可得到如图3所示的智能系统的可靠性模型结构图。
[0161]
进一步,在建立智能系统的可靠性评估模型后,依据所述功能模块的失效概率,以及节点间的逻辑关系进行系统整体的可靠性评估。
[0162]
在本发明实施例所提供的方案中,用mir-bn=(i,e,θ)来描述。其中,节点i∈i表示功能模块变量;边e∈e表示功能模块与整体之间的失效概率依赖关系;θ表示条件概率表的参数;
[0163]
假设m={m1,m2,...,mn}表示功能模块变量,parent(mi)表示节点mi的所有父节点变量的集合,那么,贝叶斯网络模型的联合概率分布可以写成下式:
[0164][0165]
式中,p(m1,m2,...,mn)表示贝叶斯网络模型的联合概率;p(mi|parent(mi))表示节点mi对应的所有父节点变量的集合的条件概率。
[0166]
进一步,智能系统的整体可靠性评估模型主要是利用上式(12)所述的联合概率分布的表达式进行概率推理的。
[0167]
假设依据所述的各功能模块的失效概率分别为λ
cpu
,λ
reg
,λ
mem
,λ
cache
,λ
io
,λ
bus
,那么智能系统的可靠度即可根据下式确定:
[0168][0169]
步骤s106,根据建立的整体可靠性评估模型利用反向推理得到系统的可靠性关键模块。
[0170]
可靠性关键模块是指该功能模块的可靠性对系统整体有着最大的影响,它是否失
效直接影响着系统整体是否失效。而且针对该功能模块可靠性的提升,对系统可靠性的提升也最为明显。
[0171]
具体的,假设某一功能模块的状态有失效和正常两种状态,在系统失效的状态下每个功能模块对系统整体失效的贡献度可由下式确定:
[0172]ipr
=p(mis=1|xi=1)-p(mis=1|xi=0),i∈{cpu,reg,mem,cache,io,bus}
[0173]
式中,i
pr
表示概率重要度,即该功能模块在失效状态下对系统整体失效的影响程度;p(mis=1|xi=1)表示在该功能模块失效条件下,系统发生失效的概率;p(mis=1|xi=0)表示在该模块正常的条件下,系统发生失效的概率。
[0174]
进一步,在概率重要度相差甚微的情况下,可通过关键重要度进一步对功能模块的重要度进行分析。
[0175]
具体的,关键重要度可通过下式所示方式确定:
[0176]icr
(xi)=p(xi=1)[p(mis=1|xi=1)-p(mis=1|xi=0)]/p(mis=1)
[0177]
=p(xi=1)/p(mis=1)
×ipr
(xi),i∈{cpu,reg,mem,cache,io,bus}
[0178]
式中,i
cr
指关键重要度,即功能模块发生故障概率变化率所引起的系统故障率的变化率,是判断某一功能模块对系统整体影响的关键性指标;p(xi=1)表示功能模块处于失效状态时的概率;p(mis=1)表示系统处于失效状态时的概率。
[0179]
其中,i
pr
和i
cr
均靠前的模块即为智能系统的可靠性关键模块。
[0180]
本发明实施例所提供的方案中,通过将系统根据其功能划分为不同的功能模块,采用分级的方式,对智能系统的可靠性进行了建模与评估。本发明提供的可靠性分析方法,模型层次清晰,具有可扩展性,不仅能够进行定性分析,还能进行定量分析,进而提高了可靠性分析与评估的准确性。
[0181]
图4示例性示出了本发明实施例提供的一种面向软错误的智能系统可靠性分析方法及装置的结构示意图。该装置具有实现上述面向软错误的智能系统可靠性分析与评估方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:建模模块401、转换模块402、相关性分析模块403以及评估模块404。
[0182]
建模模块401,用于对根据结构划分的智能系统中的各个功能模块可靠性模型的构建;
[0183]
所述建模模块还用于对功能模块的可靠性评估模型的建立;
[0184]
转换模块402,用于将所述各个功能模块的可靠性模型转换成相对应的mrem可靠性评估模型;
[0185]
相关性分析模块403,用于对所述各个功能模块之间的失效相关性进行分析,确定两两模块之间的失效联合函数;
[0186]
评估模块404,用于对所述功能模块的可靠性模型中相关的可靠性约束进行提取,,同时也用于对功能模块的评估模型和系统整体的可靠性评估模型中的可靠性约束进行提取;
[0187]
评估模块404,还用于对功能模块的可靠性以及智能系统的可靠性进行计算;在对功能模块进行可靠性评估时,因为转移概率矩阵是与时间相关的,因此需要明确一个时刻,然后计算此时所对应的模块转移概率矩阵,之后通过求解状态转移概率方程得到模块的状态概率分布,然后通过计算得到功能模块的可靠度;因为用于推理计算的功能模块失效概
率是基于上述功能模块的可靠性评估方法得到的,因此在运用贝叶斯网络进行智能系统的可靠性评估时也需要明确一个时刻,然后利用贝叶斯网络的推理公式得到系统的可靠度以及可靠性关键模块。
[0188]
可选的,建模模块401具体用于:
[0189]
确定功能模块的可靠性建模要素;
[0190]
建立功能模块的可靠性模型以及相应的可靠性评估模型。
[0191]
可选的,转换模块402具体用于:
[0192]
对所述功能模块的可靠性模型进行解析;
[0193]
对解析后功能模块的可靠性模型依据所述的转换规则提取mrem评估模型所需要的可靠性约束。
[0194]
可选的,相关性分析模块403具体用于:
[0195]
对所述功能模块两两之间的失效相关关系进行分析;
[0196]
确定所述两两模块之间的联合失效函数;
[0197]
可选的,评估模块404具体用于:
[0198]
根据所述的功能模块的可靠性评估模型对功能模块进行可靠性评估;
[0199]
根据所述的智能系统可靠性评估模型对智能系统进行可靠性评估。
[0200]
可选的,功能模块的可靠性评估模型采用以下步骤构建:
[0201]
步骤1,确定功能模块所包含的模块,并确定其失效率;以cpu为例,可以将cpu分为预取单元(pfu,prefetch unit)、内存保护单元(mpu,memory protection unit)、负载存储单元(lsu,load/store unit)以及数据处理单元(dpu,data processing unit)等模块;所述的功能模块的固有失效率可通过下式所示方法确定:
[0202]
λ
cpu
=1-(1-λ
pfu
)*(1-λ
mpu
)*(1-λ
lsu
)*(1-λ
dpu
)
[0203]
其中,λ
pfu
,λ
mpu
,λ
lsu
,λ
dpu
分别表示预取单元、内存保护单元、负载存储单元以及数据处理单元的固有失效率;
[0204]
步骤2,所述的功能模块的可靠性模型采用三元组表示:
[0205]
fmrm=(frate,states,str)
[0206]
其中,frate(failure rate)表示功能模块的失效率,每个功能模块的frate都可由功能模块固有失效率的计算方法得到;states表示功能模块的状态空间,它包含了功能模块的所有可能状态,包括但不限于正常状态、失效状态、故障状态和恢复状态等状态;str(state transfer relationship)表示功能模块中存在的所有状态转移关系,包括但不限于由正常状态转为失效状态、由正常状态转为故障状态失效状态、由故障状态转为恢复状态等关系。
[0207]
步骤3,功能模块mrem可靠性评估模型的基本结构可由式(18)所示的四元组确定:
[0208]
mrem=(s,s
in
,a,t)
[0209]
其中,s表示mrem的状态空间,是功能模块中所有可能的状态集合,s={s1,s2,...,sn},sn表示mrem的第n种状态;s
in
∈s表示mrem的初始状态;a=[a
ij
]表示mrem的状态转移概率矩阵,其中a
ij
表示mrem从状态si∈s转移到状态sj∈s的概率;t表示评估可靠性的时刻。
[0210]
根据建立功能模块可靠性模型,基于转换规则将相应的功能模块的可靠性模型fmrm转换成对应的mrem评估模型;
[0211]
步骤4,根据所述的状态转移方程对功能模块的可靠性进行评估;
[0212]
状态转移方程中所包含的要素有,某一时刻功能模块所处的各个状态的概率向量以及功能模块可能发生的状态转移概率矩阵,可由下式所示方法确定:
[0213]
p(t')=p(t)*a
[0214]
其中,p(t')=(pn(t'),pr(t'),pf(t'))表示t'时刻功能模块的状态概率向量,t'表示t时刻的下一时刻,a表示功能模块的状态转移概率矩阵;
[0215]
功能模块的失效率随时间的变化关系,可由下式所示方法确定:
[0216]
λ(t)=exp(λ*t)
[0217]
其中,λ(t)表示t时刻功能模块的失效率,λ表示当t=0时功能模块的固有失效率。
[0218]
通过求解状态转移概率方程可得,在时刻t时功能模块的失效概率,因此功能模块在时刻t时的可靠度可由下式所示方式确定:
[0219]rmifm
(t)=1-pf(t)
[0220]
其中,r
mifm
(t)表示功能模块在时刻t时的可靠度,pf(t)表示功能模块在时刻t时的失效概率。
[0221]
可选的,智能系统可靠性评估模型采用以下方法确定:
[0222]
以待评估的智能系统的失效作为中心节点,将所述的功能模块的失效作为边缘节点,通过连接弧将所述边缘节点与所述中心节点连接,即可得到所述的智能系统的可靠性模型。
[0223]
获取所述功能模块的失效概率,根据所述智能系统可靠性模型确定所述失效概率对应的定性评估结果;
[0224]
确定所述智能系统可靠性模型中各节点之间的逻辑关系,根据所述定性结果以及逻辑关系确定各功能模块的重要度,识别出可靠性关键模块。
[0225]
本发明实施例所提供的方案中,通过将系统根据其功能划分为不同的功能模块,采用分级的方式,对智能系统的可靠性进行了分析与评估。本发明所提出的可靠性分析方法,模型层次清晰,具有可扩展性,不仅能够进行定性分析,还能进行定量分析,进而提高了可靠性分析与评估的准确性。
[0226]
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0227]
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于服务构建装置和服务加载装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
[0228]
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
转载请注明原文地址:https://tc.8miu.com/read-2727.html