A tiled cache organization

  1. Suárez Gracia, Darío
Zuzendaria:
  1. Víctor Viñals Yufera Zuzendaria
  2. Teresa Monreal Arnal Zuzendaria

Defentsa unibertsitatea: Universidad de Zaragoza

Fecha de defensa: 2011(e)ko azaroa-(a)k 11

Epaimahaia:
  1. Ramón Beivide Palacio Presidentea
  2. María Villarroya Gaudó Idazkaria
  3. Josep Ignasi Navarro Mas Kidea
  4. Giorgos Dimitrakopoulos Kidea
  5. Clemente Rodríguez Lafuente Kidea

Mota: Tesia

Teseo: 316560 DIALNET

Laburpena

La reducción en la escala de integración no se ha traducido de modo desigual entre los procesadores y los chips de memoria DRAM. La velocidad de los primeros ha aumentando considerablemente más rápido causando un grave problema que se conoce por el "Memory gap". La manera más habitual de paliar este problema ha sido la inclusión de complejas jerarquías de memoria multinivel que intentan que el procesador no se detenga por no tener datos e instrucciones disponibles. Hace unos pocos años, estas jerarquías eran exclusivas de los procesador de alta gama, sin embargo, actualmente, los teléfonos inteligentes, ordenadores ultraportátiles, y dispositivos semejantes también requieren jerarquías muy potentes pero que a la vez tengan un consumo muy bajo de energía. La mayor parte de las jerarquías de memoria están organizadas en varios niveles de memoria cache. El último nivel, Last Level Cache (LLC), esta optimizado para maximizar su densidad (tamaño) mientras que los primeros niveles intentan reducir al máximo la latencia. Conforme las LLC se agrandan, se vuelven más lentas creando un nuevo salto dentro del chip. Esta tesis propone una nueva organización de cache basada en pequeñas teselas de memoria conectadas mediante redes muy especialadas a las que denominamos Networks-in-Cache. La nueva organización mejora el rendimiento a la par que reduce el consumo energético porque es capaz de capturar la localidad temporal a una granularidad más fina que otras organizaciones lo que le permite paliar sino resolver el problema del santo entre caches dentro del chip. Además, se ha verificado con un layout en 90 nm que su estructura regular tiene mucho potencial tanto para reducir el tiempo de verificación del diseño como el del lanzamiento del producto. Para asegurar la precisión de nuestros resultados ha sido construida una infraestructura de simulación que modela no sólo el procesador sino también las redes de interconexión incluyendo enrutamiento, control de flujo y congestión. Sobre la plataforma ejecutamos programas de prueba representativos y actuales como SPEC CPU2006. Los resultados muestras que la organización propuesta, denominada Light NUCA, ofrece ventajas en diversos segmentos del mercado como los uniprocesadores de altas prestaciones, procesadores para dispositivos ultraportátiles y multihilo, en concreto Simultaneous Multithreading. En el segmento de los procesadores ultraportátiles que requieren un muy bajo consumo, hemos extendido Light NUCA con varias técnicas tanto proactivas como reactivas para reducir el consumo de energía dinámica sin disminuir el rendimiento. Estas técnicas se aprovechan de las Networks-in-Cache y se ha verificado que son fácilmente implementables. Esta cache, Light Power NUCA, es capaz de adaptar su tamaño, y latencia, a las variaciones en el working set gracias a su capacidad de captura de localidad temporal. Sin embargo, su consumo energético es independiente de la tasa de aciertos que alcance. Para permitir un comportamiento más adaptativo, proponemos un controlador basado en aprendizaje que detecta cuando la Light Power NUCA no esta sirviendo bloques al procesador y los descarta antes de que incrementen el consumo energético. Para reducirlo todavía más, el mismo mecanismo cambia el modo de acceso a los arrays de datos y direcciones de paralelo a serie. El coste de esta mejora es muy pequeño porque también aprovecha los mecanismos existentes de gestión de la congestión de las Networks-in-Cache. Debido a que la simulación de cargas de trabajo multihilo es muy costosa en tiempo, esta tesis propone un método basado en muestreo estadístico para elegir combinaciones representativas de programas. Con estas cargas hemos verificado que Light NUCA con pequeñas mejoras ofrece ventajas en términos de rendimiento incluso teniendo en cuenta que los procesadores multihilo ayudan a tolerar altas latencias de memoria. En resumen, esta tesis propone una organización de cache para los primeros niveles de la jerarquía de memoria que permiten aumentar el rendimiento y reducir el area y el consumo energético respecto otras organizaciones. Igualmente importante, se ha visto como nuestras propuestas son viables mediante la implementación VLSI realizada.