Combined Prediction Energy Model at Software Architecture Level

Accurate prediction of software energy consumption is of great significance for the sustainable development of the environment. In order to overcome the limitations of a single prediction method and further improve the prediction accuracy, a combined prediction energy model of adaboost algorithm and RBF (radial basis function) neural network at software architecture level is proposed. Firstly, three kinds of energy prediction models are established by polynomial regression, support vector machine and neural network respectively. Secondly, the RBF neural network is used to nonlinear combine the predicted values of the above three models. Finally, RBF integrated by adaboost algorithm is used as high-precision prediction of energy consumption. Experimental results show that the prediction accuracy of the combined prediction model is higher than that of the single model.


I. INTRODUCTION
ICT (information and communication technology) industry is an important driving force for social development and world economic growth in the 21st century. Its energy consumption accounts for 10% of the total global power consumption [1]; its total carbon emissions reach 2% ∼ 2.5% of the total global carbon emissions, which is more obvious in developed countries, reaching 10% [2]. According to a research report from the European Union, if the temperature rise is to be controlled below 2 • C in 2020, the carbon emission must be reduced by 15%-30% [3]. With the continuous investment in ICT industry in the world, its scale will continue to grow, and its energy consumption will also continue to grow. In order to promote the sustainable development of ICT industry, green computing [4], [5] has become the consensus of global researchers. To implement green computing, the first task is to measure energy consumption.
To measure the energy consumption, it is necessary to understand the execution process of the software running in The associate editor coordinating the review of this manuscript and approving it for publication was Kathiravan Srinivasan . the computer. In order to execute the software in computer system, the corresponding instructions (data processing and transmission instructions, program control instructions, input and output instructions, etc.) will be converted first, while the underlying hardware will change the state of different circuits to achieve the corresponding functions, and then generate different energy consumption. Based on this, from the perspective of software, the main function of software is to complete its corresponding functions, and in this process, it will generate additional ''by-products'' called energy consumption. From the perspective of energy consumption, the energy consumption is generated by hardware, and the amount is determined by software. In order to better understand, manage and control the energy of computer system, the producers, researchers and designers have carried out researches from many aspects. For example, at the bottom of the hardware, saving energy are conducted by improving the manufacturing process, optimizing the circuit structure. At instruction level, the instructions optimized by compiler, instruction conversion and rearrangement, and loop structure optimization [9]- [13] are used for energy management; in the source code layer, code expression change, VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ data representation and program structure rearrangement are optimized, and redundant calculation is eliminated, and data storage space are compressed [14]- [20]; at process level, the process level energy management [21]- [23] are used; at architecture layer, macro-modeling, system structure selection, transformation and simplification [24]- [26] are used. To manage and optimize the power consumption of software, the measurement and estimation of power consumption is the first work. At present, this work is mainly carried out at several levels. At the hardware level, the power consumption is measured by power meter and power sensor [6]- [8]; at the instruction level, the energy consumption is mainly obtained by statistical method, that is, the energy of software is obtained by accumulating the energy of each instruction or each kind of instructions, instruction pairs, pipeline or cache and other hardware structures during the execution [9]- [13]; at the source code level, the energy consumption of single line code is mainly obtained by linear regression, and then the energy consumption of software is obtained by accumulating the energy of each single line code [14]- [20]; at the process level, the relationship between the resource utilization rate and energy of the process is established, and then, it accumulates time to obtain energy consumption of process [21]- [23]; at the architecture level, the relationship between software high-level features and energy consumption is explored to predict software energy consumption [24]- [26]. Generally, software can be considered as a complex system, and then its architecture can be represented by complex network to study different characteristics of software [28]- [30]. Li et al. [27] have studied the power consumption model at architecture level from this point of view. Inspired by the above researches and related theories of power model, this article studies the accuracy of power model of complex network representation at software architecture level.
Although there has power model at architecture level, the prediction accuracy is still not ideal. Therefore it is necessary to do further research on improving the prediction accuracy. Therefore, this article proposes a combined prediction method based on adaboost idea and RBF (radial basis function) neural network. First of all, three single prediction models are optimized, including polynomial regression prediction model, SVR (support vector regression) prediction model and BP (back propagation neural network); then, RBF is used to optimize the prediction values of three single prediction models. Finally, according to the prediction results of each single prediction model and adaboost RBF algorithm, the weight coefficient of three single predictors is updated through multiple iterations; after getting the best weight coefficient, the output values of the three single predictors are fused by RBF and the best weight coefficient to get the high-precision prediction values at the architecture level. The experimental results show that the Root Mean Square Error of adaboost RBF power consumption model is 0.9362, which shows that our model is reasonable and effective. Thus our contributions in this article are: (1) This article presents an architecture level software power model of adaboost RBF, which can estimate the software power consumption with small error and meet the requirements of high-level software power consumption modeling.
(2) We verify the adaboost RBF power model on the actual computer platform, and the results show that the model is reasonable and effective.
(3) Experiments show that software power consumption can be analyzed from a high level, which is of great significance to the architecture design of low-power software.

