Fault tolerance in critical aerospace embedded systemsmulti-threaded mitigation, non-intrusive compiler-guided hardening, and early prediction of proton and neutron induced soft errors

  1. Serrano Cases, Alejandro
Dirigida por:
  1. Antonio Martínez Álvarez Director

Universidad de defensa: Universitat d'Alacant / Universidad de Alicante

Fecha de defensa: 30 de octubre de 2020

Tribunal:
  1. Fernanda Gusmao de Lima Kastensmidt Presidente/a
  2. José Luis Sánchez Romero Secretario
  3. Samuel F. Romero García Vocal
Departamento:
  1. TECNOLOGIA INFORMATICA Y COMPUTACION

Tipo: Tesis

Teseo: 634327 DIALNET lock_openRUA editor

Resumen

Hoy día, existe una creciente demanda de las capacidades computacionales en sistemas críticos, donde los estados inesperados o inoperantes no son aceptables. Algunos de estos sistemas funcionan en entornos hostiles, sufriendo un comportamiento anómalo (faults), tanto en el software como en el hardware. Con objeto de solucionar esta problemática, se está recurriendo a la utilización de soluciones de computación, que explotan las nuevas características presentes en los microprocesadores de última generación. Entre estas características, destaca un mayor número de núcleos, mejor rendimiento computacional y menor consumo energético. Esta evolución de los microprocesadores es debida, entre otros factores, a la mejora en el proceso de fabricación fotolitográfico, sin embargo, este proceso está reduciendo progresivamente la tolerancia de los nuevos microprocesadores a los fallos inducidos por la radiación, conocidos como Efecto de Evento Único (Single Event Effect -- SEE). Destacando, entre las fuentes que generan un comportamiento anómalo, las fuentes naturales de radiación, como los rayos cósmicos, o las fuentes de radiación artificial, como las producidas por máquinas de radio-diagnóstico. En esta tesis, se propone varias estrategias para mejorar la fiabilidad de los sistemas críticos que operan en presencia de radiación ionizante, tanto en el espacio, como a nivel terrestre. En este contexto, la radiación ionizante puede alterar la salida de un sistema digital creando interferencias, fallos y alteraciones permanentes en los circuitos, entre otras muchas incidencias. Como resultado, los sistemas críticos pueden comportarse de manera inesperada, produciendo resultados erróneos o entrando en estados no operativos, que requieran un mecanismo externo para recuperar un funcionamiento correcto (watchdogs, interrupciones temporizadas). En la bibliografía, se encuentra que las técnicas basadas en redundancia, aplicables tanto a hardware como a software, son las soluciones más efectivas para detectar y mitigar este tipo de comportamiento inesperado. Estas técnicas basadas en redundancia, presentan una alta variabilidad, dado que puede aplicarse a estructuras de diferente complejidad. En el caso de redundancia software, se puede utilizar a nivel de instrucciones de ensamblador, accesos de memoria, funciones o métodos, incluso a nivel de procesos o hilos. Es importante destacar que, la variabilidad de las diferentes técnicas de mitigación de fallos, provoca una alta complejidad de la predicción del efecto de estas técnicas en el conjunto del sistema. De manera paradójica, la aplicación de estas técnicas de endurecimiento a algunos elementos de un sistema, en ocasiones, puede dar lugar a un aumento de la susceptibilidad del sistema a fallos inducidos por radiación, por consiguiente, a una reducción significativa de la fiabilidad. Esta paradoja, es debida, al aumento de los sobrecostes en los recursos utilizados, o al incremento computacional de dicha técnica de endurecimiento. De manera general, con objeto de reducir la susceptibilidad a fallos inducidos por la radiación, en diferentes sistemas críticos, en esta tesis, se pretende mejorar la fiabilidad, adaptando o proporcionando nuevas técnicas y herramientas para el endurecimiento software en microprocesadores de última generación. Para ello, se han desarrollo dos técnicas, la primera se centra en la búsqueda automática de soluciones maximizando la fiabilidad; la segunda técnica desarrollada, consiste en un endurecimiento software basado en redundancia, optimizado para obtener un mayor rendimiento computacional. Además, se ha desarrollado un nuevo modelo matemático semi-empírico, para evaluar y predecir los fallos inducidos por radiación. La primera de las técnicas desarrolladas, explora, de manera eficiente, soluciones que maximicen la fiabilidad, buscando optimizaciones y endurecimientos que aumenten el rendimiento del sistema, reduzcan los recursos utilizados y, al mismo tiempo, aumenten la cobertura frente a fallos. Con objeto de optimizar el rendimiento y el uso de recursos de las aplicaciones y circuitos, en esta tesis, se utilizan técnicas de aprendizaje automático y algoritmos de búsqueda meta-heurísticos, inspirados en los sistemas naturales (algoritmos genéticos), optimizados con técnicas de optimización multiobjetivo basadas en el concepto de eficiencia de Pareto. Este algoritmo de búsqueda optimizado, permite mejorar al mismo tiempo el rendimiento del sistema, el uso de los recursos y la cobertura de fallos, ya que es capaz de explorar un espacio de soluciones multidimensional de manera eficiente. La aplicación de este algoritmo, permite alterar la generación de las aplicaciones, por parte del compilador, logrando obtener aplicaciones más fiables de forma no intrusiva, es decir, sin necesidad de modificar el código. La segunda de las técnicas desarrolladas, propone una mejora de las técnicas de endurecimiento clásicas, empleando esquemas paralelos basados en el multiprocesamiento simétrico y asimétrico (SMP y AMP, respectivamente). Con objeto de lograr un incremento en la fiabilidad, se han utilizado sistemas mononúcleo y multinúcleo, a los que se les ha eliminado la necesidad de un sistema operativo, con el fin de reducir los sobrecostes de recursos y aumentar el rendimiento, manteniendo la cobertura frente a fallos. Por último, se ha desarrollado un modelo semi-empírico que permite la evaluación y selección de las configuraciones más fiables. Además, el modelo también permite realizar un endurecimiento selectivo de los recursos críticos, antes de acometer una campaña de radiación acelerada. En el desarrollo del modelo, se emplea tanto datos históricos de campañas de radiación real, como los resultados de las campañas de inyección simulada de las aplicaciones. Así, el modelo es capaz de realizar una predicción temprana de la fiabilidad de las nuevas soluciones, antes de probarlas bajo radiación real en aceleradores de partículas. Para verificar el modelo, se realizaron pruebas de radiación acelerada de varias soluciones, desarrolladas en esta tesis, empleando protones en el Centro Nacional de Aceleradores (CNA) de Sevilla, y empleando neutrones en Los Álamos National Laboratory (LANL - USA).