Optimización de rendimiento y consumo energético del subsistema de memoria mediante nuevas técnicas basadas en metaheurísticas

  1. DÍAZ ÁLVAREZ, JOSEFA
Dirigida por:
  1. José Manuel Colmenar Verdugo Director/a
  2. José Luis Risco Martín Director

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 24 de enero de 2017

Tribunal:
  1. Román Hermida Correa Presidente
  2. Katzalin Olcoz Secretaria
  3. Alberto Sánchez Campos Vocal
  4. Francisco Chávez de la O Vocal
  5. José Manuel Moya Fernández Vocal
Departamento:
  1. Arquitectura de Computadores y Automática

Tipo: Tesis

Resumen

Actualmente, todo dispositivo móvil dispone de un sistema empotrado cuyo diseño ha evolucionado y adaptado a las necesidades de los usuarios. Sin embargo, este tipo de dispositivos tiene como fuente de alimentación una batería cuya capacidad está limitada por restricciones de diseño como el tamaño y el peso del dispositivo en que se incluye. Por otra parte, los dispositivos móviles actuales ejecutan aplicaciones multimedia que, generalmente, requieren elevadas prestaciones en cuanto a rendimiento del dispositivo, provocando un alto consumo de energía. Esto factores influyen en la degradación de los dispositivos, afectan a los sistemas y pueden provocar daños irreversible en los dispositivos. Desde este punto de vista, uno de los retos más importantes que se plantean los diseñadores de sistemas es la necesidad de incrementar el rendimiento a la vez que se reduce el consumo de energía. El subsistema de memoria influye considerablemente tanto en el rendimiento como en el consumo de energía. En el caso de las aplicaciones multimedia, el subsistema de memoria recibe una gran carga de trabajo, debido a sus características. Los objetivos de esta tesis engloban la optimización del subsistema de memoria en todos sus niveles: registros del procesador, memoria cache y memoria principal (a través de la gestión de memoria dinámica). El primer objetivo es la optimización térmica del banco de registros tomando como modelo las características de las arquitecturas VLIW y, principalmente, ARM, con el fin de obtener una configuración viable físicamente y que tenga el menor impacto térmico posible. El segundo objetivo consiste en optimizar el rendimiento y el consumo de energía en el subsistema de memoria cache. Para ello, se toma ARM como arquitectura de trabajo, y se explotan las diferentes configuraciones de cache, seleccionando los valores óptimos del conjunto de parámetros que la definen. Así, se encuentran aquellas configuraciones que incrementan el rendimiento y reducen el consumo de energía. El tercer objetivo aborda la optimización de la gestión de memoria dinámica en la memoria principal. El gestor de memoria dinámica es un componente fundamental que se encarga de realizar la asignación y liberación dinámica de memoria y tiene una gran influencia en el comportamiento de las aplicaciones y el rendimiento de las plataformas hardware. Se busca diseñar gestores de memoria dinámica que minimicen el uso de la memoria y maximicen el rendimiento. Para la optimización de cada una de las partes del sistema de memoria, se proponen tres marcos de optimización que utilizan perfilado estático de aplicaciones y están dirigidos por diferentes técnicas metaheurísticas. En la optimización térmica del banco de registros se comienza realizando un análisis térmico en estado estacionario y se propone un proceso de optimización multi-objetivo, donde cada solución representa una distribución de los registros dentro del banco de registros. En la optimización de la memoria cache se propone un proceso de optimización basado en tres algoritmos evolutivos. Los algoritmos con Gramáticas Evolutivas y multi-objetivo NSGA-II abordan la optimización individual de las aplicaciones y Evolución Diferencial lo hace de forma conjunta. En la optimización de la gestión de memoria dinámica se utilizan Gramáticas Evolutivas para diseñar gestores a medida de cada aplicación bajo estudio. La gramática se diseña en base a las características de la traza de la aplicación objetivo. El algoritmo de optimización evalúa cada gestor de memoria dinámica generado mediante la función objetivo, donde tiempo de ejecución y uso de memoria se normalizan con respecto a los gestores Kingsley y Lea, considerados como el más rápido y el más eficiente según la literatura. Los resultados confirman que la optimización del subsistema de memoria aporta mejoras muy significativas, especialmente en el caso de la memoria cache y de la memoria dinámica.