II. RELATED WORK
Researchers and scientists have proposed many software power models to achieve the energy. These methods are working at different levels, therefore, they can be divided into different categories as shown in table 1. The following is the brief introduction of these approaches.

A. DEVICE-BASED LEVEL
In this level, power are usually got by power meters [6], special designed power devices [7] and hardware with integrated power sensors [8]. The direct way to get power is using power meters, which uses the relationship between power consumption and voltage and current in Physics. This way is simple and it can give researchers the intuitive understanding the power dissipation of devices or the full system, but it is not convenient to control the process of measurement or difficulty to place the meter in space-limited device. Therefore, the integrated power sensor is invented to get the power more convenient and can be integrated into the device to monitor the power consumed and obtain power consumption data without additional power meter. Although we can get power information accurately by hardware, this method requires additional power meter and special operation knowledge to ordinary users.

B. INSTRUCTION LEVEL
The essence of software execution is instruction execution. Based on this simple idea, Tiwari et al. [9] has proposed the instruction-level model to get the power and gives the concept of software power consumption firstly. He points that total power consumption Ep of the program p has three parts, which is the base power cost of instruction, power consumption caused by circuit state switch between instructions, and the power consumption caused by other effects between instructions. Therefore, the theoretical basis of this power model can be expressed as equation (1).  instruction n and the number of occurrences in the program; E q is the power consumption in other case between instructions, such as pipeline stalls, Cache miss, etc., which are determined by corresponding hardware circuit. Especially, N m and N m,n are determined by program execution path and can be obtained by dynamic analysis of the program. Equation (1) points out the energy composition of instruction level and defines the direction of instruction level energy consumption modeling. It is applied to two types of processors (intel 486dx2 and Fujitsu sparse 934). Based on equation (1), Bazzaz et al. [10], Tan et al. [11], Lee and Ro [12] and Ashouri et al. [13] have proposed fine-grained approach for power consumption analysis and prediction, and also put forward new methods for low power applications.

C. SOURCE CODE LEVEL
Previous studies at source code level overlook cache storage analysis and overheads due to concurrent program execution at runtime. From this view, Ahmad [14] has put forward an enhanced static-code-analysis-based lightweight energy estimation framework that has considered overheads associated with the application runtime execution environment, cache storage analysis, and the application inactivity period for energy estimation of applications. Ralph et al. [15] has showed that reducing the energy consumption of software systems though optimizations techniques such as codechange can efficiently improve the energy efficiency of software systems. Then, they propose joint code modifications which can produce a greater effect compared with that of accumulating modification operators with hard constraint and approximation. Shan et al. [16] has studied the offloading decision problem by code receiving and executing energy cost to determine each tasks whether to offload task data or load task code blocks. Banerjee et al. [17] has developed a framework that uses a combination of static and dynamic code analysis techniques to detect, validate and repair energy bugs in Android apps, which generates repair expressions to fix the validated energy bugs. Based on the trace of energy usage and the timestamps of programs execution events, Wei et al. [18] has presented a lightweight function-level profiling tool for measuring the energy consumption of program code called FPowerTool which measures energy by sampling the value of hardware counters built in the CPU and the sampled value is associated to the corresponding code segments by offline analysis. Li et al. [19] has analyzed the resources occupied by CUDA source program. Then, machine learning is used to correlate resources and energy consumption, and a source code level energy prediction model is proposed. Mukhanov et al. [20] has presented a novel fine-grained energy profiling tool based on probabilistic analysis for finegrained energy accounting, which associates energy information effectively with source code at a fine-grained level.

