Performance Provisioning and Energy Efficiency in Cloud and Distributed Computing Systems
In recent years, the issue of energy consumption in high performance computing (HPC) systems has attracted a great deal of attention. In response to this, many energy-aware algorithms have been developed in different layers of HPC systems, including the hardware layer, service layer and system layer. These algorithms are of two types: first, algorithms which directly try to improve the energy by tweaking frequency operation or scheduling algorithms; and second, algorithms which focus on
... g the performance of the system, with the assumption that efficient running of a system may indirectly save more energy. In this thesis, we develop algorithms in both layers. First, we introduce three algorithms to directly improve the energy of scheduled tasks at the hardware level by using Dynamic Voltage Frequency Scaling (DVFS). Second, we propose two algorithms for modelling and resource provisioning of MapReduce applications (a well-known parametric distributed framework currently used by Google, Yahoo, Facebook and LinkedIn) based on its configuration parameters. Certainly, estimating the performance (e.g., execution time or CPU clock ticks) of a MapReduce application can be later used for smart scheduling of such applications in clouds or clusters. To evaluate the algorithms, we have conducted extensive simulation and real experiments on a 5-node physical cluster with up to 25 virtual nodes, using both synthetic and real world applications. Also, the proposed new algorithms are compared with existing algorithms by experimentation, and the experimental results reveal new information on the performance of these algorithms, as well as on the properties of MapReduce and DVFS. In the end, three open problems are revealed by the experimental observations, and their importance is explained.