当前位置:首页 期刊杂志

硬软件交互的可靠性建模及其应用

时间:2024-07-28

胡慧芳,沈元隆

(南京邮电大学 电子科学与工程学院,江苏 南京 210003)

针对硬件可靠性和软件可靠性研究领域虽然有着大量的文献,但多数都只局限于单独的硬件或者软件子系统的研究。少数研究者设法为整个系统建立一个混合的可靠性模型,既包括硬件也包括软件。但他们通常认为硬件和软件子系统是相互独立的。

事实上,在许多现代计算机系统内,硬件和软件间的影响很大。例如,参考文献[1]对斯坦福大学的MVS/SP操作系统进行的软件错误分析发现,将近35%的软件错误是和硬件有关的。在这些系统中,硬件和软件子系统不是相互独立的,系统的可靠性受软硬件交互作用的影响。硬件和软件系统之间的交互作用表现在两个方面:积极的和消极的。参考文献[1]中提到的哈勃望远镜机械上的问题,经软件变更而得到了缓和。这意味着通过软件可以修正硬件问题,这就是软件所起的积极作用。另一方面,预料不到的硬件失效模型致使软件在一个非典型的操作模型下执行,而软件因没有被严格的测试过,结果导致系统的性能下降。在失效状态下,操作会更不可靠。

1 混合可靠性模型

1.1 基本假设

以下是混合可靠性模型的一些基本的假设

(1)无论是永久总体硬件失效、纯软件失效还是硬软件交互失效发生了,整个系统都失效。

(2)硬件失效可以模型化为韦伯模型,它的可靠性函数为RHW(t)=e-λtβ。

(3)软件失效可以模型化为 NHPP模型,服从均值为m(t),给定持续时间 t和软件启动时间 T,软件可靠度为:RHW(t)=e-(m(t+T)-m(t))。

(4)硬软件交互失效、硬件失效和软件失效是彼此独立的。

(5)硬件部件的失效率为λ1。

(6)局部硬件失效能以概率P1被检测到,一旦检测到,就可通过软件方法以概率P2得到恢复。虽然软件方法及相关的硬件可能找不到退化处,但是也不会有不正确的保护。

(7)一个检测不到的硬件退化可能会导致硬软件交互失效(失效率为λ3),检测到的硬件退化可导致执行中止(失效率为λ4)。

(8)一旦局部硬件失效被检测到,失效的硬件部件就被修正或者是替换,通过软件恢复的概率为μ1a,没有通过软件恢复的概率为μ1b。

如果退化被检测到却没有通过软件的方法恢复,局部硬件失效可能进一步以概率λ2a演变为总体失效;如果退化被检测到并且通过软件的方法恢复,则以概率λ2b演变为总体失效;如果退化没有被检测到,则以概率为λ2c演变为总体失效。

1.2 模型

基于(1)和(4)的假设,整个系统的可靠度为:

式中,RHW(t)和 RSW(t)是纯硬件可靠性函数,纯软件可靠性函数由假设(2)和(3)分别决定的,而软硬件交互失效可靠性函数 RHW/SW(t)来自于假设(5)~(9)。

图1是HW/SW失效模型的状态转移图。

图1 HW/SW失效模型状态转移图

用Qj(t)表示t时刻处于状态j的概率。基于马尔可夫过程给出以下微分方程:

在这些系统状态中,状态 2、3和4是失效状态,而状态1a、1b和1c是退化工作状态,状态0是全工作状态。如果初始状态Q0(0)=1,则可以得到附录中微分方程式的解。到t时刻无硬软件交互失效的概率为:

RHW/SW(t)=Pr{t时刻无永久硬软件交互失效}=

由此可以得到式(1)中总体系统失效率为:

下面通过其在通信系统中的应用来阐明硬软件混合模型方法。

2 电信应用

2.1 系统描述

通过将模型应用到无线BSS的一个特殊部件来说明。这个特殊部件是服务器,它是BSc的一部分。服务器按N+1组配置的,组操作在负载均衡的环境下进行的。当一个服务器失效,组中剩下的服务器接管它所执行的任务。每个服务器上运行的故障恢复软件负责管理恢复进程。

