One part of the Deskolo project is to estimate the electricity consumption by considering only activity indicators of a computer. The solution proposed by CEA-LIST consists in using some Machine Learning techniques which are able to construct a predictive model from a dataset of examples. This dataset is composed of real data coming from one computer which has been equipped with a wattmeter in order to have a real reference. Initially, all features that could be useful have been recorded : cpu and memory load, disk activity, mouse frequency, display information, and so on. The figure bellow shows an example of recorded data including watt value, cpu and memory load, or dpms state.
Up to 40 features have been considered to constitute the experimental dataset used for implementing the estimation functionality. Among all these features, some are more relevant than the other to build an estimator.
A first step of datamining has been applied in order to visualize all signals and draw some conclusions about the feasibility of such estimation. The main conclusion is that the relation between electricity consumption (here the watt value) and some features, namely cpu and memory load or user activity can be defined as a linear relation. The value of energy estimation can be written as : , with w(t) the watt value at time t, fi(t) the value of feature i at time t and βi the weighting coefficient of feature i.
One way to find automatically values of βi coefficients, is to use Machine Learning techniques, namely optimization algorithms. One algorithm is especially well adapted to tackle both feature selection and estimator computation : Least Absolute Shrinkage and Selection Operator (LASSO) (Tibshirani R., Regression Shrinkage and Selection via the Lasso, JRSS , vol. 58, pp. 267-288, 1996.).
This method proposes to solve this problem as a usual sum of squared errors minimization with a regularization parameter that intervene to set up the model complexity. Feature selection means that this algorithm is able to suppress all features that are not relevant. For example, the coefficient associated with the mouselog feature is equal to zero, so that the mouse information is not relevant for this estimation. One example of estimation function for a desktop configuration is given as follows :
watt = 139 + 4,5*cpu_user + 0,7 * load_runqsz.
One can compare the real value and the estimation on the figure below. The left plot shows the learning dataset, that is to say the period used to build the estimation function. The right subfigure plots the estimation result on testing data, that is to say a dataset of the same computer, but on a completely different period. The prediction fits perfectly the global trend and local variations. Event though some peaks are not predicted, the total estimation over a complete day has a very small error.
One major interest of such approach resides in the low complexity of computation. One can imagine to easily implement such model in order to estimate in real time the energy use of a computer with no heavy computing. The only drawback is that the estimator depends on the computer type, that is to say : a model learn on desktop can not be applied for laptop. That’s why a database is currently set up in order to make an exhaustive list of existing configurations.
Article contributed by Frédéric Suard from CEA-List.
Incoming search terms:
- power consumption modelling
- power consumption model
- realtime energy prediction
- desktop disk activity
- power vs time for different days
- power usage data
- trends power consumption day