Mecanismos de gestión de escrituras en sistemas con tecnologías de memoría no volátiles

  1. RODRÍGUEZ RODRÍGUEZ, ROBERTO ALONSO
Dirigida por:
  1. Daniel Ángel Chaver Martínez Director
  2. Fernando Castro Rodríguez Director

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 18 de noviembre de 2016

Tribunal:
  1. Román Hermida Correa Presidente
  2. Ignacio Gómez Pérez Secretario/a
  3. Antonio González Colás Vocal
  4. Oscar Plata González Vocal
  5. Jesús Javier Resano Ezcaray Vocal
Departamento:
  1. Arquitectura de Computadores y Automática

Tipo: Tesis

Resumen

Desde el origen de los sistemas computacionales, el subsistema de memoria ha sido siempre uno de sus componentes fundamentales. Sin embargo, el diferente ritmo de evolución que han experimentado microprocesador y memoria se ha convertido en uno de los mayores desafíos que los diseñadores actuales deben abordar con el fin de desarrollar sistemas computacionales más potentes. A este problema se le suma la limitada escalabilidad y el elevado consumo de energía de las tecnologías de memoria convencionales (DRAM y SRAM), lo que ha llevado a considerar nuevas tecnologías de memoria no volátil (NVM por sus siglas en inglés) como posibles candidatas a reemplazar a las tecnologías convencionales. PCM y STT-RAM se postulan, entre las NVMs, como alternativas para ello. Aunque PCM y STT-RAM poseen ventajas sobre DRAM y SRAM, también adolecen de algunos inconvenientes que deben ser mitigados antes de que puedan ser utilizadas como tecnologías de memoria en la próxima generación de computadores. En particular, el elevado coste de las operaciones de escritura sobre ambos tipos de tecnología, así como la limitada durabilidad de las celdas PCM, que se vuelven inmutables tras una cantidad de escrituras sobre las mismas, constituyen los principales inconvenientes de PCM y STT-RAM. En esta tesis se presentan dos propuestas con el objetivo de mejorar la gestión de las escrituras sobre estos tipos de memoria. En la primera propuesta, enmarcada en un sistema con memoria principal (MM por sus siglas en inglés) implementada con tecnología PCM, se pretende reducir el número de escrituras a dicha MM modificando el algoritmo de reemplazo del último nivel de cache (LLC por su siglas en inglés). Para ello se han evaluado las políticas de reemplazo convencionales en términos del número de escrituras a MM que generan. Una vez determinado el algoritmo que produce una menor cantidad de escrituras a MM, se han planteado una serie de modificaciones para obtener un algoritmo que minimice el número de escrituras a MM, y de esta forma aumentar su durabilidad y reducir su consumo de energía sin penalizar el rendimiento. Los algoritmos propuestos se han evaluado en el simulador arquitectónico gem5 sobre distintos tipos de aplicaciones. Los resultados obtenidos revelan que, dependiendo del escenario evaluado (uni-procesador o multiprocesador) y comparado con usar el algoritmo de reemplazo LRU convencional, nuestras propuestas consiguen extender la vida útil de la MM hasta un 45% y reducir el consumo de energía en la jerarquía de memoria hasta un 9%, sin apenas penalizar el rendimiento. En la segunda propuesta, enmarcada en un entorno en el que la LLC se implementa utilizando tecnología STT-RAM, se presenta un mecanismo para predecir escrituras innecesarias a ésta. Para ello, en primer lugar se exploró y comprobó que los bloques que llegan a la LLC exhiben localidad de reuso. A continuación, se planteó la forma de explotarla utilizando un elemento capaz de detectar aquellos bloques que presentan reuso. Este detector se encarga de gestionar el contenido de la LLC, de modo que solo los bloques que presentan reuso son insertados en dicho nivel, reduciendo así el número de escrituras y consumo de energía en la LLC. Al igual que antes, nuestra propuesta se evaluó por medio del simulador gem5, usando diferentes aplicaciones. De acuerdo a los resultados obtenidos, nuestra propuesta, aplicada a una LLC de un sistema multiprocesador implementada con tecnología STT-RAM, consigue reducciones de energía en la LLC de alrededor del 40% y de más del 6% en la MM, e incrementos en el rendimiento del sistema en el rango 3-7%. Se puede concluir que es posible diseñar soluciones arquitectónicas que mitiguen las deficiencias de las NVMs y faciliten su desarrollo como sustitutas de las cada vez más agotadas tecnologías convencionales.