Mejora del rendimiento y reducción de consumo de los procesadores multinúcleo usando redes heterogéneas

  1. Flores Gil, Antonio
Dirigida por:
  1. Juan Luis Aragón Alcaraz Director
  2. Manuel Eugenio Acacio Sánchez Director

Universidad de defensa: Universidad de Murcia

Fecha de defensa: 24 de septiembre de 2010

Tribunal:
  1. Pedro Juan López Rodríguez Presidente/a
  2. Juan Fernández Peinador Secretario
  3. Francisco J. Alfaro Cortés Vocal
  4. Julio Sahuquillo Borras Vocal
  5. Jose Gonzalez Gonzalez Vocal
Departamento:
  1. Ingeniería y Tecnología de Computadores

Tipo: Tesis

Resumen

La industria de los semiconductores es capaz de integrar hoy en día miles de millones de transistores en un único chip. Además se estima que seguiremos siendo capaces de doblar esta capacidad de integración cada dos años durante la siguiente década. Esta tendencia ha permitido a los arquitectos de computadores construir multiprocesadores en un solo chip (CMPs). La mayoría de la industria coincide en que la arquitectura multinúcleo es el camino a seguir y que en esta década se harán realidad diseños con decenas de núcleos. Así, Intel anunció recientemente un prototipo de investigación con 80 núcleos denominado Polaris y la empresa Tilera ha lanzado este mismo año su procesador TILE64 que implementa 64 núcleos conectados a través de cinco mallas bidimensionales, cada una de las cuales está especializada en un uso diferente. Siguiendo esta línea es probable que, en un futuro próximo, CMPs con varias decenas (o incluso centenas) de núcleos de procesamiento sean diseñados mediante arrays de de pequeñas baldosas idénticas conectadas a través de una red de interconexión directa. Estas arquitecturas en baldosas presentan una solución escalable para manejar la complejidad en el diseño y el uso efectivo de los recursos disponibles en las futuras tecnologías 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 energética, es el alto coste de las comunicaciones intra-chip a través de los alambres globales. Así, estos alambres globales representarán cada vez más un problema desde el punto de vista del rendimiento y del consumo conforme mejore la tecnología de fabricación de los transistores. Esta tendencia se exacerbará en los futuros diseños en donde tendremos decenas (incluso centenares) de núcleos. 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 energético, de las comunicaciones intra-chip a través de los alambres globales. En concreto, se propone utilizar redes heterogéneas compuestas de alambres con diferentes características de latencia, ancho de banda y consumo lo que permite una mejor adaptación a las necesidades de los diferentes tipos de mensajes de coherencia de caché que circulan por la red de interconexión. Para demostrar la viabilidad de nuestro enfoque, se diseñaron varias propuestas conducentes a la reducción del consumo y/o mejora del rendimiento de estas arquitecturas mediante el uso combinado de redes heterogéneas con otras técnicas. Nuestra primera propuesta, denominada Reply Partitioning, propone la división de los mensajes de respuesta con datos en un mensaje corto crítico que contiene el subbloque de la caché solicitado por el núcleo y un mensaje largo no crítico con el contenido completo de la línea de caché. De esta manera, dividiendo las respuestas con datos, todos los mensajes críticos 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 críticos y, por tanto, pueden enviarse usando enlaces de bajo consumo sin dañar al rendimiento. La segunda propuesta, propone el uso de un esquema de compresión de direcciones en el contexto de una red de interconexión heterogénea que permite que la mayoría de los mensajes críticos, usados para mantener la coherencia entre las cachés 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 caché L2 y, por tanto, mejorar el rendimiento. Finalmente, nuestra última propuesta explora el uso de técnicas de ocultamiento de la latencia como la prebúsqueda por hardware para aliviar los problemas derivados de las altas latencias de los enlaces globales. El uso de una red heterogénea en este contexto nos permite mejorar la eficiencia energética de estas técnicas mediante la transmisión de las líneas prebuscadas a través de enlaces de bajo consumo mientras que el resto de los mensajes se continúan transmitiendo usando enlaces de base. Las propuestas fueron evaluadas mediante la simulación de la ejecución de un conjunto de aplicaciones paralelas. Los resultados de esta evaluación muestran que la correcta organización de la red de interconexión a la vez que el manejo adecuado de los diferentes tipos de mensajes que circulan a través de ella tienen un impacto significativo en la energía consumida por los CMPs; especialmente en el caso de la siguiente generación de arquitecturas CMP densas. Dichos resultados también 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 heterogéneas y prebúsqueda por hardware nuestra propuesta puede reducir el consumo de los enlaces de la red de interconexión alrededor del 23% con una degradación del 2% en el tiempo de ejecución.