表1列出占用时间和失效数据。表中所示的6个月中的每个月,总计硬件的占用时间的系统日期,不管硬件运行的是软件R1(2列)还是R2(4列),都已给出。第3和5列是服务器的应用编号,是通过把总的占用时间按每月的天数划分而得到的。硬件设计也是一样,不考虑它执行的是哪个软件,第6列表明了每月来自所有的服务器总的硬件失效的数目。第7列说明了服务器只运行软件R2时的软件失效数。

表1 该电信实例中的占用时间及失效数据

当区域中有软件失效时,用户会通知技术支持人员,由技术员创建故障列表。如果故障的性质被诊断是程序上的错误,通常会关闭故障列表,而当前的软件释放令不改变。如果故障已经确定与软件失效有关,则要为故障分配安全级别。区域中首次高安全性级别故障的发生与软件更新之间的间隔通常不会超过两周。如果域中有异常多点故障,有关这个重复事件的列表被认为是源故障列表的再现。在绘制表1时,只有源故障列表对高安全性级别的故障有反映。

表1没有对硬软件交互失效做出详尽的说明。分析故障列表的根本原因时,没有对其进行硬软件交互失效的分类。多数情况下,域中发生的硬软件交互失效都被划分为了硬件失效,因为失效中的硬件因素在故障列表被创建时比软件因素更明显。下面,在调查硬软件交互失效的影响时,在不确定的假设条件下分析硬件失效实际为硬软件交互失效的概率F有多大。

2.2 配置模型

为了安装硬软件交互失效模型,只关注运行R2的服务器,因为硬软件交互失效模型包含软件失效率λ3,这个参数依赖于软件排错。由于这个实例中系统没有内置的检测硬件退化的机制,在表1中,令P1=0。另外,为了满足λ3>>λ2c,则进行进一步简化,令λ2c=0,则由式(2)可以导出:

(2)需要指明是怎样从表 1中得到(Ti,Xi)的值的。表2中:前8列说明了占用时间的划分,这些数据与R2有关;行相当于独立的服务器组,这些服务器是在相对应的月初时部署的;3~8列说明每组服务器每月总的占用时间,是基于第2列说明每组服务器的数量数据的;第2列数值是表1中第3列的值连续增长得到的。

表2 R2占用时间的分配,服务器组的硬件失效

表2中的第9列代表每个服务器组的占用时间,其值就是需要的值;第10列是每个服务器组的硬件失效对应的导数,这些数据是由硬件失效总数按比例分配得到的,比率是通过将总服务器组占用时间除以71 155个系统日期的总失效时间得到的。

由表2可知,在6个月期间,运行软件R2的服务器有156个硬件失效。一些已知的硬件失效实际上是硬软件交互失效。下面,用F表示那些实际上是硬软件交互的失效在硬件失效中所占的比例,令Xi=Fei,其中 ei是表2中第10列中的数值。由于F的值是未知的,我们将检验对这个数值分析的精度。对(λ1,λ3)的最小二乘估计(,3)由表 3 中第 3 和第 4 列给出,这是基于不同的(F,G)值得到的。

表3 为(F,G)的变值做最小二乘估计(1,)

表3 为(F,G)的变值做最小二乘估计(1,)

F λ^1λ^3 0.05 0.10 0.15 0.20 0.25 0.05 0.10 0.15 0.20 0.25 G555551 0 10 10 10 10 1.75×10-4 3.51×10-4 5.26×10-4 7.01×10-4 8.77×10-4 1.61×10-4 3.21×10-4 4.82×10-4 6.43×10-4 8.04×10-4 8.77×10-3 1.75×10-3 2.63×10-3 3.51×10-3 4.38×10-3 1.61×10-3 3.21×10-3 4.82×10-3 6.43×10-3 8.04×10-3

对于式(3),还要估计纯硬件模型参数和纯软件模型参数。一个很适合R2软件失效数据的纯软件失效模型是G-O模型,但G-O模型的调试不完美。该模型的均值函数 m(t)=(a/p)(1-e-bpt),其中a是软件初始失效数的期望值,b表示每个故障的平均失效率,p是检测到的故障被成功移除的概率。估计参数^=18.0,=6×10-5,=0.95。

