[摘要]计算系统软件抗衰技术是随着计算机技术的发展衍生出的一个新的研究方向,属于计算机应用研究领域。它涉及系统性能检测、故障诊断、软件工程及可靠性分析等方面,主要针对当前计算机运行过程中普遍出现的性能衰退现象,研究其原因、检测和评价方法、软件抗衰策略及实现技术。本论文主要探讨了当前软件抗衰技术中存在的几点问题。
[关键词]软件抗衰 软件工程 计算机软件
一、引言
软件的体系结构为软件系统的构造、行为和关键性质提供了一个高层的抽象,这种抽象包括对构成系统的元素的描述,对元素间交互的描述,对元素间组成模式的描述,以及对模式上的约束的描述。实现抗衰或自愈的软件系统展示了能在运行时自适应以应对资源变动,系统故障等情况的能力,这种能力恰好是建立在这种对于软件系统的高层抽象上的。
二、系统性能的监控和采集
系统性能的监控和性能数据的采集是实现系统抗衰的数据来源,是一个必不可少的环节,因此需要设计一个能适应于分布式计算环境,并且尽可能少的干扰所监控计算节点,可扩缩的性能监控工具。
目前软件系统正变的越来越复杂,庞大,能够反映出系统性能的参数有成千上百,为了能够实时的获悉软件系统所处的状态,需要高频率的采集性能参数数据,这对监控工具的性能数据采集、编码、传输、存储提出了更高的要求。此外,随着软件抗衰粒度的细化,仅有系统级的监控已经不能满足要求,因此需要监控工具能够实现进程级,甚至于线程级的性能监控,从而为细粒度的抗衰策略的研究提供数据支持。WWw.133229.Com
度量系统性能状况的资源耗费参数有很多,各种资源耗费参数对于整体性能的影响是各不相同的,因此还需要对所确定的资源参数的权重进行分析。要确定可以衡量一个计算系统的性能的系统资源参数已不是很容易的问题,要分析其权重给出一个计算系统的合理的评价标准便更加困难,目前尚未检索到有关这方面的研究报告,但是这方面的工作是非常必要的,它会影响到后期的策略制定。
三、系统性能衰退的检测和量化
软件系统运行时的状态像人的状态一样可粗略的划分为“健康”,“亚健康”和“不健康”等三大状态,状态划分的标准以及如何来量化是需要解决的问题。因为它是抗衰策略的制定和实施的重要依据;同时“不健康”状态有着一个比较庞大的范围,也需要进一步细化,需要细粒度的刻画衰退状态,划分衰退的范围,为细粒度的抗衰提供支持。目前这方面的研究主要是通过检测软件系统资源的占用和释放情况、服务的响应时间和响应率来验证软件衰退出现,但不能给出进一步更为细致的量化。
四、系统性能的预测
软件系统的实时性能状态能通过选择性能参数来刻画,通过性能衰退的检测和量化确定,但光有系统状态的历史数据和实时数据对于软件抗衰是不够的,这是因为软件系统未来的负载信息和性能状态对于抗衰决策的制定同样有着重要的影响,需要根据它们做出合理的抗衰决策,从而降低抗衰成本,同时提高可用性。目前这方面的研究工作主要集中是采用线性预测方式预测各种系统资源耗尽的时间估计,这种方式往往难于刻画真正的衰退趋势,误差较大,因此有必要开展这方面的研究工作,提出符合精确性更高的预测方式。
五、软件抗衰策略决策