Dynamic energy-aware scheduling for parallel task-based application in cloud computing

Green Computing is a recent trend in computer science, which tries to reduce the energy consumption and carbon footprint produced by computers on distributed platforms such as clusters, grids, and clouds. Traditional scheduling solutions attempt to minimize processing times without taking into accou...

Descripción completa

Detalles Bibliográficos
Autores: Juarez Pérez, Fredy, Ejarque, Jorge|||0000-0003-4725-5097, Badia Sala, Rosa Maria|||0000-0003-2941-5499
Tipo de recurso: artículo
Fecha de publicación:2017
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/108536
Acceso en línea:https://hdl.handle.net/2117/108536
https://dx.doi.org/10.1016/j.future.2016.06.029
Access Level:acceso abierto
Palabra clave:Computer science
Parallel algorithms
Distributed computing
Distributed Computing
Cloud Computing
Green Computing
Task-based Applications
Energy-aware Scheduling
Multi-Heuristic Resource Allocation
Makespan
Total Energy Flow
Supercomputadors
Algorismes paral·lels
Àrees temàtiques de la UPC::Enginyeria electrònica
Descripción
Sumario:Green Computing is a recent trend in computer science, which tries to reduce the energy consumption and carbon footprint produced by computers on distributed platforms such as clusters, grids, and clouds. Traditional scheduling solutions attempt to minimize processing times without taking into account the energetic cost. One of the methods for reducing energy consumption is providing scheduling policies in order to allocate tasks on specific resources that impact over the processing times and energy consumption. In this paper, we propose a real-time dynamic scheduling system to execute efficiently task-based applications on distributed computing platforms in order to minimize the energy consumption. Scheduling tasks on multiprocessors is a well known NP-hard problem and optimal solution of these problems is not feasible, we present a polynomial-time algorithm that combines a set of heuristic rules and a resource allocation technique in order to get good solutions on an affordable time scale. The proposed algorithm minimizes a multi-objective function which combines the energy-consumption and execution time according to the energy-performance importance factor provided by the resource provider or user, also taking into account sequence-dependent setup times between tasks, setup times and down times for virtual machines (VM) and energy profiles for different architectures. A prototype implementation of the scheduler has been tested with different kinds of DAG generated at random as well as on real task-based COMPSs applications. We have tested the system with different size instances and importance factors, and we have evaluated which combination provides a better solution and energy savings. Moreover, we have also evaluated the introduced overhead by measuring the time for getting the scheduling solutions for a different number of tasks, kinds of DAG, and resources, concluding that our method is suitable for run-time scheduling.