D. PROCESS LEVEL
The energy estimation method at process level is mainly associates the process ID and the resource utilization rate with the energy, and obtains the energy of process through the cumulative time. Based on this idea, a process level power analysis tool, Energy guard, is proposed to obtain the running information, resources and utilization ratio of each process through the daemons running in the kernel space, and then provide the real-time information of the power consumed by each process [21], which is used to eliminate the energy consumed by the application's abnormal behavior. Colmant et al. [22] has focused on the energy estimation of VMbased systems and has proposed a fine-grained monitoring middleware called BitWatts. It provides real-time and power estimation of software processes running at any level of virtualization in the system, which can automatically learn an application-agnostic power model to estimate the power consumption of applications. The experiments demonstrates that BitWatts performs well both in number of monitored processes and virtualization levels. Lu and Yao [23] has presented a thread-voting dynamic voltage and frequency scaling (DVFS) technique for many core networks-on-chip to save energy which uses runtime performance indicatives from either network-level or thread-level to guide DVFS decisions. It allows each thread to ''vote'' for a V/F level in its own performance interest, and a region-based V/F controller make dynamic per-region V/F decision according to the major vote.

E. ARCHITECTURE LEVEL
Wu et al. [24] has proposed a generally applicable energy estimation methodology for accelerators that allows design specifications comprised of user-defined high-level compound components and user-defined low-level primitive components, which can be characterized by third-party energy estimation plug-ins. Jagroep et al. [25] has proposed an energy perspective on software architecture as a means to provide insight and enable analysis on the architectural elements that are the actual drivers behind the energy consumption. After getting potential quality attribute, they provides a means to quantify energy consumption aspects related to software. Horcas et al. [26] has pointed that different configurations of quality attributes in software architecture influenced energy efficiency. They represented the variability of quality attributes, as well as the energy efficiency and performance experiment results as a constraint satisfaction VOLUME 8, 2020 problem to help software developers to build more energy efficient software. Li et al. [27] has explored architecture level software power consumption model through complex network, extracts software architecture level parameters and obtains software power consumption through a prediction model. Although the single prediction model can get the prediction results, its accuracy is still not ideal. Therefore, based on [27], this article improves the energy consumption prediction effect at the architecture level through the combination prediction model of Adaboost RBF method.

III. EXISTING POWER MODEL
The current research on predicting model can be divided into single predicting model and combined predicting model. They are described as follows.

A. SINGLE PREDICTING MODEL
The predicting method of energy described in related works section is mainly dependent on the single prediction method, and the specific description of this model is as follows.

1) POLYNOMIAL REGRESSION
The polynomial regression method is based on the premise that the data meet a certain fixed rule. It analyzes the historical data and finds the mathematical model to predict the data trend. Polynomial regression method is a commonly used model in prediction, which can be expressed as equation (2).
2) SUPPORT VECTOR MACHINE METHOD Support vector machine (SVM) [31] is to realize the transformation between linear and nonlinear problems through spatial variable dimension mapping, and to solve the optimal hyperplane in high-dimensional feature space. SVR is the application of SVM in dealing with regression problems. For x is the independent variable vector of the training sample set, ω is the optimal weight vector, b is the optimal bias, so that the difference between its output and the preset output y i is less than or equal to ε, and the curve of function f (x) is as stable as possible, that is to solve the following optimization problems in equation (4).
In equation (4), the constant C is the adjustment factor of the equilibrium f (x) stationarity and the elastic range ε of the error condition; f (x i ) is the optimal function value corresponding to the ith training sample set; ξ i and ξ * i are the relaxation variables introduced to relax the error condition.

3) NEURAL NETWORK METHOD
BP neural network [32] is an artificial neural network model trained by error back propagation algorithm. BP neural network is composed of many neurons, which can express any complex nonlinear function. The training process of BP neural network includes the forward transmission of signal and the reverse transmission of error. When the signal is transmitted forward, the signal enters from the input layer and passes to the output layer after the nonlinear operation of multiple hidden layers. When the error is returned in the reverse direction, the network adjusts the network weight and threshold according to the deviation between the output value and the expected output value, so that the output tends to the expected value in the near future.

B. COMBINED ENERGY MOEDL
For the accuracy of single prediction method, the combined predicting methods have been studied gradually which are entropy weight combined prediction model and optimization algorithm-based combined model.

