[en] High Performance Computing is a discipline of computer science that makes use of clusters with a high number of nodes, to give service to complex scientific applications and simulations. In order to achieve such high performance, these types of clusters are usually composed of nodes with very different capabilities. Thanks to this heterogeneous architecture, their power consumption can be quite high, reaching in some instances up to 20MW of peak power. This, however, has a significant economic and environmental impact. In order to reduce this consumption, research regarding new tools and components that make better use of the computational power available is necessary. One of these areas of research that may help improve energy consumption and efficiency in an HPC cluster is the development of new workload/resource managers, the pieces of software in charge of scheduling the incoming jobs to the nodes in a cluster. In this project, a novel energy based scheduling algorithm is proposed to minimize energy consumption in clusters. PCBE (configurable energy/efficiency-based scheduler) is a scheduling algorithm capable of estimating the energy consumption and efficiency of each of the jobs that arrive to a cluster, assigning them to the relevant nodes, and thus improving overall consumption when compared to more traditional scheduling algorithms (that take into account only the jobs' execution time). In this document, the process used to design and implement PCBE is described, as well as the framework used to test it, IRMASim, an HPC cluster simulator developed at Universidad de Cantabria. On top of this, the experiments used to compare PCBE against more traditional scheduling algorithms, such as First Come First Serve and Shortest Job First, are presented. As a result of the novel energy estimation method used by PCBE, the algorithm is able of achieving 10% lower energy consumption, when compared with FCFS and SJF, while also improving other metrics such as cluster throughput and energy efficiency.

[es] High Performance Computing es una rama de la computación que hace uso de clúster de gran tamaño, para dar servicio a aplicaciones científicas muy complejas. Para conseguir un rendimiento tan alto, estos clústeres suelen estar compuestos por nodos heterogéneos, con procesadores con capacidades muy diferentes. Es por esto que, los sistemas HPC, especialmente los más modernos, tienen un consumo energético muy elevado, llegando a alcanzar los 20MW de potencia máxima. Sin embargo, este gran consumo tiene un impacto económico y ambiental muy importante. Es por esto, por lo que la investigación de herramientas y componentes que hagan mejor utilización de los recursos de un clúster es más importante que nunca. Una de las posibles áreas donde se pueden encontrar ganancias de consumo y eficiencia energética es en los resource managers o workload managers de un clúster, los encargados de planificar la cola de los trabajos que van llegando al sistema. Es en este contexto en el que se ha desarrollado PCBE. El Planificador Configurable Basado en Energía/Eficiencia energética (PCBE) es un algoritmo de planificación novedoso, capaz de optimizar el consumo o eficiencia energética de un clúster HPC. Para ello, es capaz de realizar la planificación en base a una estimación del consumo (o eficiencia) de los trabajos que le llegan en los diferentes nodos del clúster, en vez del tiempo que van a tardar en ejecutarse, como hacen las técnicas de planificación tradicionales. En este proyecto se describe el proceso seguido para diseñar e implementar PCBE, usando como plataforma IRMASim, un simulador de sistemas HPC creado por la Universidad de Cantabria. Asimismo, durante el proyecto se han realizado experimentos, probando las diferentes configuraciones de PCBE y comparándolo con algoritmos de planificación tradicionales, como First Come First Serve y Shortest Job First. Como resultado del mecanismo de estimación de la energía, PCBE es capaz de mejorar alrededor de un 10% el consumo energético de un clúster, respecto a FCFS y SJF, mejorando también el resto de aspectos del clúster medidos: eficiencia energética y throughtput.