dc.description.abstract |
Power Efficient Resource Allocation in High Performance Computing Systems An efficient resource allocation is a fundamental requirement in High Performance Computing (HPC) systems. Many projects are dedicated to large-scale distributed computing systems that have designed and developed resource allocation mechanisms with a variety of architectures and services. Resource allocation mechanisms and strategies play a vital role towards the performance improvement of all the high performance computing classifications. Therefore, a comprehensive discussion of widely used resource allocation strategies deployed in distributed high performance computing environment is required. The author has classified the distributed high performance computing systems into three broad categories, namely: (a) cluster, (b) grid, and (c) cloud systems and defines the characteristics of each class by extracting sets of common attributes. All of the aforementioned systems are cataloged into pure software and hybrid/hardware solutions. The system classification is used to identify approaches followed by the implementation of existing resource allocation strategies that are widely presented in the literature.
More computational power is offered by high performance computing systems to cope with CPU intensive applications. However, this facility comes at the price of more energy consumption and eventually higher heat dissipation. As a remedy, these issues are being encountered by adjusting system speed on the fly so that application deadlines are respected and also, the overall system energy consumption is reduced. In addition, the current state of the art of high performance computing, particularly the multi-core technology opens further research opportunities for energy reduction through power efficient scheduling. However, the multi-core front is relatively unexplored from the perspective of task scheduling. To the best of our knowledge, very little is known as of yet to integrate power efficiency component into real-time scheduling theory that is tailored for high performance computing particularly multi-core platforms. In these efforts the author first proposes a technique to find the least feasible speed to schedule individual tasks. The proposed technique is experimentally evaluated and the results show the supremacy of our approach over the existing counterpart called first feasible speed. However, this solution is at the cost of delayed response time. The experimental
xi
results are in accordance with the mathematical formulation established in this work. To minimize power consumption, the author did another attempt by applying genetic algorithm on first feasible speed. The newly proposed approach is termed as genetic algorithm with first feasible speed. The author compares the results obtained through aforementioned approach with existing techniques. It is worth mentioning that proposed technique outperforms first feasible speed and least feasible speed with respect to energy consumption and response time perspectives respectively.
Load balancing is also vital for efficient and equal utilization of computing units (systems or cores). To load balancing among computing units, the author applies lightest task-migration (task-shifting) and task splitting mechanisms in a multi-core environment. In task shifting a task having minimum load on a highly utilized computing unit is fully transferred to a low utilized computing unit. In task splitting, the load of a task from a highly utilized computing unit is shared among the computing unit and a low utilized computing unit. It concludes from the given results that task splitting mechanism fully balance load but it is more time consuming as compared to task shifting strategy.
Keywords: High performance computing, Real time system, Scheduling, Resource allocation, Resource management, Genetic algorithm, Task migration and Task splitting. |
en_US |