1) ENTROPY WEIGHT COMBINED PREDICTION MODEL
Entropy weight method is one of the representative combined prediction methods. Information entropy is a description of the degree of system irregularity. The idea is to determine the combination coefficient of each single model in the combined prediction model according to the degree of error variation of the single model prediction.
Take the absolute value of the error between the predicted value of a single prediction model at the current b sampling points and the actual energy consumption as the row vector, then the evaluation matrix E = (e ij ) a×b is obtained, where e ij represents the prediction error at j time of the ith prediction model. Then the evaluation matrix E is normalized by row to get the normalized matrix P = (P ij ) a×b , and the information entropy of the i prediction model can be calculated by equation (5).
The larger the information entropy of a single prediction model is, the less useful information it contributes to the combined prediction model, then its weight coefficient in the final model should be small, otherwise the larger the weight coefficient. Therefore, the weight of the single model in the final combined prediction model can be calculated by equation (6).
2) OPTIMIZATION ALGORITHM-BASED COMBINED PREDICTION MODEL Tian [33] has proposed a short-term traffic flow prediction approach based on combination model fusion. After getting the prediction results of improved extreme learning machine, seasonal auto regressive integrated moving average and auto regressive moving average, the fruit fly optimization algorithm is proposed to optimize the weight coefficient of the combination model. The fitness value of fruit fly optimization algorithm is chosen as the root square mean error (RMSE) between actual and prediction value which can be expressed as equation (7).
whereŷ(t) is the predictive value of each prediction model, ω i is the weight coefficient of each prediction model, k is the number of improved extreme learning machine (ELM) models, n is the number of seasonal autoregressive integrated moving average (SARIMA) models, the length of traffic flow time series is N . References [34]- [39] also use combined prediction method with optimization algorithm to get high-precision results. The difference is that they use different fitness function and different optimization algorithm, such as particle swarm optimization, genetic algorithm, artificial bee colony algorithm, firefly algorithm.

IV. PROPOSED COMBINED POWER MODEL
Our proposed energy prediction model is to build a strong predictor based on the three single predictors. Its specific structure is shown in figure 1. The left side of figure 1 is the three single predictors and the right side is the structure of RBF. The output of three single predictors are the input of the RBF, the output of RBF is the output of the combined power model. The combined power model is to get suitable weight of input of RBF.
RBF adopts multi-dimensional space interpolation technology, which is simple in structure, simple in training and fast in learning convergence. It can approach any nonlinear function, and is widely used in pattern recognition, nonlinear control and other fields. It is usually composed of input layer, hidden layer and output layer. The basic idea is that RBF, as the ''base'' of the hidden element, constitutes the hidden layer space, so the input vector can be directly mapped to the hidden layer space without weight connection. The hidden layer transforms the input vector, and transforms the input data of low-dimensional mode into high-dimensional space, so that the problem of linear non-separability in low-dimensional space can be linearly separable in highdimensional space. The output of the network is the linear weighted sum of the output of the hidden element. The mapping of network from input to output is nonlinear, while the output of network is linear for adjustable parameters. The weight of the network can be directly solved by the linear equations, thus speeding up the learning speed and avoiding the local minimum problem.
If the input dimension of RBF is n i , the output dimension is n o , and the number of samples in the training sample set is m, then there are n i neurons in the input layer of RBF, that is, the number of neurons in the input layer is consistent with that of the input sample dimension; the number of neurons in the hidden layer is determined by the expected training objectives; there are n o neurons in the output layer. Therefore, the structure of RBF can be determined according to training samples and training objectives.
The combined estimation method of adaboost RBF is mainly divided into three steps. First, select several single power prediction models; second, use RBF to acquire and optimize its nonlinear parameters with the best performance; thirdly, use the best parameters of RBF to get the result of training samples. Fourthly, the adaboost algorithm [40] is used to adjust the weight distribution of training samples in RBF several times. Finally, three single predictors are fused into a strengthened combination predictor by getting best weight distribution of RBF to obtain high-precision prediction value. The specific steps are as follows.
Step 1: normalize the feature of architecture level {x p } to get the normalized series {x p }.
Where: Q m is the weight distribution of T 1 in the mth RBF training; w 1i is the weight of the ith training sample, which can be expressed as w 1i = 1 n 1 .
Step 5: training network method is as follows.
(1) The RBF is trained by the training sample set T 1 with weight distribution Q m , and the single predictor R m (ŷ 11 ,ŷ 21 ,ŷ 31 ) is obtained; (2) The maximum error of R m on training sample set T 1 is calculated as follows:  (8) to obtain a training sample set with weight distribution Q m+1 , which is used for the next training.
where: w m+1,i is the weight of the ith training sample in the m + 1 training; Z m is the normalization operator, which ensures that the weight ratio of the samples is consistent and the sum of the weights is 1. Step 6: combine the M single predictors into the enhanced predictor, and use the model to predict the test sample set T 2 . The enhanced predictor can be expressed as f (ŷ 1 ,ŷ 2 , In conclusion, the flow chart of Adaboost RBF combination prediction method is shown in figure 2.

A. EXPERIMENTAL PLATFORM
In order to verify the proposed software power model, the accuracy of the model is tested by a test set composed of open source games, media players and general software. The test programs include Italc, UniversalMediaServer, Jabref, Docfetcher, YOYOPlayer, TripleA, jbubblebraker, JIExplorer, Universal password manager, Ftpserver, Free-Cell and Jajuk. For the convenience of description, we use the abbreviations Ita, UMS, Jab, Dof, YOP, TrA, jbb, JIE, Upm, Fts, FRC and Jaj instead of the above test procedures respectively. The five features of the test set are shown in table 2. In the experimental environment, the configuration of the hardware and software platform is shown in table 3; the measurement of the instantaneous power consumption and cumulative power consumption of the software adopts the Hoiki3334 multi-function power measurement. Since the sample size is relatively small, we use the LOOCV (Leave-One-Out-Cross-Validation) method to evaluate the prediction performance of the model.

B. EVALUATION INDEX
In this article, the e RMSE (root mean square error), the e MAPE (mean absolute percentage error), e RRMSE (relative root mean square error), e MAE (mean absolute error), e SSE (square sum error) and the R 2 (R square) are selected as the evaluation indexes of the prediction model, and these indexes can be calculated by equation (9).
where: n is the number of estimation; y t is the actual energy consumption value of the tth program;ŷ t is the predicted energy consumption value of the tth program.

C. ACQUISITION OF PROGRAM FEATURES
Li et al. [27] has showed the characteristics at the architecture level and detailed the calculation process. Therefore, these characteristics are used in this article, namely, number of nodes, number of direct edges, average path length, clustering coefficient, average degree. Their specific calculation methods are listed in table 4. In table 4, V i is node i and its initial value is 1. WMC i is the WMC (Weighted Methods per Class) value of class i. e ij is edges between node i and node j. W ij is the total number of methods in node i dependent on node j. N is the number of nodes in the network. d ij is the short path between two nodes V i and V j .E i is the existing links connecting to other nodes of node i, and k i * (k i − 1) is the maximum possible number of such links of node i. C i is clustering coefficient of node i. C is the clustering coefficient of the whole network. More details about these characteristics can be found in [27].

D. ESTIMATION RESULTS AND COMPARATIVE ANALYSIS 1) ESTABLISH POLYNOMIAL REGRESSION MODEL
The original energy consumption data is normalized, and then the regression coefficient is solved by the least square method. The regression coefficient (−0.0011, 0.0006, 0.0069, −4.0814, 2.3046) with the larger square of the correlation coefficient is taken as the final fitting model. VOLUME 8, 2020  Finally, the data are de-normalized to get the final energy consumption data.

