没有合适的资源?快使用搜索试试~ 我知道了~
自愈技术增加数字系统可靠性
理论计算机科学电子笔记116(2005)45-57www.elsevier.com/locate/entcs一种支持复杂异构系统Andrea Baldini,Alfredo Benso,Paolo Prinetto1,2,3Politecnico di Torino自动化和信息技术学院Corso Duca degli Abruzzi 24 I-10129,都灵,意大利摘要本文是一个研发项目的一部分,旨在定义和实现一个可靠的自主计算环境。该研究的主要目标是使用自愈技术增加数字系统的可靠性。移动代理实现复杂和异构系统的自测试策略。本文的目的是提出该项目的总体思路,描述了设计决策和当前架构的详细视图。该研究包括设计和开发一个工作原型。关键词:可靠性,自主计算,自我测试,系统级测试,移动代理。1介绍这项研究解决了增加复杂的异构系统的可靠性,使用自我修复技术的一般必要性。自我修复是来自自主计算愿景的概念,即,自我测试,自我诊断,- 目标系统的维修和管理。近年来,随着数字系统复杂性的增长,其操作变得脆弱和不可靠[1]。不仅计算系统1电子邮件:andrea. polito.it2 电子邮件:alfredo. polito.it3电子邮件:paolo. polito.it1571-0661 © 2004 Elsevier B. V.根据CC BY-NC-ND许可证开放访问。doi:10.1016/j.entcs.2004.02.08746A. Baldini等人理论计算机科学电子笔记116(2005)45复杂性似乎正在接近人类能力的极限,而且设计者也不太能够预测和设计组件之间的交互,从而将这些问题留在运行时处理。[二]《中国日报》另一方面,公司的目标是提高生产力,同时最大限度地减少用户的复杂性,自主计算渴望实现这一目标。[3]第一章自治系统的主要特征是自我管理,分为四个方面:[2]自我配置,即,根据高级策略的自动配置;自优化,即,系统的主动行为,其不断地寻求改善其性能并增加其效率的方法自动检测、诊断和修复局部软件和硬件问题;自我保护,即,根据传感器的早期报告预测问题。从处理系统的任务操作期间的可靠性问题的想法出发,我们的关键点是广泛使用移动代理,即,一种自主且可识别的计算机程序,可以在自己的控制下在网络中从一台主机移动到另一台主机,定期测试一组目标系统(自测试),并在故障诊断(自诊断)失败的情况下解决问题(自修复),然后发生严重故障(自修复)。在计算机科学领域,软件代理有许多不同的定义根据Wooldridge和Jennings [4]的观点,智能体是一个具有以下属性的软件模块:自治性,即,状态封装和独立决策;反应性,即,感知外部环境和应对变化的能力;主动性,即,目标导向型领导者;社会能力,即,通过具有独立于代理的语义的通信语言与其他代理进行交互。[五]《中国日报》移动代理是可以从一台机器迁移到另一台机器的程序移动代理是从现有的分布式计算范式发展而来的。[6][7]主要优点是:自治性,甚至比非移动代理更强;更好地支持移动主机;减少网络流量,因为代理可以简单地在现场工作;促进软件部署。他们可以四处漫游,收集关于环境,下载文件。非移动代理和移动代理存在于我们的环境中,所有这些都是在多代理自治系统的上下文中连贯地引入的,即,一种能够根据管理员给出的高级目标进行自我管理的计算系统在本文中,我们将特别关注软件实现的硬件自测试功能。A. Baldini等人理论计算机科学电子笔记116(2005)45471.1动机和优势基于我们在硬件和系统测试领域的经验,我们认为定期测试复杂的异构系统是正确的方向,以获得可靠性的显著提高使用基于移动代理的自主计算环境的主要优点基本上有三个:主动性,即,系统的连续自测试、诊断和修复程序总是最新的;基于策略的管理控制,即,管理员具有对环境的完全控制,其具有一般的可靠性策略,例如,测试频率环境试图在没有人为干预的情况下尊重策略,隐藏单个过程的细节。2相关研究和最新技术我们在硬件和系统测试领域有着悠久的经验。对应用软件实现的系统和组件测试的兴趣来自于自动测试设备(ATE)使用的进步,例如自动测试 模 式 生 成 ( ATPG ) , [8] 内 置 自 测 试 ( BIST ) [9] 和 自 修 复(BISR),[10]以及我们在系统测试设计过程中的经验。[第十一届]可靠性问题[12]是我们关注的中心,这是可以理解的;自从“自主计算”的概念IBM自主计算计划的许多基础元素另一个例子是马里兰大学的eBiquity:[14]该项目的目标是创建基于各种系统的自主,动态和自适应组件的合作的系统。这些系统包括移动/普及计算、多智能体系统、人工智能和电子服务。MCA(Machine Check Architecture,机器检查架构),Intel [15]是一种开放式架构,允许系统在从错误状态恢复时继续执行事务。我们还可以提到RTP4(弹性电信平台4)连续服务,[16]这是一个软件解决方案,它包含了许多自我配置,48A. Baldini等人理论计算机科学电子笔记116(2005)45机构代理存储库通信基础设施系统1系统2系统...系统...系统nFig. 1. 一般架构- 治疗,-优化和-保护能力,而不必考虑当前的系统配置。自主系统架构的另一个例子在Rainbow项目(Carnegie Mellon ABLE计划的一部分)中描述,这是一种通过架构模型、用户任务的显式表示和面向性能的运行时测量来支持自动化动态系统适应的新技术。[17个]最后一个引用是面向恢复的计算(ROC)项目,这是伯克利-斯坦福大学的一个联合研究项目,旨在研究构建高度可靠的互联网服务的新[1][18]3一般架构和设计决策该项目考虑了一个系统网络(以下称为目标系统),该网络与一个充当自测试能力提供者的系统一起组成,即,整个环境(见图1)。关键部件的定期测试由特定的移动代理提供。我们需要执行的测试是软件实现的硬件测试,例如在故障发生之前测试目标系统的RAM或硬盘。事实上,在完全失败之前,组件通常会显示出异常行为,测试可以揭示它,就像PC的初始引导内存测试一样。典型的测试涉及处理器使用移动代理实现自测试功能的想法意味着实例化负责特定测试操作和管理的移动代理的A. Baldini等人理论计算机科学电子笔记116(2005)45493.1政策和目标自主计算系统需要一种统一的方法来定义管理自主管理器决策的策略。政策规定了自主管理者用来实现明确目标或行动过程的标准。策略方法允许管理员提供一般的依赖性指令,而特定问题的解决和系统行为的管理则留给系统。我们的环境通过政策和目标来实现它。政策每个策略指的是单个组件,例如,视频RAM、总线控制器、特定软件或其中的一组。它表达了此类组件或组件组它指定对组件执行哪种它规定了测试的质量。它还规定了测试的频率,例如,每一天每一周此外,它还规定了在失败情况下应该做什么,例如,提示消息或开始诊断阶段。策略的一个例子是:目标目标是将策略转化为简单的行动,是代理之间通信的基础。每个Goal代表在特定目标系统上一次要执行的原子任务,因此环境可以更容易地计划多个任务,即为每个目标系统激活几个目标。 每个目标包括:• 系统标识:唯一的目标系统ID代码;• 组件标识:系统的每个组件或单个组件集的唯一ID号,例如,整个董事会;• 设备信息:收集策略中涉及的设备的硬件信息;硬件信息用于监控整个系统的硬件配置和计划测试;• 行动失败行为:系统允许管理员决定行动失败的后果;• 频率:试验频率要尊重;• 非活动时间:目标系统上可以触发事件的非活动时间,例如当系统空闲达50A. Baldini等人理论计算机科学电子笔记116(2005)45移动代理机构简单的目标目标系统结果复杂策略ManagerAgent本地管理员策略本地管理员目标生成器知识库测试代理目标解释器本地代理诊断Agent代理存储库策略系统信息管理器剂愈合剂全局管理员策略本地管理策略系统信息全局管理员超过n分钟;图二. 详细架构视图• 质量:对系统组件执行的测试的质量,例如,故障覆盖率;• 约束条件:目标激活时间、带宽占用、资源占用等约束条件。4详细架构自愈环境是基于一个共同的JAVA平台popu- lated自治代理。作为一个通用框架,我们选择了JADE(Java代理部署框架)[19],这是一个代理中间件,它实现了符合FIPA规范的代理基础设施[20]。整个环境构建在此基础上(参见图2)。该体系结构的主要组成部分是代理、目标系统和移动代理的集合,即管理器、测试、诊断和治疗代理。在此方案中,代理存储库包含在代理中,与图1不同。我们的代理分为静态代理和移动代理。前者设法检索有关连接到环境的系统的信息,以及管理员策略(分析),然后计划测试(计划);后者从一个系统移动到另一个系统并开始测试(测试),A. Baldini等人理论计算机科学电子笔记116(2005)4551检索结果,选择合适的修复(诊断),并管理整个测试和一般的修复过程(修复)。在本文中,我们将仅引用测试剂。移动代理通过目标进行通信。每个代理维护一个目标列表,并一个接一个地处理它们。当一个代理需要外部的服务时,它会以目标的形式向能够提供该服务的代理发送一个请求。虽然移动代理没有稳定的位置,但静态代理驻留在中央代理上。此外,每个目标系统上都有一个静态代理,即本地代理。4.1代理商描述原子能机构是环境的核心代理接收有关每个目标系统的它还创建(激活)新的移动代理并向它们发送简单的命令(目标)。因此,该机构由五个不同的模块组成(i) 政策和系统信息管理器:负责接收和拟订关于每个目标系统的信息以及负责政策管理的模块(ii) 目标生成器:一个模块,负责将策略中的信息和设置转换为要传递给移动管理器代理;(iii) 知识库是存储所有目标系统信息的数据库;(iv) 目标解释器:负责由移动管理代理的请求触发的移动代理的(v) 代理存储库,包含一组移动代理,可由代理激活以响应管理器代理请求。移动Agent是环境的移动执行者。• 管理代理是一个移动代理,负责管理和及时执行由代理生成的测试计划管理器代理负责一组目标系统,它从一个移动到另一个,以检查测试过程的状态,检索测试历史记录,并收集移动代理执行的任务的如果管理的目标系统太多,它可以自我克隆• 测试(或诊断或治疗)代理是具有特定CA的移动代理52A. Baldini等人理论计算机科学电子笔记116(2005)45环境所需的能力,并在必要时由机构激活。代理移动到目标系统,分析可用的资源,并可能执行其任务.它可以在移动或作用于特定目标系统时接收其他任务,可能是自我克隆。当它完成任务时,它就死了。本地代理负责与Java虚拟机和目标系统的操作系统的通信,还负责与管理器代理和移动代理的它维护有关在系统上执行的所有操作的更新信息;它维护可用资源的更新列表;它还负责管理本地策略。4.2沟通与简单行为我们已经描述了代理的角色,现在我们可以添加有关通信的信息来完成这幅图(参见图2)。为了理解通信的细节,描述一个基本场景是很有用的(参见图3)。每个本地代理在其系统打开或可用时向环境发出警报;然后检索有关系统和本地管理员策略的所有有用信息这些信息将转交给该机构(并更新)。代理代理将本地管理员策略与全局策略(策略管理器)相匹配,并与软件和硬件信息一起结果是要与移动管理器代理通信的目标列表。负责寻址系统的移动管理器代理移动到目标,并且如果是正确的时间(由策略/目标约束确定),则它开始动作,即,它发送向该机构提供目标列表,每个目标代表要执行的单个操作,尊重政策/目标约束。代理(目标解释器)选择能够执行特定动作的代理:如果代理存在于环境中,即,它已经被激活,则代理将动作(目标)分配给现有代理,否则代理利用来自代理存储库的信息创建新代理,并利用新动作(目标)激活它所涉及的移动代理迁移,移动到目标系统,如果资源可用,则执行其任务(目标);结果存储在目标系统(本地代理)中。值班经理代理负责结果的获取和分析。根据结果,它向机构发送新的任务(目标),例如,在特定测试失败后的诊断动作A. Baldini等人理论计算机科学电子笔记116(2005)4553本地代理:目标系统探索策略确定本地代理:策略传输策略管理器:策略存储目标生成器:政策制定目标生成器:目标传输Manager Agent:到达目标系统是时候启动一个目标了?【没有】[是的]经理座席:目标激活目标解释器:移动代理选择代理已经激活?【没[是目标解释器:移动代理激活目标解释器:将目标发送到现有的移动Agent移动Agent:迁移到目标系统和任务执行管理器代理:结果收集图三. 执行的主要流程(基本场景)并存储结果(知识库)。4.3有效载荷机制和测试整个环境基于使用软件实现的测试的想法,即,能够测试设备功能并检测不当行为的程序。此外,我们尝试实现可以在线运行的测试,即,与SUT(被测系统)的任务操作同时进行,或者至少没有或几乎没有用户意识,例如,利用空闲时间这个约束也对软件实现的测试有影响,54A. Baldini等人理论计算机科学电子笔记116(2005)45在测试过程中访问设备,即,我们应该仅在短时间内保留资源,并且保留设备状态,即,我们不能期望在释放和重新获取资源之后找到处于相同状态最后,一个硬件测试通常需要加载一个本机库,该库是针对目标系统的,通常用C或汇编代码编写,并针对特定平台进行编译。这些代码片段在我们的环境中被解释为额外的测试代理,这意味着这些代理包含本机库作为有效负载。考虑到这些问题,目标系统上的本地代理的主要目的之一是使本地测试成为可能。本地测试由测试代理中的目标触发一旦一个新的目标被它所属的测试代理处理,这个代理就会移动到所涉及的SUT(被测系统)。在这里,它找到本地代理及其服务。测试代理请求最少的资源,这取决于目标约束。我们已经说过,硬件测试通常需要加载一个本地库。在这种情况下,如果一个最新的,或者至少是兼容的,库已经在本地可用,它只是加载在本地操作系统上。如果它不可用或太旧,则本地代理将其作为特殊的有效负载测试代理请求给目标解释器。本地代理在本地存储库(有效负载),最后可以发送向测试代理发送一条消息,其中包含对测试的授权。 然后,测试代理执行测试,可能是在加载所需的本机库之后。本地代理提供所有必要的服务,用于库的管理,命名和版本控制,以及代理;此外,它通过特定的Java本地接口(JNI)提供对低级函数和系统调用的访问。5工作原型首先要选择的是目标系统的类别,使用PC的决定是迄今为止最可行的。目前,它们是具有一定复杂性的最常见的数字系统,并且可以通过网络轻松地连接到其他数字系统。为了完整起见,我们同时讨论了基于Windows的系统和Linux机器。代理在Windows 2000 Server或Windows XP Pro 上激活,本地代理在Linux Mandrake 9.2下运行在原型中还包括了额外的简化;特别是在初步版本中实现了知识库和代理存储库A. Baldini等人理论计算机科学电子笔记116(2005)4555组件类型组件型号类型的测试LibCPU移动AMD速龙XP-M 2000+功能ALU是的RAMDDR SDRAM 1 SODIMM 512MB部分行军试验是的现代LANSiS 56k Winmodem HAMR5600SiS 900 PCI快速以太网网卡在查询TCP损失是的表1测试用例最后,移动代理和本地库的发展正在进行中:我们有一组有限的工作代理。我们专注于特定组件的功能测试,例如,处理器、RAM、调制解调器、网络适配器。5.1实效我们已经在一个非常小的网络上安装了该环境,涉及一个中央系统(代理)和两个目标系统。该环境可以在基于Windows和Linux的机器上轻松安装和配置。从测试的角度来看,已经分析了四个不同的测试用例,对处理器的运算单元、存储器的一部分、内部调制解调器和网络适配器进行功能测试(见表1)。我们省略了在当地进行的具体测试的细节。最后一列表示为了执行测试而加载的本机库的存在。测试策略很简单,并且在两个目标系统上使用给定组件的周期性测试。所有模块都正确地管理通信,并且通过JADE提供的特定工具,我们已经展示了正确的代理移动性。展示实验是相当困难的,我们试图在下面的“sni sniper”屏幕截图上给出消息交换的想法在图中,中间件的GUI显示了两个窗格:左侧是当前活动代理的列表(MainContainer代表代理,Containers代表目标系统);右侧是特定时刻代理之间的消息交换示例。在消息序列的某个点处,管理器代理从主容器(代理的位置)移动到容器3(目标系统)。最后一个关于环境维度的说明,假设系统上已经安装了Java虚拟机:代理端,56A. Baldini等人理论计算机科学电子笔记116(2005)45见图4。 JADE Sni Sni Shuer截图大约1.4 MB;目标系统端,包括JADE核心,大约700 KB;移动代理,包括有效负载,从15 KB到30 KB不等6结论和今后的工作在一个旨在定义和实现可靠自主计算环境的研发项目的背景下,我们介绍了该项目的总体思路,描述了设计决策和当前架构的详细视图。这项工作在可行性和适用性方面已开始产生成果,但许多部分必须通过研究加以解决并充分实施。原型的局限性和在案例研究中的应用也受到了限制.我们需要做很多工作来完成案例研究,开发新的代理(测试,诊断和自我修复代理)并将环境应用于大量目标系统。引用[1] A. Fox,D. Patterson;[2] J.O. Kephart,D. M.Chess,2003年,第页。四十一至五十人[3] P. Horn,IBM公司,2001[4] M.北卡罗来纳州伍尔德里奇Jennings,“智能代理:理论与实践。知识工程评论,10(2):115-152,1995A. Baldini等人理论计算机科学电子笔记116(2005)4557[5] M.R. Genesereth,S.P. Ketchpel,“Software agents.”计算机协会通讯,第48-53页,1994年[6] A. Fuggetta,G. Vigna,“理解代码移动性”。IEEE软件工程学报,1998[7] C.G. Harrison,D. M.Chess,A.Kershenbaumn,IBM Research Report,1995年[8] F.科尔诺大学作者:Glaser,P. Sonza Reorda,H. Vierhaus,M. Violante;卷:18,期:2,1999年2月,第191-201[9] A. Benso,S.基乌萨诺湾Di Natale,M.Lobetti Bodoni,P.Prinetto;[10] A. Benso,S.基乌萨诺湾Di Natale,P. Prinetto;[11] A. Baldini,A. Benso,P. Prinetto;[12] Benso,S. Chiusano,P. Prinetto;“A Software Development Kit for Dependency Applications inEmbedded Systems”; ITC 2000:IEEE International Test Conference,Atlantic City(NJ),2000年10月,第170-178页[13] IBM iSeries服务器。iSeries V5R2和IBM的自主计算计划。 电子商务的自我管理IT基础设施技术,IBM,2002年[14] EBiquity,http://www.ebiquity.org,马里兰[15] ”IA - 32 Intel Architecture Software Developer’s Manual, Volume 3 - System ProgrammingGuide”, by Intel Corporation, Chapter 14,[16] 弹性电信平台。FSC白皮书,http://www.fujitsu-siemens.com/rl/products/software/rtp4.html[17] 彩虹项目,http://www-2.cs.cmu.edu/ able/rainbow/[18] ROC项目,http://roc.cs.berkeley.edu/[19] JADE框架,http://sharon.cselt.it/projects/jade/[20] 智能物理代理基金会,http://www.fipa.org/
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)