对于纯硬件失效模型,假设每个服务器对应一个韦伯过程。韦伯过程是一种失效率 h(t)=λβtβ-1,相应的均值函数m(t)=λtβ的NHPP模型。服务器的部署次数不同会导致不同的失效率,令si表示第i个服务器的部署次数,就可以求得均值函数。则第i个服务器的失效率和均值函数可以写成:

其中I(.)表示指示函数。

当配备纯硬件模型时,由于硬件对于R1和R2这两个软件是相似的,故可以使用来自所有服务器的失效数据。在这个例子中,有6个不同的起始时间,s1≡0,s2,…,s6。表5的第2列给出在每个起始时间运行的服务器数量ni,来自于表2最后两列的数据。

在不同的观察点ti得到总的失效数据,在观察点,数据是由所有正在运行的服务器集成的。观察点和启动时间的关系如下:t1=s1,t2=s2,…tl-1=sl,tl=sl+△,其中△=31天,是新硬件设备最后一次激活到取样末期的持续时间。在每一个观测点ti,累计失效数Qi被记录下来,这些值可见表 4的第4列。用这些数据对(λ,β)进行最大可能性估计是不完全的,取而代之的是非线性最小二乘法,这种方法被证明非常有效。

表4 (λ,β)估计的总体数据

表5 对变值 F做最小二乘估计(,

表5 对变值 F做最小二乘估计(,

F β^0.05 0.10 0.15 0.20 0.25 λ^1.25×10-3 1.18×10-3 1.12×10-3 1.05×10-3 9.86×10-3 1.15 1.15 1.15 1.15 1.15

表6 F=0.15时最小二乘估计的吻合度

为简化式(3)的运用,(F,G)选中一个值,表 3就可以确定(,),这便于估计 RHW(t)及 RSW(t);表 5 中的数据可以确定(,),以便求出 RHW(t)。 对 RSW(t)的估计要建立G-O软件可靠性模型。

2.3 模型比较

下面将硬件、软件和硬软件交互模型综合起来得到系统的可靠性。假设一个新的服务器在T=53 086天时被配备,可以将式(1)中的混合系统可靠性重写为:

相比之下,不考虑硬软件交互失效,系统的可靠性公式为:

式中,估算RHW(t)的时候,表5中的数据反映硬软件失效不是被视为纯硬件失效就是纯软件失效而被忽略掉的影响。

式(5)和(6)联立可得到每一个假定模型下对应的系统的MTTF值。表 7对选择不同(F,G)值的两种模型的MTTF的对比,再次表明独立模型比较好。

表7 系统MTTF的对比

许多现有的可靠性模型都没有考虑硬软件子系统的交互失效,而只考虑了纯硬件和纯软件失效。结果,大多数失效数据都是就纯硬件和纯软件失效而得到的。当建立纯硬件或纯软件模型时,硬软件交互失效被忽略。这对于可靠性预测方法是非常不利的。本文方法由于考虑了硬软件交互失效对整个系统的影响,这样建立的模型比传统的只分别考虑软件和硬件所建立的模型具有更准确的可靠性预测。

[1]BAIN L J.Statistical analysis of reliability and life-testing models[M].New York: Marcel Dekker, 1978.

[2]FRIEDMAN M A,TRAN P.Reliabilitytechniquesfor combined hardware/software systems [C].Proceedings of Annual Reliability and Maintainability Symposium, 1992:290-293.

[3]GOEL A L,OKUMOTO K.A Markovian modelfor reliability and other performance measures ofsoftware systems[C].Proceedings of the National Computer Conference,1979:769-774.

[4]HECHT H,HECHT M.Software reliability in the system context[J].IEEE Transactionson Software Engineering,January, 1986, 12(1):51-58.

[5]IYER R K.Hardware-related software errors:measurement and analysis[J].IEEE Transactions on Software Engineering,February, 1985,11(2):223-230.

[6]PARZEN E.Stochastic processes[M].San Francisco, CA:Holden-Day,1962.

[7]PHAM H, Software reliability[M].New York: Springer,2000.

[8]WELKE S R,JOHNSON B W,AYLOR J H.Reliability modeling ofhardware/software systems[J].IEEE Transactions on Reliability, September, 1995, 44(3):413-418.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!