2) ESTABLISH SVR MODEL
We use support vector regression method with precomputed kernel function, and the penalty factor c and width function g are cross calculated twice by grid search method. The optimal parameter pair is c = 1.6782, g = 1.8769.

3) ESTABLISH BP MODEL
Because the single hidden layer BP neural network has a good fitting effect, the single hidden layer BP neural network structure is adopted. The network structure is set as 5-6-1, the feature of program is taken as the input of network, and the corresponding energy consumption value is taken as the output of network. The prediction error and training time of the network are weighed through repeated experiments. The excitation functions of hidden layer and output layer are tansig function and purelin function respectively. The maximum number of network training is 200, the training target is 0.00004, and the learning rate is 0.02.

4) ENTROPY WEIGHT COMBINATION PREDICTION METHOD
After getting the results of three single prediction model, we calculate the absolute value of error, and generate evaluation matrix. We use equation (5) to obtain the entropy information of the each prediction model, after that the weight of each single prediction model can be calculated by equation (6). In this model, a is 3, b is 11.

5) PSO COMBINATION MODEL
For PSO algorithm, the most important thing is to establish the fitness function. Our fitness function also minimizes the error between actual and prediction value which can be expressed by RMSE shown by equation (10). After that, we should also set the parameter of c1, c2, max generations times (maxgen), size of population (sizepop), and velocity range (velran) and value range of population (popvalran). The optimal parameter pair is c1 = 1.3467, c2 = 1.4678, maxgen = 50, sizepop = 100, velran is between 0 and 1, and popvalran is between 0 and 1.

