Software rejuvenation is a recently proposed practive fault-tolerance approach to counteract software-aging phenomenon. Compared with clusters of a flat architecture, all the nodes share the same functions. The applic...Software rejuvenation is a recently proposed practive fault-tolerance approach to counteract software-aging phenomenon. Compared with clusters of a flat architecture, all the nodes share the same functions. The application of software rejuvenation on dispatcher-based web server farms is discussed, which employ rejuvenation both on the dispatcher and the worker pool. Stochastic reward net (SRN)models for time-based and prediction-based rejuvenation policies are constructed respectively and solved by stochastic Petri net package (SPNP). Numerical results show that appropriate rejuvenation strategies on the dispatcher and the worker pool could significantly reduce the expected downtime cost of the whole web server farm.展开更多
Operational software systems often experience an “aging” phenomenon, characterized by progressive performance degradation and a sudden hang/crash failure. Software rejuvenation is a proactive fault-tolerance strateg...Operational software systems often experience an “aging” phenomenon, characterized by progressive performance degradation and a sudden hang/crash failure. Software rejuvenation is a proactive fault-tolerance strategy aimed to prevent unexpected outages due to aging. A new rejuvenation strategy based on measurement and time, and constructs a SRN model to evaluate this strategy. Numerical results show that this strategy outweighs either the purely measurementbased or the purely time-based strategy and can effectively improve system performance.展开更多
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.展开更多
A new preventive software rejuvenation policy is proposed in this paper. This technique is implemented when additive consumption of physical memory has reached some level. Using the theory of cumulative damage process...A new preventive software rejuvenation policy is proposed in this paper. This technique is implemented when additive consumption of physical memory has reached some level. Using the theory of cumulative damage process, two models are given for two kinds of bugs. For the first model, aging-related bug is considered only and consumption of physical memory could be known by tests made at periodic times, optimal preventive rejuvenation policy is analytically derived and numerical example is given. As an extended preventive software rejuvenation policy, Heisenbug and aging-related bug are considered meanwhile in the second model.展开更多
In the past two decades, software aging has been studied by both academic and industry communities. Many scholars focused on analytical methods or time series to model software aging process. While machine learning ha...In the past two decades, software aging has been studied by both academic and industry communities. Many scholars focused on analytical methods or time series to model software aging process. While machine learning has been shown as a very promising technique in application to forecast software state: normal or aging. In this paper, we proposed a method which can give practice guide to forecast software aging using machine learning algorithm. Firstly, we collected data from a running commercial web server and preprocessed these data. Secondly, feature selection algorithm was applied to find a subset of model parameters set. Thirdly, time series model was used to predict values of selected parameters in advance. Fourthly, some machine learning algorithms were used to model software aging process and to predict software aging. Fifthly, we used sensitivity analysis to analyze how heavily outcomes changed following input variables change. In the last, we applied our method to an IIS web server. Through analysis of the experiment results, we find that our proposed method can predict software aging in the early stage of system development life cycle.展开更多
Aiming at the characteristic of the dependency between the application components and the application server platform, a rejuvenation strategy with two different levels of rejuvenation granularities is put forward in ...Aiming at the characteristic of the dependency between the application components and the application server platform, a rejuvenation strategy with two different levels of rejuvenation granularities is put forward in this paper including the application component reiuvenation and the application server system rejuvenation. The availability and maintenance cost functions are obtained by means of establishing the application server aging model and the boundary condition of the optimal rejuvenation time is analyzed. Theory analysis indicates that the two-level rejuvenation strategy is superior to the traditional single level one. Finally, evaluation experiments are carried out and numerical result shows that compared with the traditional rejuvenation policy, the rejuvenation strategy proposed in this paper can further increase availability of the application server and reduce maintenance cost.展开更多
Recent studies have shown that software is one of the main reasons for computer systems unavailability. A growing ac- cumulation of software errors with time causes a phenomenon called software aging. This phenomenon ...Recent studies have shown that software is one of the main reasons for computer systems unavailability. A growing ac- cumulation of software errors with time causes a phenomenon called software aging. This phenomenon can result in system per- formance degradation and eventually system hang/crash. To cope with software aging, software rejuvenation has been proposed. Software rejuvenation is a proactive technique which leads to re- moving the accumulated software errors by stopping the system, cleaning up its internal state, and resuming its normal operation. One of the main challenges of software rejuvenation is accurately predicting the time to crash due to aging factors such as me- mory leaks. In this paper, different machine learning techniques are compared to accurately predict the software time to crash un- der different aging scenarios. Finally, by comparing the accuracy of different techniques, it can be concluded that the multilayer per- ceptron neural network has the highest prediction accuracy among all techniques studied.展开更多
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.展开更多
文摘Software rejuvenation is a recently proposed practive fault-tolerance approach to counteract software-aging phenomenon. Compared with clusters of a flat architecture, all the nodes share the same functions. The application of software rejuvenation on dispatcher-based web server farms is discussed, which employ rejuvenation both on the dispatcher and the worker pool. Stochastic reward net (SRN)models for time-based and prediction-based rejuvenation policies are constructed respectively and solved by stochastic Petri net package (SPNP). Numerical results show that appropriate rejuvenation strategies on the dispatcher and the worker pool could significantly reduce the expected downtime cost of the whole web server farm.
文摘Operational software systems often experience an “aging” phenomenon, characterized by progressive performance degradation and a sudden hang/crash failure. Software rejuvenation is a proactive fault-tolerance strategy aimed to prevent unexpected outages due to aging. A new rejuvenation strategy based on measurement and time, and constructs a SRN model to evaluate this strategy. Numerical results show that this strategy outweighs either the purely measurementbased or the purely time-based strategy and can effectively improve system performance.
基金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.
基金This project is supported by National Natural Science Foundation of China (70471017, 70801036) Humanities and Social Science Research Foundation of China(05JA630027)
文摘A new preventive software rejuvenation policy is proposed in this paper. This technique is implemented when additive consumption of physical memory has reached some level. Using the theory of cumulative damage process, two models are given for two kinds of bugs. For the first model, aging-related bug is considered only and consumption of physical memory could be known by tests made at periodic times, optimal preventive rejuvenation policy is analytically derived and numerical example is given. As an extended preventive software rejuvenation policy, Heisenbug and aging-related bug are considered meanwhile in the second model.
基金supported by the grants from Natural Science Foundation of China(Project No.61375045)the joint astronomic fund of the national natural science foundation of China and Chinese Academic Sinica(Project No.U1531242)Beijing Natural Science Foundation(4142030)
文摘In the past two decades, software aging has been studied by both academic and industry communities. Many scholars focused on analytical methods or time series to model software aging process. While machine learning has been shown as a very promising technique in application to forecast software state: normal or aging. In this paper, we proposed a method which can give practice guide to forecast software aging using machine learning algorithm. Firstly, we collected data from a running commercial web server and preprocessed these data. Secondly, feature selection algorithm was applied to find a subset of model parameters set. Thirdly, time series model was used to predict values of selected parameters in advance. Fourthly, some machine learning algorithms were used to model software aging process and to predict software aging. Fifthly, we used sensitivity analysis to analyze how heavily outcomes changed following input variables change. In the last, we applied our method to an IIS web server. Through analysis of the experiment results, we find that our proposed method can predict software aging in the early stage of system development life cycle.
基金Supported by the National Natural Foundation ofChina (60473098) IBMChina Research Lab Joint Project
文摘Aiming at the characteristic of the dependency between the application components and the application server platform, a rejuvenation strategy with two different levels of rejuvenation granularities is put forward in this paper including the application component reiuvenation and the application server system rejuvenation. The availability and maintenance cost functions are obtained by means of establishing the application server aging model and the boundary condition of the optimal rejuvenation time is analyzed. Theory analysis indicates that the two-level rejuvenation strategy is superior to the traditional single level one. Finally, evaluation experiments are carried out and numerical result shows that compared with the traditional rejuvenation policy, the rejuvenation strategy proposed in this paper can further increase availability of the application server and reduce maintenance cost.
文摘Recent studies have shown that software is one of the main reasons for computer systems unavailability. A growing ac- cumulation of software errors with time causes a phenomenon called software aging. This phenomenon can result in system per- formance degradation and eventually system hang/crash. To cope with software aging, software rejuvenation has been proposed. Software rejuvenation is a proactive technique which leads to re- moving the accumulated software errors by stopping the system, cleaning up its internal state, and resuming its normal operation. One of the main challenges of software rejuvenation is accurately predicting the time to crash due to aging factors such as me- mory leaks. In this paper, different machine learning techniques are compared to accurately predict the software time to crash un- der different aging scenarios. Finally, by comparing the accuracy of different techniques, it can be concluded that the multilayer per- ceptron neural network has the highest prediction accuracy among all techniques studied.
基金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.