Modelling the Power Cost of Application Software Running on Servers
MetadataShow full item record
One of the most important aspects of managing data centres is controlling the power consumption of applications running on servers. Developers, in particular, should evaluate each of their applications from a power consumption point of view. One can conduct an evaluation by creating models that predict power usage while running applications on servers. For this purpose, this study creates a non-exclusive test bench that can collect data on subsystem utilization by using a performance counter tool. Based on the selected subsystem performance, various models have been created to estimate the power consumption of applications running on servers. The author's models are created based on collecting the performance on four subsystems (i.e. the CPU, Memory, Disk and Interface) by Collectd tool, and the actual power consumption of a machine using a TED5000 power meter. These subsystems have been chosen because they are the components of the server that consume the most power. In addition, as the experiments in this study demonstrate, using these subsystems as the model's input is the most efficient selection across different hardware platforms. The accuracy of the models is affected by the model inputs selection. Creating the model requires several steps: (i) connect the power meter to the server and install all the required packages such as Collectd; (ii) perform workloads on the selected subsystems; (iii) collect and simplify the data (subsystems counters and actual power) that has been stored during performing the workloads; and (iv) train the data by a modelling technique in order to create the model. This work has seven dimensions; (i) collection of the performance counters and the actual power consumption of a system, and simplification of the collected data; (ii) introduction of a simple test bench for modelling and estimation of the power consumption of an application; (iii) introduction of two modelling techniques: Neural Network and Linear Regression; (iv) design of two types of workloads; (v) use of three real servers with different configurations; (vi) use of four scenarios to validate the models; (vii) proof of the importance of the subsystems selection; and (viii) automation of the test bench. With these models, power meter devices will no longer be necessary in measuring power consumption. Instead, the models can be used to predict power consumption. Generally, Neural Network models have fewer errors than Linear Regression models, and all the models (Neural Network or Linear Regression) perform better with long time workload design.