Abstract

The importance of telecommunications in our society is rapidly increasing day by day. Because of this, the number of servers and data centers is increasing at a very high rate, which entails a very important increment on the power consumed by them. Besides, the growing complexity of these systems makes managing more and more difficult.
To face the first problem, we study the behavior of the power consumption in a server depending on its utilization, which presents little variations when changing the utilization from 1% to 100%, but drops drastically when turning the servers off. Seeing this, we propose an algorithm that will reallocate the load of the servers in a data center in order to gather it in the less possible number of servers, so the rest can be turned off.
With this algorithm we manage to get high saving values, but the execution time in the system increases very much, so this is not enough. To solve this situation, we propose another algorithm to balance the load in the servers in order to reduce the execution time and keep it in a reasonable interval.
To cope with the problem of complex management, the solutions proposed in this document are developed in an autonomic way: each server interacts with a small number of neighbors and acts at a local level, avoiding the need for a centralized control of the system.
We test the proposed algorithms in two different scenarios: distributed server farm and client‐server.
On the distributed server farm scenario, where we just consider the servers (not their relationships with the clients), we get a maximum power saving of 11.66%. On the other hand, on the client‐server model (where some complexity is added by considering not only the servers, but also their connections with the clients) the savings achieved rise up to 19.56%, thanks to an enhancement of the algorithms used in the first scenario.