6) COMPARATION WITH THE SINGLE PREDICTION MODEL
The evaluation indexes of error for the above three prediction models are using equation (9) and the compared results with that of adboost RBF under the test set samples are shown in table 5. For better evaluating the effects, we divided test program into five groups which are used the LOOCV method. It can be seen from table 5 that the prediction errors of each single prediction model are large compared with that of the adaboost RBF. In group 1, group 4 and group 5, the value of evaluation index of BP are the better than that of polynomial regression and SVR and the effect of adaboost RBF are best among that of BP, polynomial regression and SVR. In group 2 and group 3, the value of evaluation index of SVR are the better than that of polynomial regression and BP and the effect of adaboost RBF are better than that of BP, polynomial regression and SVR. From the average of the five groups of experimental data, we can see that adaboost RBF has the best effect, followed by BP, SVR, and finally polynomial regression. Figure 3 shows the comparison among the predicted value of adaboost RBF, actual energy  respectively, which shows that the method proposed in this article can effectively combine several prediction methods and significantly improve the prediction accuracy. Table 6 shows the effect among combined prediction model. In group 1, group 2, group 3 and group 4, the e RMSE , e MAPE , e RRMSE , e MAE , and e SSE of the adaboost RBF model are significantly smaller than those of other combined prediction models (entropy weight combination model and PSO) and the R 2 of adaboost RBF has the bigger value than that of two combined prediction models. This shows adaboost RBF has the better accuracy. In group 5, the e MAPE , e RRMSE and e MAE of adaboost RBF are smaller than that of other combined prediction model and the e SSE and e RMSE are bigger that of adaboost RBF. The R 2 of adaboost RBF has the smaller value than that of two combined prediction models.  This shows that adaboost RBF behaves worse than that of two combined prediction model in this group. On average, the e RMSE , e MAPE , e RRMSE , e MAE , and e SSE of the adaboost RBF model are significantly smaller than those of other combined prediction models and the R 2 of adaboost RBF has the bigger value than that of two combined prediction models. This shows that adaboost RBF has the higher accuracy in most cases. Figure 4 shows the comparison among the predicted value of adaboost RBF, actual energy value, and the predicted value of entropy weight combination model and the predicted value of PSO combined model. From the figure, we can see the predicted value of adaboost RBF model proposed in this article are closer to the actual energy value than those of each combined prediction model. It can be seen from figure 4 and table 6 that the R 2 of adaboost RBF are bigger than that of two combined model which shows that adaboost RBF has the highest fitting degree with the actual curve. Compared with entropy weight combined model and PSO combined model, adaboost RBF improves the accuracy of e RMSE by 16.53% and 20.36% on average respectively, e MAPE by 9.68% and 30.91% on average respectively, e RRMSE by 19.10% and 37.78% on average respectively, e MAE by 9.71% and 19.85% on average respectively, e SSE by 28.63% and 34.67% on average respectively, which shows that the method proposed in this article can effectively combine several prediction methods and significantly improve the prediction accuracy. Through the analysis of the experimental data, we can draw the following conclusions: (1) the architecture level software power consumption model based on complex network is effective. Through the comparison of test sets, the average value of e RMSE , e MAPE , e RRMSE , e MAE , and e SSE of our model are significantly reduced, which proves the effectiveness of our proposed method. (2) As an approach tool, adaboost RBF combined estimation method can solve this problem well and effectively reflect the nonlinear relationship. (3) It is verified that there is a certain correlation between software features and software power consumption, and the impact of each feature on software power consumption is different again.

VI. CONCLUSION
Energy consumption prediction is a very important problem. The current single prediction method cannot ensure the best prediction results in all task objects. In order to make full use of the regular pattern between features, integrate the advantages of each single prediction model, and further improve the accuracy of energy consumption prediction, this article proposes a combined energy prediction method named adaboost RBF. By using RBF to combine several single prediction models for nonlinear optimization to build prediction model, the advantages of each method are complementary, and the robustness effect of prediction model is significantly improved. Combined with adaboost algorithm to train RBF, the combination form of each single prediction model can be adjusted adaptively according to the characteristics of the analysis object, which greatly improves the prediction accuracy and scope of application. Through the verification of the measured data, the adaboost RBF will provide important clues for the research of energy consumption prediction, energy saving scheduling and resource allocation. In addition, the model can also be used as a general prediction model, which has broad application prospects in the fields of stock index prediction, traffic flow prediction, network flow prediction and logistics index prediction.