As modern enterprise software systems become increasingly dynamic, workload forecasting techniques are gaining an importance as a foundation for online capacity planning and resource management. Time series analysis offers a broad spectrum of methods to calculate workload forecasts based on history monitoring data. Related work in the field of workload forecasting mostly concentrates on evaluating specific methods and their individual optimisation potential or on predicting QoS metrics directly. As a basis, we present a survey on established forecasting methods of the time series analysis concerning their benefits and drawbacks and group them according to their computational overheads. In this paper, we propose a novel self-adaptive approach that selects suitable forecasting methods for a given context based on a decision tree and direct feedback cycles together with a corresponding implementation. The user needs to provide only his general forecasting objectives. In several experiments and case studies based on real-world workload traces, we show that our implementation of the approach provides continuous and reliable forecast results at runtime. The results of this extensive evaluation show that the relative error of the individual forecast points is significantly reduced compared with statically applied forecasting methods, for example, in an exemplary scenario on average by 37%. In a case study, between 55 and 75% of the violations of a given service level objective can be prevented by applying proactive resource provisioning based on the forecast results of our implementation. N. R. HERBST ET AL.forecasting method executions on a machine with a Intel Core i7 CPU (2.7 GHz). The forecasting methods make use of only a single core as multi-threading is not yet fully supported by the existing implementations.
APPROACH FOR WORKLOAD CLASSIFICATION AND FORECASTINGIn this section, we present a self-adaptive WCF process that can be used for selecting suitable forecasting methods at run-time.Over time, a WIB may change and develop in a way that affects its characteristics, that is, the class of the WIB is not fixed and needs to be updated periodically. Therefore, our classification process must be self-adaptive. Therefore, it must consider changes of the WIB and of given forecasting objectives to adapt the assignment of appropriate forecasting methods to given WIBs.An overview of the WCF process is sketched in Figure 2. Input of the WCF process is a trace of a WIB, a set of forecasting objectives, and possible feedback about the accuracy of the previous forecast. Essentially, we distinguish two phases in this process, the CLASSIFICATION phase and the FORECASTING phase. In the CLASSIFICATION phase, we extract the characteristics of a given WIB trace. Based on the identified characteristics, we use a decision tree (cf. 3) to classify the WIB and to select suitable forecasting methods. The assignment of forecasting methods also defines the class of the WIB. Then, in the FORECASTING phase, we apply the assigned forecasting...