论文部分内容阅读
近年来,学术界对于鲁棒性的研究明显增加。鲁棒性作为复杂系统的一种值得注意的属性已经成为学者们所关注的一个热点议题。对于计算机系统来说,在不确定性和危机出现的情况下,鲁棒性是系统能否生存下去的关键。 许多计算机学者在研究计算机系统时也会关注系统的鲁棒性,但很少有从系统科学角度来研究的,也很少有专门将计算机系统的鲁棒性作为专门研究课题的。而大多数研究系统科学的学者对计算机系统鲁棒性的研究多是停留在理论论述方面,使用数学方法进行推导的比较少,也很少有人通过实际的实验来验证数学推导结论的正确性。也就是说,大多数系统科学学者对鲁棒性的研究停留在宏观的层面上;而研究计算机技术的学者对计算机系统鲁棒性研究多是停留在如何设计出高性能软件和如何提高操作系统安全性上,是一些微观层面的研究。本文对计算机系统鲁棒性的研究是采用鲁棒性理论与计算机技术相结合的方法,将研究放在中观的层面,采取了宏观研究和微观研究的精髓并将其结合与扩展。 计算机系统鲁棒性的研究可以包括两方面:①一台计算机的系统(狭义的计算机系统)鲁棒性;②分布式计算机系统(广义的计算机系统)的鲁棒性。由于分布式计算机系统的应用更加广泛并且比较有研究价值,所以本文主要研究分布式计算机系统的鲁棒性。 本文的理论研究部分主要是鲁棒性理论和图论方面公式推导。首先对本文的理论基础即鲁棒性理论进行了阐述,该部分的内容是我从国外的网站上筛选并翻译出来的。然后是量化方法的设计,创新性地提出了三类量化计算机系统鲁棒性的方法,即:①使用现有的鲁棒性分析工具;②计算机模型与模拟;③自主设计量化方法。本文的主体部分就是具体地研究和扩展其中的第三种方法。该方法即通过数学推导得到鲁棒性分析公式作为鲁棒性的分析算法,并通过系统监控的方式得到反映系统运行状况的数据,将数据处理后作为参数代入公式,即可得到计算机系统的鲁棒性值。数学推导部分是翻译并参考俄罗斯学者Melentev,V.A.和Gryaznov,N.G的论文《Analysis of Potential and StructuralRobustness of Distributed Computer Systems》,并对其进行了补充与扩展。研究计算机系统结构方面的知识,将计算机系统抽象成图的形式。研究图论的理论,运用图论的研究方法研究出计算机这个复杂系统中各元素之间的关系。运用数学推导的方法得出鲁棒性的定量表示,也就是得到能够计算出分布式计算机系统鲁棒性的值的公式。 对计算机系统的鲁棒性研究还要通过实验来研究、验证。将系统科学理论与计算机应用技术相结合来研究计算机系统的鲁棒性是本文的创新点之一。本文的实施方案的设计也是创新性的,并且是具体的、可执行的。该部分结合了中国人民大学经济科学实验室的NetIQ系统监控项目和EC-GAME(电子商务教学课件)项目。为了便于实现,采用了数学推导部分得到的两个简单并且容易得到其参数值的公式,即完全图结构的分布式计算机系统的结构鲁棒性公式:(R)El=N-2-L/N-2[1-4l(N2-l)/N2(N2-1)]和(R)Vl=(N-L)2(N-l-1)(N-N*-l)/N2(N-1)(N-N*)实验环境的搭建方案是:在实验室选择同一局域网内三台性能较差的计算机组成一个完全图结构的分布式系统,在计算机上安装经济科学实验室开发的系统EC-GAME。在搭建好的分布式系统上安装NetIQ平台以便进行系统监控。让多位同学共同访问该系统造成系统的负载增加,以便使系统运行中出现故障。在系统的运行过程中,使用NetIQ系统监控工具来监控系统中的每台计算机(节点)的运行情况和计算机之间通信(边)的情况,得到大量实际的监控数据,统计系统运行中的边故障和节点故障个数,代入公式,得到系统的鲁棒性值。此外,还设计了算例,得出实验不便于实现的各种不同情况下的鲁棒性值分别是多少,得到一个对鲁棒性值的直观认识。 这样就将经济科学实验室的实际技术项目和鲁棒性理论研究项目很好地结合在一起,也实现了鲁棒性研究方法的创新。 本文研究的重点在于如何评价计算机系统的鲁棒性,而不是研究如何提高计算机系统的鲁棒性。本文为研究如何提高计算机系统鲁棒性的人提供测试方案效果的方法,还可以应用于企业用来评价企业的信息系统的可靠性。 为了便于老师和同学们理解,本文添加了附录1简要介绍了NetIQAppManager系统监控工具及其使用方法,是对实验室受融海咨询公司委托编写的《AppManager用户手册》中的关键内容进行的摘要。同时,为了给老师同学们了解计算机系统鲁棒性的新方向——鲁棒自诊断系统,添加了附录2。附录2的内容是我翻译的俄罗斯学者Yu.K.Dimitriev的论文《On Models of RobustSelf-Diagnosable Computer Systems》。