Recently, the phenomenon of "software aging", one in which the state of a software system gradually de-grades with time and eventually leads to performance degradation or crash/hang failure, has been reporte...Recently, the phenomenon of "software aging", one in which the state of a software system gradually de-grades with time and eventually leads to performance degradation or crash/hang failure, has been reported. The agingphenomenon is ubiquitous in all kinds of software systems and hard to eliminate thoroughly. A proactive techniquecalled "software rejuvenation" has been proposed[13] to counter the aging problem and increase the software availabili-ty. In this paper, we systematically investigate the basic motivation, concept and development of software rejuvena-tion, and then, detailedly analyze the main research work on it. At last, a prospect about the future research direc-tions is outlined.展开更多
Demands on software reliability and availability have increased tremendously due to the nature of present day applications. We focus on the aspect of software for the high availability of application servers since the...Demands on software reliability and availability have increased tremendously due to the nature of present day applications. We focus on the aspect of software for the high availability of application servers since the unavailability of servers more often originates from software faults rather than hardware faults. The software rejuvenation technique has been widely used to avoid the occurrence of unplanned failures, mainly due to the phenomena of software aging or caused by transient failures. In this paper, first we present a new way of using the virtual machine based software rejuvenation named VMSR to offer high availability for application server systems. Second we model a single physical server which is used to host multiple virtual machines (VMs) with the VMSR framework using stochastic modeling and evaluate it through both numerical analysis and SHARPE (Symbolic Hierarchical Automated Reliability and Performance Evaluator) tool simulation. This VMSR model is very general and can capture application server characteristics, failure behavior, and performability measures. Our results demonstrate that VMSR approach is a practical way to ensure uninterrupted availability and to optimize performance for aging applications.展开更多
Software aging is a phenomenon observed in a software application executing continuous- ly for a long period of time, where the state of software degrades and leads to performance degrada- tion, hang/crash failures or...Software aging is a phenomenon observed in a software application executing continuous- ly for a long period of time, where the state of software degrades and leads to performance degrada- tion, hang/crash failures or both. A technique named rejuvenation was proposed to counteract this problem. Rejuvenation in period is not a good idea, because the speed of software aging is not constant, but variable. The key to find an optimal timing to resist aging problem is how to analyze/fore- cast the resource consumption of aging system. An ARIMA model is applied to forecast resource con- sumption due to software aging in a running web server. First, order and parameters of ARIMA model need to be identified. Second, it needs to be checked whether the model satisfies stationarity and reversibility. Finally, ARIMA model is used to predict resource consumption. The experiment results indicate that ARIMA model can do better than ANN model and SVM model in the forecasts of available memory and heap memory.展开更多
传统的基于趋势分析的老化检测方法可能存在较高的误报。虽然多版本检测方法将先前的健壮版本作为基准版本与待测软件版本进行差分分析,但基准版本是否存在软件老化问题被忽略。为了解决以上问题,提出了一种基于差分分析的负载相关方法...传统的基于趋势分析的老化检测方法可能存在较高的误报。虽然多版本检测方法将先前的健壮版本作为基准版本与待测软件版本进行差分分析,但基准版本是否存在软件老化问题被忽略。为了解决以上问题,提出了一种基于差分分析的负载相关方法来检测软件老化。该方法对待测软件施加不同强度的负载,通过监控不同负载下内存资源消耗(驻留集大小(resident set size,RSS))趋势的差异并分析其与负载差异之间的关系,帮助开发人员在软件开发过程中检测单个版本(无需先验知识)的软件老化。实验结果表明,本文的方法能够检测出由内存泄漏引发软件老化,并且能够应用到真实的商业软件Squid中。展开更多
研究了软件老化过程及软件预防性再生策略问题。引入累积损伤模型,将由aging related bug引起的内存的消耗看作是由于冲击造成的内存损伤量,通过周期性的检测可以得到内存被逐步消耗而不被释放的量,当内存消耗量达到预防性再生值时在下...研究了软件老化过程及软件预防性再生策略问题。引入累积损伤模型,将由aging related bug引起的内存的消耗看作是由于冲击造成的内存损伤量,通过周期性的检测可以得到内存被逐步消耗而不被释放的量,当内存消耗量达到预防性再生值时在下一个检测点执行软件预防性再生策略。建立了单位时间费用模型并解析得到使单位时间期望费用最低的预防性再生值,最后通过模拟进一步验证了最优再生策略的条件。展开更多
文摘Recently, the phenomenon of "software aging", one in which the state of a software system gradually de-grades with time and eventually leads to performance degradation or crash/hang failure, has been reported. The agingphenomenon is ubiquitous in all kinds of software systems and hard to eliminate thoroughly. A proactive techniquecalled "software rejuvenation" has been proposed[13] to counter the aging problem and increase the software availabili-ty. In this paper, we systematically investigate the basic motivation, concept and development of software rejuvena-tion, and then, detailedly analyze the main research work on it. At last, a prospect about the future research direc-tions is outlined.
基金supported by the Korea Research Foundation Grant funded by the Korean Government (MOEHRD) under Grant No. KRF2007-210-D00006
文摘Demands on software reliability and availability have increased tremendously due to the nature of present day applications. We focus on the aspect of software for the high availability of application servers since the unavailability of servers more often originates from software faults rather than hardware faults. The software rejuvenation technique has been widely used to avoid the occurrence of unplanned failures, mainly due to the phenomena of software aging or caused by transient failures. In this paper, first we present a new way of using the virtual machine based software rejuvenation named VMSR to offer high availability for application server systems. Second we model a single physical server which is used to host multiple virtual machines (VMs) with the VMSR framework using stochastic modeling and evaluate it through both numerical analysis and SHARPE (Symbolic Hierarchical Automated Reliability and Performance Evaluator) tool simulation. This VMSR model is very general and can capture application server characteristics, failure behavior, and performability measures. Our results demonstrate that VMSR approach is a practical way to ensure uninterrupted availability and to optimize performance for aging applications.
基金Supported by the National Natural Science Foundation of China(60911130513,60805004)
文摘Software aging is a phenomenon observed in a software application executing continuous- ly for a long period of time, where the state of software degrades and leads to performance degrada- tion, hang/crash failures or both. A technique named rejuvenation was proposed to counteract this problem. Rejuvenation in period is not a good idea, because the speed of software aging is not constant, but variable. The key to find an optimal timing to resist aging problem is how to analyze/fore- cast the resource consumption of aging system. An ARIMA model is applied to forecast resource con- sumption due to software aging in a running web server. First, order and parameters of ARIMA model need to be identified. Second, it needs to be checked whether the model satisfies stationarity and reversibility. Finally, ARIMA model is used to predict resource consumption. The experiment results indicate that ARIMA model can do better than ANN model and SVM model in the forecasts of available memory and heap memory.
文摘传统的基于趋势分析的老化检测方法可能存在较高的误报。虽然多版本检测方法将先前的健壮版本作为基准版本与待测软件版本进行差分分析,但基准版本是否存在软件老化问题被忽略。为了解决以上问题,提出了一种基于差分分析的负载相关方法来检测软件老化。该方法对待测软件施加不同强度的负载,通过监控不同负载下内存资源消耗(驻留集大小(resident set size,RSS))趋势的差异并分析其与负载差异之间的关系,帮助开发人员在软件开发过程中检测单个版本(无需先验知识)的软件老化。实验结果表明,本文的方法能够检测出由内存泄漏引发软件老化,并且能够应用到真实的商业软件Squid中。
文摘研究了软件老化过程及软件预防性再生策略问题。引入累积损伤模型,将由aging related bug引起的内存的消耗看作是由于冲击造成的内存损伤量,通过周期性的检测可以得到内存被逐步消耗而不被释放的量,当内存消耗量达到预防性再生值时在下一个检测点执行软件预防性再生策略。建立了单位时间费用模型并解析得到使单位时间期望费用最低的预防性再生值,最后通过模拟进一步验证了最优再生策略的条件。