Improving software performance and reliability in a distributed and concurrent environment with an architecture-based self-adaptive framework

Improving software performance and reliability in a distributed and concurrent environment with an architecture-based self-adaptive framework
复制标题

DOI:
10.1016/j.jss.2016.06.102
复制
发表时间:
2016-11
期刊:
J. Syst. Softw.
影响因子:
--
通讯作者:
Chung-Horng Lung;Xu Zhang;Pragash Rajeswaran
Chung-Horng Lung;Xu Zhang;Pragash Rajeswaran
中科院分区:
其他
文献类型:
--
作者:
Chung-Horng Lung;Xu Zhang;Pragash Rajeswaran

文献摘要

被引文献

相似文献

分布式并行环境中的现代软件系统越来越变得高度复杂且难以管理。集成了监控、分析和驱动功能的自适应方法有潜力适应不断动态变化的环境。本文提出了一种架构级自适应框架,旨在提高性能和可靠性。为了实现这一目标,本文提出了一种自适应并发架构框架(SAFCA),除了监控和自适应功能外,它还包含多个记录良好的架构模式。借助此框架,使用架构替代方案的系统可以在运行时激活另一个替代方案,以应对不断增长的需求或从故障中恢复。制定了五种适应机制用于概念论证和评估;其中四项重点关注性能改进,一项涉及故障转移和可靠性增强。我们已经用这个框架进行了许多实验。实验结果表明,所提出的自适应框架可以减轻实践中常用的过度配置方法。因此,在大多数正常情况下,资源使用变得更加高效,同时系统仍然能够使用自适应机制有效地处理突发或不断增长的需求。 SAFCA 的性能也优于仅使用独立架构替代方案而没有适配方案的系统。此外,实验结果表明,在发生故障的情况下,通过进行架构切换来维持所需的服务,可以实现快速恢复。
More and more, modern software systems in a distributed and parallel environment are becoming highly complex and difficult to manage. A self-adaptive approach that integrates monitoring, analyzing, and actuation functionalities has the potential to accommodate an ever dynamically changing environment. This paper proposes an architecture-level self-adaptive framework with the aim of improving performance and reliability. To meet such a goal, this paper presents a Self-Adaptive Framework for Concurrency Architectures (SAFCA) that consists of multiple well-documented architectural patterns in addition to monitoring and adaptive capabilities. With this framework, a system using an architectural alternative can activate another alternative at runtime to cope with increasing demands or to recover from failure. Five adaptation mechanisms have been developed for concept demonstration and evaluation; four focus on performance improvement and one deals with failover and reliability enhancement. We have performed a number of experiments with this framework. The experimental results demonstrate that the proposed adaptive framework can mitigate the over-provisioning method commonly used in practice. As a result, resource usage becomes more efficient for most normal conditions, while the system is still able to effectively handle bursty or growing demands using an adaptive mechanism. The performance of SAFCA is also better than systems using only standalone architectural alternatives without an adaptation scheme. Moreover, the experimental results show that a fast recovery can be realized in the case of failure by conducting an architecture switchover to maintain the desired service.