Ahorro Energético en la Planificación de Sistemas en Tiempo Real
Authors:   , Moncusí Mercadé Maria Angels 
Published: July 2023

La evolución de los procesadores siempre ha consistido en ir aumentando el rendimiento de estos, fijando como medida de este aumento de rendimiento la velocidad de proceso en la ejecución de las distintas aplicaciones. Sin embargo esta mayor velocidad implica también un mayor consumo energético. En la era de la informática móvil, un mayor consumo energético comporta el uso de mayores baterías y una disminución del tiempo útil de trabajo de estas. A su vez, el usuario común de esta informática móvil, puede que no necesita una mayor velocidad de proceso, puesto que la limitación de velocidad de las aplicaciones más comunes que usará, aplicaciones multimedia, procesadores de texto, viene impuesta por cualidades físicas (velocidad de mecanografía, frecuencia de visualización en pantalla, frecuencia de emisión del sonido,..). En estos casos, por más rápido que sea el procesador, la aplicación no puede ejecutarse a mayor velocidad, resultando en un mayor consumo energético pero sin la obtención de mejores resultados. <br/>En los sistemas de tiempo real, estas restricciones en la velocidad del procesador también vienen impuestas por las características físicas del medio, por ejemplo, la frecuencia de muestreo de un sensor de temperatura, debe ser la necesaria, de nada sirve que se tomen medidas al doble de su frecuencia, puesto que la temperatura no cambiará tan rápidamente. <br/>Para evitar el problema de sobredimensionado de la velocidad del procesador que requiere a su vez, de un mayor consumo energético, en la última década, el estudio del rendimiento de los procesadores (velocidad del procesador) se ha unido al estudio del consumo energético y de la disipación del calor. De manera que ya no puede haber evolución únicamente a nivel de velocidad del procesador sin tener en cuenta el consumo de este y la disipación de energía. <br/>En el campo de la reducción energética se ha observado que la técnica de DVS (reducción dinámica de la velocidad del procesador junto con la reducción del voltaje suministrado) permite al algoritmo de planificación de las tareas ahorrar energía. Si observamos atentamente los algoritmos de planificación que se han usado en los entornos de tiempo real, observaremos la siguiente evolución temporal:<br/>·	Algoritmos de planificación cíclicos.<br/>·	Algoritmos de planificación en-línea para conjuntos de tareas periódicas independientes.<br/>·	Algoritmos de planificación en-línea para conjuntos de tareas periódicas independientes y para tareas aperiódicas y/o esporádicas<br/>·	Algoritmos de planificación en-línea para conjuntos de tareas no independientes entre si, es decir tareas con recursos compartidos y/o precedencias entre tareas.<br/>·	Algoritmos de planificación para arquitecturas multiprocesadores.<br/>Una evolución parecida se ha producido en el estudio de los planificadores con ahorro energético, iniciando el estudio con la planificación estática y finalizando con los algoritmos de planificación dinámica, que ofrecen mayor flexibilidad a los programadores de las aplicaciones.<br/>En la tesis, se sigue esta misma evolución, estudiando y proponiendo un algoritmo de planificación con ahorro energético para un sistema monoprocesador con tareas independientes. Suponiendo, inicialmente, correctos todos los parámetros de diseño del sistema (algoritmo PLMDP) para finalmente aplicar de manera automática una corrección a un posible sobredimensionado del WCET (algoritmo EPLDP). Estudiando las diferencias de ahorro energético que se obtienen con estos dos algoritmos, se ha constatado que a nivel energético es siempre favorable ejecutar a una velocidad de proceso intermedia en lugar de ejecutar a velocidades extremas (primero a muy poca velocidad, para después tener que ejecutar a velocidades más altas).<br/>A continuación, añadimos a los planificadores anteriores la posibilidad de que las tareas puedan acceder a recursos compartidos entre estas. Implementando en los planificadores el protocolo de techo de prioridad. A pesar del uso de este protocolo, se puede observar que nuestros algoritmos continúan aportando ahorro energético, garantizando la planificabilidad de las tareas.<br/>Para finalizar con los cambios en los planificadores, se ha añadido a todos los planificadores implementados, la posibilidad de tener precedencias entre las tareas y plazos globales entre una cadena de precedencias. En este punto se ha visto que la dificultad principal del algoritmo de planificación es el hecho de no saber con exactitud el instante de llegada de estas tareas, disminuyendo de esta manera la utilización del procesador que se puede planificar de una manera garantizada. A pesar de todo, observamos que los algoritmos de planificación PLMDP y EPLDP tienen un buen comportamiento en términos de planificación de tareas.<br/>Para completar el estudio de la planificación, se ha realizado el estudio del tiempo de respuesta de las tareas aperiódicas junto al estudio del ahorro energético. En principio ambos conceptos están enfrentados, puesto que para obtener un tiempo de respuesta menor, debemos ejecutar la tarea a máxima velocidad, asegurando que en el procesador esté disponible a la llegada de las tareas. Y por el contrario, para tener ahorro energético debemos ejecutar a una velocidad reducida la mayor parte del tiempo.<br/>Realizando un análisis global, se ha visto que los planificadores PLMDP y EPLDP, obtienen un buen rendimiento, siendo de fácil implementación y requiriendo al mismo tiempo poca cantidad de memoria para su funcionamiento. Sin embargo, todos los resultados obtenidos se han realizado bajo simulaciones con conjuntos de tareas reales y conjuntos de tareas sintéticos.<br/>Las técnicas DVS y las modificaciones que se han realizado en los algoritmos de planificación para ahorro energético, son fácilmente aplicables a otros algoritmos de planificación, en concreto se podrían aplicar sin demasiada complicación a sistemas multiprocesadores con una planificación global de las tareas. Los resultados obtenidos con el algoritmo EPLDP demuestran que en las aplicaciones de tiempo real es energéticamente económico ejecutar a una velocidad media el máximo tiempo posible en lugar de ejecutar a mayor velocidad para después tener el procesador parado. Este resultado, junto con los resultados que reducen la corriente de fuga a base de agrupar los espacios libres del procesador, es fácilmente aplicable a los algoritmos de planificación, en los que las tareas pueden ejecutarse en cualquier procesador. De manera que las tareas se deben ejecutar a una velocidad lo más uniformemente posible para tener al procesador ocupado el máximo tiempo posible.