Diseño de arquitecturas para la mitigación de fallos hardware en procesadores multinúcleo

  1. SANCHEZ PEDREÑO, Daniel
Dirigida por:
  1. Juan Luis Aragón Alcaraz Director
  2. José Manuel García Carrasco Director

Universidad de defensa: Universidad de Murcia

Fecha de defensa: 25 de julio de 2011

Tribunal:
  1. Antonio González Colás Presidente/a
  2. Manuel Eugenio Acacio Sánchez Secretario
  3. Vassos Soteriou Vocal
  4. Pedro Juan López Rodríguez Vocal
  5. Babak Falsafi Vocal
Departamento:
  1. Ingeniería y Tecnología de Computadores

Tipo: Tesis

Teseo: 113398 DIALNET

Resumen

En los últimos 50 años, la mejora de la tecnología de integración ha permitido un incremento exponencial del número de transistores que se pueden alojar en un procesador. En la actualidad, este aumento de recursos ha sido empleado para la integración mayores cachés y múltiples núcleos de procesamiento en un solo "chip". De esta forma, se ha conseguido una mejora general de las prestaciones. Desafortunadamente, esta mejora en el proceso de fabricación ha venido acompañada de consecuencias negativas. La primera es la reducción del escalado del voltaje y la frecuencia a causa de la baja reducción del consumo en relación al área. La segunda, un cambio hacia diseños probabilísticos donde la fiabilidad se ve reducida a causa de variaciones estáticas y dinámicas. Por lo tanto, los beneficios aportados por la mejora de la tecnología pueden verse en peligro a menos que se desarrollen técnicas que solucionen el problema del consumo y la fiabilidad. En esta Tesis se aborda el problema que suponen los fallos hardware en la lógica de los núcleos de procesamiento y la memoria embebida. En particular, estudiamos a) la detección y corrección de fallos transitorios en la lógica de los núcleos, y b) el impacto que los errores permanentes tienen en los arrays de SRAM. En ambos casos, los objetivos principales son el de reducir el impacto sobre el rendimiento y el sobrecosto en términos de área de los mecanismos propuestos. Para la mitigación de los fallos transitorios se proponen mecanismos basados en la Redundancia Multi Hilo (RMT), un caso particular de doble redundancia que ofrece computación libre de errores mediante la ejecución de hilos redundantes. Por otro lado, para mitigar el impacto de los fallos permanentes en arrays de SRAM, se estudia la penalización en el rendimiento de diversas técnicas de desactivación de celdas defectuosas. En particular, esta Tesis se centra en mecanismos a nivel de arquitectura que mitigan la creciente ocurrencia de fallos que afectan al funcionamiento de los microprocesadores. En primer lugar, se desarrollan varias propuestas para la detección y corrección de fallos transitorios en entornos de memoria compartida. El primer mecanismo propuesto, REPAS, asegura la detección y corrección de fallos transitorios mediante la ejecución redundante de hilos en procesadores SMT de 2 vías. Para evitar la propagación de errores, las propuestas anteriores impiden la actualización de la memoria hasta que los valores sean verificados, lo que de manera colateral provoca diversos problemas en la correcta ejecución de cargas paralelas. Para evitar este problema se propone un mecanismo que actualiza la memoria sin necesidad de verificación bajo la premisa de que, en el caso común, la mayor parte de las actualizaciones son correctas. De esta forma, en el raro caso de que se produzca un fallo, los valores afectados de la caché son recuperados al estado que tenían antes del fallo. El segundo mecanismo propuesto, LBRA, está basado en una arquitectura de Memoria Transaccional Hardware. En esta propuesta, dos hilos redundantes se encargan de la detección y corrección de errores, asegurando una visión consistente de la memoria por medio de un log cacheable de memoria virtual compartido entre ambos. La función del log es almacenar el resultado de la computación y permitir un mayor desacople entre los hilos redundantes. De esta forma se logra un mejor rendimiento mientras que la complejidad del diseño se ve reducida. Por último, se presenta un modelo analítico que determina las implicaciones que la desactivación de celdas/bloques debido a la existencia de defectos tiene sobre la tasa de fallos de la caché. Mientras que anteriores propuestas se basan en la simulación de un número elevado de mapas de fallos aleatorios, el modelo presentado ofrece medidas precisas para la tasa de fallo esperada y su desviación típica aplicando un análisis off-line de una traza de accesos a memoria.