A Tiled Cache Organization
Darío Suárez Gracia, Teresa Monreal, Víctor Viñals · Dialnet (Universidad de la Rioja) · 2012
La reduccion en la escala de integracion no se ha traducido de modo desigual entre los procesadores y los chips de memoria DRAM. La velocidad de los primeros ha aumentando considerablemente mas rapido causando un grave problema que se conoce por el Memory gap. La manera mas habitual de paliar este problema ha sido la inclusion de complejas jerarquias de memoria multinivel que intentan que el procesador no se detenga por no tener datos e instrucciones disponibles. Hace unos pocos anos, estas jerarquias eran exclusivas de los procesador de alta gama, sin embargo, actualmente, los telefonos inteligentes, ordenadores ultraportatiles, y dispositivos semejantes tambien requieren jerarquias muy potentes pero que a la vez tengan un consumo muy bajo de energia. La mayor parte de las jerarquias de memoria estan organizadas en varios niveles de memoria cache. El ultimo nivel, Last Level Cache (LLC), esta optimizado para maximizar su densidad (tamano) mientras que los primeros niveles intentan reducir al maximo la latencia. Conforme las LLC se agrandan, se vuelven mas lentas creando un nuevo salto dentro del chip. Esta tesis propone una nueva organizacion de cache basada en pequenas teselas de memoria conectadas mediante redes muy especialadas a las que denominamos Networks-in-Cache. La nueva organizacion mejora el rendimiento a la par que reduce el consumo energetico porque es capaz de capturar la localidad temporal a una granularidad mas fina que otras organizaciones lo que le permite paliar sino resolver el problema del santo entre caches dentro del chip. Ademas, se ha verificado con un layout en 90 nm que su estructura regular tiene mucho potencial tanto para reducir el tiempo de verificacion del diseno como el del lanzamiento del producto. Para asegurar la precision de nuestros resultados ha sido construida una infraestructura de simulacion que modela no solo el procesador sino tambien las redes de interconexion incluyendo enrutamiento, control de flujo y congestion. Sobre la plataforma ejecutamos programas de prueba representativos y actuales como SPEC CPU2006. Los resultados muestras que la organizacion propuesta, denominada Light NUCA, ofrece ventajas en diversos segmentos del mercado como los uniprocesadores de altas prestaciones, procesadores para dispositivos ultraportatiles y multihilo, en concreto Simultaneous Multithreading. En el segmento de los procesadores ultraportatiles que requieren un muy bajo consumo, hemos extendido Light NUCA con varias tecnicas tanto proactivas como reactivas para reducir el consumo de energia dinamica sin disminuir el rendimiento. Estas tecnicas se aprovechan de las Networks-in-Cache y se ha verificado que son facilmente implementables. Esta cache, Light Power NUCA, es capaz de adaptar su tamano, y latencia, a las variaciones en el working set gracias a su capacidad de captura de localidad temporal. Sin embargo, su consumo energetico es independiente de la tasa de aciertos que alcance. Para permitir un comportamiento mas 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 energetico. Para reducirlo todavia mas, 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 pequeno porque tambien aprovecha los mecanismos existentes de gestion de la congestion de las Networks-in-Cache. Debido a que la simulacion de cargas de trabajo multihilo es muy costosa en tiempo, esta tesis propone un metodo basado en muestreo estadistico para elegir combinaciones representativas de programas. Con estas cargas hemos verificado que Light NUCA con pequenas mejoras ofrece ventajas en terminos de rendimiento incluso teniendo en cuenta que los procesadores multihilo ayudan a tolerar altas latencias de memoria. En resumen, esta tesis propone una organizacion de cache para los primeros niveles de la jerarquia de memoria que permiten aumentar el rendimiento y reducir el area y el consumo energetico respecto otras organizaciones. Igualmente importante, se ha visto como nuestras propuestas son viables mediante la implementacion VLSI realizada.