Mejora del Rendimiento y Reducción de Consumo de los Procesadores Multinúcleo usando Redes Heterogéneas

La industria de los semiconductores es capaz de integrar hoy en dia miles de millones de transistores en un unico chip. Ademas se estima que seguiremos siendo capaces de doblar esta capacidad de integracion cada dos anos durante la siguiente decada. Esta tendencia ha permitido a los arquitectos de computadores construir multiprocesadores en un solo chip (CMPs). La mayoria de la industria coincide en que la arquitectura multinucleo es el camino a seguir y que en esta decada se haran realidad disenos con decenas de nucleos. Asi, Intel anuncio recientemente un prototipo de investigacion con 80 nucleos denominado Polaris y la empresa Tilera ha lanzado este mismo ano su procesador TILE64 que implementa 64 nucleos conectados a traves de cinco mallas bidimensionales, cada una de las cuales esta especializada en un uso diferente. Siguiendo esta linea es probable que, en un futuro proximo, CMPs con varias decenas (o incluso centenas) de nucleos de procesamiento sean disenados mediante arrays de de pequenas baldosas identicas conectadas a traves de una red de interconexion directa. Estas arquitecturas en baldosas presentan una solucion escalable para manejar la complejidad en el diseno y el uso efectivo de los recursos disponibles en las futuras tecnologias VLSI. Uno de los cuellos de botella que sufren las arquitecturas CMP, tanto a la hora de conseguir un alto rendimiento como desde el punto de vista de la eficiencia energetica, es el alto coste de las comunicaciones intra-chip a traves de los alambres globales. Asi, estos alambres globales representaran cada vez mas un problema desde el punto de vista del rendimiento y del consumo conforme mejore la tecnologia de fabricacion de los transistores. Esta tendencia se exacerbara en los futuros disenos en donde tendremos decenas (incluso centenares) de nucleos. El objetivo de la presente Tesis es el de proponer soluciones para aliviar el alto coste, tanto a nivel de rendimiento como desde el punto de vista energetico, de las comunicaciones intra-chip a traves de los alambres globales. En concreto, se propone utilizar redes heterogeneas compuestas de alambres con diferentes caracteristicas de latencia, ancho de banda y consumo lo que permite una mejor adaptacion a las necesidades de los diferentes tipos de mensajes de coherencia de cache que circulan por la red de interconexion. Para demostrar la viabilidad de nuestro enfoque, se disenaron varias propuestas conducentes a la reduccion del consumo y/o mejora del rendimiento de estas arquitecturas mediante el uso combinado de redes heterogeneas con otras tecnicas. Nuestra primera propuesta, denominada Reply Partitioning, propone la division de los mensajes de respuesta con datos en un mensaje corto critico que contiene el subbloque de la cache solicitado por el nucleo y un mensaje largo no critico con el contenido completo de la linea de cache. De esta manera, dividiendo las respuestas con datos, todos los mensajes criticos pasan a ser cortos y, por tanto, pueden ser enviados usando los enlaces de baja latencia. Al mismo tiempo, los mensajes largos son ahora no criticos y, por tanto, pueden enviarse usando enlaces de bajo consumo sin danar al rendimiento. La segunda propuesta, propone el uso de un esquema de compresion de direcciones en el contexto de una red de interconexion heterogenea que permite que la mayoria de los mensajes criticos, usados para mantener la coherencia entre las caches L1 de un CMP, sean comprimidos en unos pocos bytes y transmitidos usando enlaces de muy baja latencia, mientras que el resto de los mensajes siguen usando enlaces base. De esta manera es posible reducir el tiempo necesario para satisfacer un fallo de cache L2 y, por tanto, mejorar el rendimiento. Finalmente, nuestra ultima propuesta explora el uso de tecnicas de ocultamiento de la latencia como la prebusqueda por hardware para aliviar los problemas derivados de las altas latencias de los enlaces globales. El uso de una red heterogenea en este contexto nos permite mejorar la eficiencia energetica de estas tecnicas mediante la transmision de las lineas prebuscadas a traves de enlaces de bajo consumo mientras que el resto de los mensajes se continuan transmitiendo usando enlaces de base. Las propuestas fueron evaluadas mediante la simulacion de la ejecucion de un conjunto de aplicaciones paralelas. Los resultados de esta evaluacion muestran que la correcta organizacion de la red de interconexion a la vez que el manejo adecuado de los diferentes tipos de mensajes que circulan a traves de ella tienen un impacto significativo en la energia consumida por los CMPs; especialmente en el caso de la siguiente generacion de arquitecturas CMP densas. Dichos resultados tambien muestran una mejora del 7%-10% en el rendimiento de las aplicaciones evaluadas para nuestras dos primeras propuestas con reducciones de consumo en los enlaces de hasta el 65%, mientras que en el caso del uso conjunto de redes heterogeneas y prebusqueda por hardware nuestra propuesta puede reducir el consumo de los enlaces de la red de interconexion alrededor del 23% con una degradacion del 2% en el tiempo de ejecucion.