大型动态体系结构中Scalability的改进和实用驱动自愈的奖励
Improving Scalability and Reward of Utility-Driven Self-Healing for Large Dynamic Architectures
摘要:
自适应可以通过多种方式实现。基于规则的方法规定了在系统或环境满足某些条件时要执行的适应。它们产生了可扩展的解决方案,但往往只是令人满意的适应决策。相比之下,效用驱动的方法通过使用通常代价高昂的优化来确定最佳决策,这种优化通常无法解决大问题。我们提出了一个基于规则和实用程序驱动的自适应方案,实现了两个方向的好处,使适应决策是最佳的,而计算规模,避免了昂贵的优化。我们使用这种适应计划的架构为基础的大型软件系统的自我修复。为了这个目的,我们定义了大型动态架构的基础上,这样的系统的模式,定义问题的自我修复必须解决的实用程序。此外,我们使用基于模式的适应规则来解决这些问题。使用基于模式的方案来定义效用和适应规则,使我们能够计算每个规则应用程序对整体效用的影响,并实现增量和高效的效用驱动的自我修复。除了正式分析所提出的计划的计算工作量和最优性,我们彻底证明了它的可扩展性和最优性方面的奖励在比较实验与静态的基于规则的方法作为基线和效用驱动的方法,使用约束求解器。这些实验是基于来自真实世界的故障日志不同的故障配置文件。我们还研究了不同的故障特征对可扩展性和奖励的影响,以评估不同方法的鲁棒性。
英文摘要:
Self-adaptation can be realized in various ways. Rule-based approaches prescribe the adaptation to be executed if the system or environment satisfies certain conditions. They result in scalable solutions but often with merely satisfying adaptation decisions. In contrast, utility-driven approaches determine optimal decisions by using an often costly optimization, which typically does not scale for large problems. We propose a rule-based and utility-driven adaptation scheme that achieves the benefits of both directions such that the adaptation decisions are optimal, whereas the computation scales by avoiding an expensive optimization. We use this adaptation scheme for architecture-based self-healing of large software systems. For this purpose, we define the utility for large dynamic architectures of such systems based on patterns that define issues the self-healing must address. Moreover, we use pattern-based adaptation rules to resolve these issues. Using a pattern-based scheme to define the utility and adaptation rules allows us to compute the impact of each rule application on the overall utility and to realize an incremental and efficient utility-driven self-healing. In addition to formally analyzing the computational effort and optimality of the proposed scheme, we thoroughly demonstrate its scalability and optimality in terms of reward in comparative experiments with a static rule-based approach as a baseline and a utility-driven approach using a constraint solver. These experiments are based on different failure profiles derived from real-world failure logs. We also investigate the impact of different failure profile characteristics on the scalability and reward to evaluate the robustness of the different approaches.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。