1,500 research outputs found
Software dependability techniques validated via fault injection experiments
The present paper proposes a C/C++ source-to-source compiler able to increase the dependability properties of a given application. The adopted strategy is based on two main techniques: variable duplication/triplication and control flow checking. The validation of these techniques is based on the emulation of fault appearance by software fault injection. The chosen test case is a client-server application in charge of calculating and drawing a Mandelbrot fracta
Approximate hardening techniques for digital signal processing circuits against radiation-induced faults
RESUMEN NO TÉCNICO.
Se llama radiación al proceso por el cual una partícula o una onda es capaz de
transmitir energía a través del espacio o un medio material. Si la energía transmitida
es suficientemente alta, la radiación puede provocar que algunos electrones se desplacen
de su posición, en un proceso llamado ionización.
La radiación ionizante puede provocar problemas a los seres vivos, pero también a
los diversos materiales que componen los sistemas eléctricos y electrónicos utilizados en
entornos sujetos a radiación. Existen en La Tierra varios procesos que emiten radiación
ionizante, como la obtención de energía en centrales nucleares o ciertos procedimientos
médicos. Sin embargo, las fuentes de radiación más importantes se sitúan más allá de
nuestra atmósfera y afectan fundamentalmente a sistemas aeroespaciales y vuelos de gran
altitud.
Debido a la radiación, los sistemas electrónicos que se exponen a cualquiera de estas
fuentes sufren degradación en sus propiedades a lo largo del tiempo y pueden sufrir fallos
catastróficos que acorten su vida útil. El envejecimiento de los componentes se produce
por acumulación de carga eléctrica en el material, lo que se conoce como Dosis Ionizante
Total (TID por sus siglas en inglés), o por distorsiones en el silicio sobre el que se fabrican
los circuitos, lo que se conoce como Daño por Desplazamiento (DD). Una única partícula
ionizante puede, sin embargo, provocar también diversos tipos de fallos transitorios o
permanentes en los componentes de un circuito, generalmente por un cambio de estado
en un elemento de memoria o fallos destructivos en un transistor. Los diferentes tipos de
fallos producidos en circuitos por la acción de una única partícula ionizante se engloban
en la categoría de Efectos de Evento Único (SEE por sus siglas en inglés).
Para proteger los sistemas electrónicos frente a los efectos de la radiación se suele
recurrir a un conjunto de técnicas que llamamos endurecimiento frente a radiación.
Los procedimientos tradicionales de endurecimiento han consistido en la fabricación de
componentes electrónicos mediante procesos especiales que les confieran una resistencia
inherente frente a la TID, el DD y los SEE. A este conjunto de técnicas de endurecimiento
se lo conoce como Endurecimiento frente a la Radiación Por Proceso (RHBP por sus
siglas en inglés). Estos procedimientos suelen aumentar el coste de los componentes y
empeorar su rendimiento con respecto a los componentes que usamos en nuestros sistemas
electrónicos cotidianos.
En oposición a las técnicas RHBP encontramos las técnicas de Endurecimiento
frente a la Radiación Por Diseño (RHBD por sus siglas en inglés). Estas técnicas
permiten detectar y tratar de corregir fallos producidos por la radiación introduciendo
modificaciones en los circuitos. Estas modificaciones suelen aumentar la complejidad de
los circuitos que se quiere endurecer, haciendo que consuman más energía, ocupen más
espacio o funcionen a menor frecuencia, pero estas desventajas se pueden compensar con la disminución de los costes de fabricación y la mejora en las prestaciones que aportan
los sistemas modernos.
En un intento por reducir el coste de las misiones espaciales y mejorar sus
capacidades, en los últimos años se trata de introducir un mayor número de Componentes
Comerciales (COTS por sus siglas en inglés), endurecidos mediante técnicas RHBD.
Las técnicas RHBD habituales se basan en la adición de elementos redundantes
idénticos al original, cuyos resultados se pueden comparar entre sí para obtener
información acerca de la existencia de un error (si sólo se usa un circuito redundante,
Duplicación Con Comparación [DWC]) o llegar incluso a corregir un error detectado de
manera automática, si se emplean dos o más réplicas redundantes, siendo el caso más
habitual la Redundancia Modular Triple (TMR) en todas sus variantes.
El trabajo desarrollado en esta Tesis gira en torno a las técnicas de endurecimiento
RHBD de sistemas electrónicos comerciales. En concreto, se trata de proponer y
caracterizar nuevas técnicas de endurecimiento que permitan reducir el alto consumo
de recursos de las utilizadas habitualmente. Para ello, se han desarrollado técnicas de
endurecimiento que aprovechan cálculos aproximados para detectar y corregir fallos en
circuitos electrónicos digitales para procesamiento de señal implementados en FPGA
comerciales, dispositivos que permiten implementar circuitos electrónicos digitales a
medida y reconfigurarlos tantas veces como se quiera.
A lo largo de esta Tesis se han desarrollado diferentes circuitos de prueba endurecidos
mediante TMR y se ha comparado su rendimiento con los de otras técnicas de
Redundancia Aproximada, en concreto la Redundancia de Precisión Reducida (RPR),
la Redundancia de Resolución Reducida (RRR) y la Redundancia Optimizada para
Algoritmos Compuestos (ORCA):
• La Redundancia de Precisión Reducida se basa en la utilización de dos réplicas
redundantes que calculan resultados con un menor número de bits que el circuito
original. De este modo se pueden disminuir los recursos necesitados por el circuito,
aunque las correcciones en caso de fallo son menos precisas que en el TMR. En este
trabajo exploramos también la RPR Escalada como un método de obtener un balance
óptimo entre la precisión y el consumo de recursos.
• La Redundancia de Resolución Reducida es una técnica propuesta originalmente en
esta tesis. Está pensada para algoritmos que trabajan con información en forma de
paquetes cuyos datos individuales guardan alguna relación entre sí. Las réplicas
redundantes calculan los resultados con una fracción de los datos de entrada originales,
lo que reduce su tamaño y permite correcciones aproximadas en caso de fallo.
• La Redundancia Optimizada para Algoritmos Compuestos es también una aportación
original de esta tesis. Está indicada para algoritmos cuyo resultado final puede
expresarse como la composición de resultados intermedios calculados en etapas
anteriores. Las réplicas redundantes se forman como bloques que calculan resultados intermedios y el resultado de su composición se puede comparar con el resultado
original. Este método permite reducir recursos y proporciona resultados de corrección
exactos en la mayor parte de los casos, lo que supone una mejora importante con
respecto a las correcciones de los métodos anteriores.
La eficacia de las técnicas de endurecimiento desarrolladas se ha probado mediante
experimentos de inyección de fallos y mediante ensayos en instalaciones de aceleradores
de partículas preparadas para la irradiación de dispositivos electrónicos. En concreto, se
han realizado ensayos de radiación con protones en el Centro Nacional de Aceleradores
(CNA España), el Paul Scherrer Institut (PSI, Suiza) y ensayos de radiación con neutrones
en el laboratorio ISIS Neutron and Muon Source (ChipIR, Reino Unido).RESUMEN TÉCNICO.
Se llama radiación al proceso por el cual una partícula o una onda es capaz de
transmitir energía a través del espacio o un medio material. Si la energía transmitida
es suficientemente alta, la radiación puede provocar que algunos electrones se desplacen
de su posición, en un proceso llamado ionización.
La radiación ionizante puede provocar problemas a los seres vivos, pero también a
los diversos materiales que componen los sistemas eléctricos y electrónicos utilizados en
entornos sujetos a radiación. Existen en La Tierra varios procesos que emiten radiación
ionizante, como la obtención de energía en centrales nucleares o ciertos procedimientos
médicos. Sin embargo, las fuentes de radiación más importantes se sitúan más allá de
nuestra atmósfera y afectan fundamentalmente a sistemas aeroespaciales y vuelos de gran
altitud.
Debido a la radiación, los sistemas electrónicos que se exponen a cualquiera de estas
fuentes sufren degradación en sus propiedades a lo largo del tiempo y pueden sufrir fallos
catastróficos que acorten su vida útil. El envejecimiento de los componentes se produce
por acumulación de carga eléctrica en el material, lo que se conoce como Dosis Ionizante
Total (TID, Total Ionizing Dose), o por distorsiones acumuladas en la matriz cristalina del
silicio en el que se fabrican los circuitos, lo que se conoce como Daño por Desplazamiento
(DD, Displacement Damage). Una única partícula ionizante puede, sin embargo, provocar
también diversos tipos de fallos transitorios o permanentes en los componentes de un
circuito, generalmente por un cambio de estado en un elemento de memoria o la activación
de circuitos parasitarios en un transistor. Los diferentes tipos de fallos producidos en
circuitos por la acción de una única partícula ionizante se engloban en la categoría de
Efectos de Evento Único (SEE, Single Event Effects).
Para proteger los sistemas electrónicos frente a los efectos de la radiación se suele
recurrir a un conjunto de técnicas que llamamos endurecimiento frente a radiación.
Los procedimientos tradicionales de endurecimiento han consistido en la fabricación de
componentes electrónicos mediante procesos especiales que les confieran una resistencia
inherente frente a la TID, el DD y los SEE. A este conjunto de técnicas de endurecimiento
se lo conoce como Endurecimiento frente a la Radiación Por Proceso (RHBP, por sus
siglas en inglés). Estos procedimientos suelen aumentar el coste de los componentes y
empeorar su rendimiento con respecto a los componentes que usamos en nuestros sistemas
electrónicos cotidianos.
En oposición a las técnicas RHBP encontramos las técnicas de Endurecimiento
frente a la Radiación Por Diseño (RHBD, por sus siglas en inglés). Estas técnicas
permiten detectar y tratar de corregir fallos producidos por la radiación introduciendo
modificaciones en los circuitos. Estas modificaciones suelen aumentar la complejidad de
los circuitos que se quiere endurecer, haciendo que consuman más energía, ocupen más espacio o funcionen a menor frecuencia, pero estas desventajas se pueden compensar con
la disminución de los costes de fabricación y la mejora en las prestaciones que aportan
los sistemas modernos.
En un intento por reducir el coste de las misiones espaciales y mejorar sus
capacidades, en los últimos años se trata de introducir un mayor número de Componentes
Comerciales (COTS, por sus siglas en inglés), endurecidos mediante técnicas RHBD.
Las técnicas RHBD habituales se basan en la adición de elementos redundantes
idénticos al original, cuyos resultados se pueden comparar entre sí para obtener
información acerca de la existencia de un error (si sólo se usa un circuito redundante,
Duplicación Con Comparación [DWC, Duplication With Comparison]) o llegar incluso
a corregir un error detectado de manera automática, si se emplean dos o más réplicas
redundantes, siendo el caso más habitual la Redundancia Modular Triple (TMR, Triple
Modular Redundancy) en todas sus variantes.
El trabajo desarrollado en esta Tesis gira en torno a las técnicas de endurecimiento
RHBD de sistemas electrónicos comerciales. En concreto, se trata de proponer y
caracterizar nuevas técnicas de endurecimiento que permitan reducir el alto consumo de
recursos de las técnicas utilizadas habitualmente. Para ello, se han desarrollado técnicas
de endurecimiento que aprovechan cálculos aproximados para detectar y corregir fallos
en circuitos electrónicos digitales para procesamiento de señal implementados en FPGA
(Field Programmable Gate Array) comerciales.
Las FPGA son dispositivos que permiten implementar circuitos electrónicos digitales
diseñados a medida y reconfigurarlos tantas veces como se quiera. Su capacidad de
reconfiguración y sus altas prestaciones las convierten en dispositivos muy interesantes
para aplicaciones espaciales, donde realizar cambios en los diseños no suele ser posible
una vez comenzada la misión. La reconfigurabilidad de las FPGA permite corregir en
remoto posibles problemas en el diseño, pero también añadir o modificar funcionalidades
a los circuitos implementados en el sistema.
La eficacia de las técnicas de endurecimiento desarrolladas e implementadas en
FPGAs se ha probado mediante experimentos de inyección de fallos y mediante
ensayos en instalaciones de aceleradores de partículas preparadas para la irradiación de
dispositivos electrónicos.
Los ensayos de radiación son el estándar industrial para probar el comportamiento de
todos los sistemas electrónicos que se envían a una misión espacial. Con estos ensayos
se trata de emular de manera acelerada las condiciones de radiación a las que se verán
sometidos los sistemas una vez hayan sido lanzados y determinar su resistencia a TID, DD
y/o SEEs. Dependiendo del efecto que se quiera observar, las partículas elegidas para la
radiación varían, pudiendo elegirse entre electrones, neutrones, protones, iones pesados,
fotones... Particularmente, los ensayos de radiación realizados en este trabajo, tratándose
de un estudio de técnicas de endurecimiento para sistemas electrónicos digitales, están
destinados a establecer la sensibilidad de los circuitos estudiados frente a un tipo de SEE conocido como Single Event Upset (SEU), en el que la radiación modifica el valor lógico
de un elemento de memoria. Para ello, hemos recurrido a experimentos de radiación con
protones en el Centro Nacional de Aceleradores (CNA, España), el Paul Scherrer Institut
(PSI, Suiza) y experimentos de radiación con neutrones en el laboratorio ISIS Neutron
and Muon Source (ChipIR, Reino Unido).
La sensibilidad de un circuito suele medirse en términos de su sección eficaz (cross
section) con respecto a una partícula determinada, calculada como el cociente entre el
número de fallos encontrados y el número de partículas ionizantes por unidad de área
utilizadas en la campaña de radiación. Esta métrica sirve para estimar el número de
fallos que provocará la radiación a lo largo de la vida útil del sistema, pero también
para establecer comparaciones que permitan conocer la eficacia de los sistemas de
endurecimiento implementados y ayudar a mejorarlos.
El método de inyección de fallos utilizado en esta Tesis como complemento a la
radiación se basa en modificar el valor lógico de los datos almacenados en la memoria de
configuración de la FPGA. En esta memoria se guarda la descripción del funcionamiento
del circuito implementado en la FPGA, por lo que modificar sus valores equivale a
modificar el circuito. En FPGAs que utilizan la tecnología SRAM en sus memorias de
configuración, como las utilizadas en esta Tesis, este es el componente más sensible a la
radiación, por lo que es posible comparar los resultados de la inyección de fallos y de las
campañas de radiación. Análogamente a la sección eficaz, en experimentos de inyección
de fallos podemos hablar de la tasa de error, calculada como el cociente entre el número
de fallos encontrados y la cantidad de bits de memoria inyectados.
A lo largo de esta Tesis se han desarrollado diferentes circuitos endurecidos mediante
Redundancia Modular Triple y se ha comparado su rendimiento con los de otras
técnicas de Redundancia Aproximada, en concreto la Redundancia de Precisión Reducida
(RPR), la Redundancia de Resolución Reducida (RRR) y la Redundancia Optimizada
para Algoritmos Compuestos (ORCA). Estas dos últimas son contribuciones originales
presentadas en esta Tesis.
• La Redundancia de Precisión Reducida se basa en la utilización de dos réplicas
redundantes que calculan resultados con un menor número de bits que el circuito
original. Para cada dato de salida se comparan el resultado del circuito original y
los dos resultados de precisión reducida. Si los dos resultados de precisión reducida
son idénticos y su diferencia con el resultado de precisión completa es mayor que un
determinado valor umbral, se considera que existe un fallo en el circuito original y se
utiliza el resultado de precisión reducida para corregirlo. En cualquier otro caso, el
resultado original se considera correcto, aunque pueda contener errores tolerables por
debajo del umbral de comparación. En comparación con un circuito endurecido con
TMR, los diseños RPR utilizan menos recursos, debido a la reducción en la precisión
de los cálculos de los circuitos redundantes. No obstante, esto también afecta a la
calidad de los resultados obtenidos cuando se corrige un error. En este trabajo exploramos también la RPR Escalada como un método de obtener
un balance óptimo entre la precisión y el consumo de recursos. En esta variante de
la técnica RPR, los resultados de cada etapa de cálculo en los circuitos redundantes
tienen una precisión diferente, incrementándose hacia las últimas etapas, en las que el
resultado tiene la misma precisión que el circuito original. Con este método se logra
incrementar la calidad de los datos corregidos a la vez que se reducen los recursos
utilizados por el endurecimiento.
Los resultados de las campañas de radiación y de inyección de fallos realizadas sobre
los diseños endurecidos con RPR sugieren que la reducción de recursos no sólo es
beneficiosa por sí misma en términos de recursos y energía utilizados por el sistema,
sino que también conlleva una reducción de la sensibilidad de los circuitos, medida
tanto en cross section como en tasa de error.
• La Redundancia de Resolución Reducida es una técnica propuesta originalmente en
esta tesis. Está indicada para algoritmos que trabajan con información en forma de
paquetes cuyos datos individuales guardan alguna relación entre sí, como puede ser un
algoritmo de procesamiento de imágenes. En la técnica RRR, se añaden dos circuitos
redundantes que calculan los resultados con una fracción de los datos de entrada
originales. Tras el cálculo, los resultados diezmados pueden interpolarse para obtener
un resultado aproximado del mismo tamaño que el resultado del circuito original.
Una vez interpolados, los resultados de los tres circuitos pueden ser comparados para
detectar y corregir fallos de una manera similar a la que se utiliza en la técnica RPR.
Aprovechando las características del diseño hardware, la disminución de la cantidad
de datos que procesan los circuitos de Resolución Reducida puede traducirse en una
disminución de recursos, en lugar de una disminución de tiempo de cálculo. De esta
manera, la técnica RRR es capaz de reducir el consumo de recursos en comparación a
los que se necesitarían si se utilizase un endurecimiento TMR.
Los resultados de los experimentos realizados en diseños endurecidos mediante
Redundancia de Resolución Reducida sugieren que la técnica es eficaz en reducir los
recursos utilizados y, al igual que pasaba en el caso de la Redundancia de Precisión
Reducida, también su sensibilidad se ve reducida, comparada con la sensibilidad del
mismo circuito endurecido con Redundancia Modular Triple. Además, se observa una
reducción notable de la sensibilidad de los circuitos frente a errores no corregibles,
comparado con el mismo resultado en TMR y RPR. Este tipo de error engloba aquellos
producidos por fallos en la lógica de comparación y votación o aquellos en los que un
único SEU produce fallos en los resultados de dos o más de los circuitos redundantes
al mismo tiempo, lo que se conoce como Fallo en Modo Común (CMF). No obstante,
también se observa que la calidad de las correcciones realizadas utilizando este método
empeora ligeramente.
• La Redundancia Optimizada para Algoritmos Compuestos es también una aportación
original de esta tesis. Está indicada para algoritmos cuyo resultado final puede expresarse como la composición de resultados intermedios calculados en etapas
anteriores. Para endurecer un circuito usando esta técnica, se añaden dos circuitos
redundantes diferentes entre sí y que procesan cada uno una parte diferente del conjunto
de datos de entrada. Cada uno de estos circuitos aproximados calcula un resultado
intermedio. La composición de los dos resultados intermedios da un resultado idéntico
al del circuito original en ausencia de fallos.
La detección de fallos se realiza comparando el resultado del circuito original con el
de la composición de los circuitos aproximados. En caso de ser diferentes, se puede
determinar el origen del fallo comparando los resultados aproximados intermedios
frente a un umbral. Si la diferencia entre los resultados intermedios supera el umbral,
significa que el fallo se ha producido en uno de los circuitos aproximados y que el
resultado de la composición no debe ser utilizado en la salida. Al igual que ocurre
en la Redundancia de Precisión Reducida y la Redundancia de Resolución Reducida,
utilizar un umbral de comparación implica la existencia de errores tolerables. No
obstante, esta técnica de endurecimiento permite realizar correcciones exactas, en
lugar de aproximadas, en la mayor parte de los casos, lo que mejora la calidad de
los resultados con respecto a otras técnicas de endurecimiento aproximadas, al tiempo
que reduce los recursos utilizados por el sistema endurecido en comparación con las
técnicas tradicionales.
Los resultados de los experimentos realizados con diseños endurecidos mediante
Redundancia Optimizada para Algoritmos Compuestos confirman que esta técnica de
endurecimiento es capaz de producir correcciones exactas en un alto porcentaje de los
eventos. Su sensibilidad frente a todo tipo de errores y frente a errores no corregibles
también se ve disminuida, comparada con la obtenida con Redundancia Modular Triple.
Los resultados presentados en esta Tesis respaldan la idea de que las técnicas de
Redundancia Aproximada son alternativas viables a las técnicas de endurecimiento frente
a la radiación habituales, siempre que
Power efficient approaches to redundant multithreading
Journal ArticleNoise and radiation-induced soft errors (transient faults) in computer systems have increased significantly over the last few years and are expected to increase even more as we move toward smaller transistor sizes and lower supply voltages. Fault detection and recovery can be achieved through redundancy. The emergence of chip multiprocessors (CMPs) makes it possible to execute redundant threads on a chip and provide relatively low-cost reliability. State-of-the-art implementations execute two copies of the same program as two threads (redundant multithreading), either on the same or on separate processor cores in a CMP, and periodically check results. Although this solution has favorable performance and reliability properties, every redundant instruction flows through a high-frequency complex out-of-order pipeline, thereby incurring a high power consumption penalty. This paper proposes mechanisms that attempt to provide reliability at a modest power and complexity cost. When executing a redundant thread, the trailing thread benefits from the information produced by the leading thread. We take advantage of this property and comprehensively study different strategies to reduce the power overhead of the trailing core in a CMP. These strategies include dynamic frequency scaling, in-order execution, and parallelization of the trailing thread
Reducing soft errors through operand width aware policies
Soft errors are an important challenge in contemporary microprocessors. Particle hits on the components of a processor are expected to create an increasing number of transient errors with each new microprocessor generation. In this paper, we propose simple mechanisms that effectively reduce the vulnerability to soft errors in a processor. Our designs are generally motivated by the fact that many of the produced and consumed values in the processors are narrow and their upper order bits are meaningless. Soft errors caused by any particle strike to these higher order bits can be avoided by simply identifying these narrow values. Alternatively, soft errors can be detected or corrected on the narrow values by replicating the vulnerable portion of the value inside the storage space
provided for the upper order bits of these operands. As a faster but less fault tolerant alternative to ECC and parity, we offer a variety of schemes that make use of narrow values and analyze their efficiency in reducing soft error vulnerability of different data-holding components of a processor. On average, techniques that make use of the narrowness of the values can provide 49 percent error detection, 45 percent error correction, or 27 percent error avoidance coverage for single bit upsets in the first level data cache across
all Spec2K. In other structures such as the immediate field of the issue queue, an average error detection rate of 64 percent is
achieved.Peer ReviewedPostprint (published version
Statistical Reliability Estimation of Microprocessor-Based Systems
What is the probability that the execution state of a given microprocessor running a given application is correct, in a certain working environment with a given soft-error rate? Trying to answer this question using fault injection can be very expensive and time consuming. This paper proposes the baseline for a new methodology, based on microprocessor error probability profiling, that aims at estimating fault injection results without the need of a typical fault injection setup. The proposed methodology is based on two main ideas: a one-time fault-injection analysis of the microprocessor architecture to characterize the probability of successful execution of each of its instructions in presence of a soft-error, and a static and very fast analysis of the control and data flow of the target software application to compute its probability of success. The presented work goes beyond the dependability evaluation problem; it also has the potential to become the backbone for new tools able to help engineers to choose the best hardware and software architecture to structurally maximize the probability of a correct execution of the target softwar
Robust configurable system design with built-in self-healing
The new generations of SRAM-based FPGA (Field Programmable Gate Array) devices, built on nanometre technology, are the preferred choice for the implementation of reconfigurable computing platforms. However, their vulnerability to hard and soft errors is a major weakness to robust system design based on FPGAs. In this paper, a novel Built-In Self-Healing (BISH) methodology, based on modular redundancy and on selfreconfiguration, is proposed. A soft microprocessor core implemented in the FPGA is responsible for the management and execution of all the BISH procedures. Fault detection and diagnosis is followed by repairing actions, taking advantage of the self-configuration features. Meanwhile, modular redundancy assures that the system still works correctly. This approach leads to a robust system design able to assure high reliability, availability and data integrity
Advanced flight control system study
The architecture, requirements, and system elements of an ultrareliable, advanced flight control system are described. The basic criteria are functional reliability of 10 to the minus 10 power/hour of flight and only 6 month scheduled maintenance. A distributed system architecture is described, including a multiplexed communication system, reliable bus controller, the use of skewed sensor arrays, and actuator interfaces. Test bed and flight evaluation program are proposed
Harnessing Checker Hierarchy for Reliable Microprocessors
Traditional fault-tolerant multi-threading architectures provide good fault tolerance by re-executing all the computations. However, such a full re-execution significantly increases the demand on the processor resources, resulting in severe performance degradation. To address this problem, this dissertation presents Active Verification Management (AVM) approaches that utilize a checker hierarchy to increase its performance with a minimal effect on the overall reliability. Based on a simplified queueing model, AVM employs a filter checker which prioritizes the verification candidates to selectively do verification. This dissertation proposes three filter checkers - based on (1) result usage, (2) result bitwidth, and (3) result anomaly - that exploit correctness-criticality metrics and anomaly speculation.
Binary Correctness Criticality (BCC) and Likelihood of Correctness Criticality (LoCC) are metrics that quantify whether an instruction is important for reliability or how likely an instruction is correctness-critical, respectively. Based on the BCC, a result-usage-based filter checker mitigates the verification workload by bypassing instructions that are unnecessary for correct execution. Computing the LoCC is accomplished by exploiting information redundancy of compressing computationally useful data bits. Numerical significance hints let the result-bitwidth-based filter checker guide a verification priority effectively before the re-execution process starts. A result-anomaly-based filter checker exploits a value similarity property, which is defined by a frequent occurrence of partially identical values. Based on the biased distribution of similarity distance measure, this dissertation further investigates another application to exploit similar values for soft error tolerance with anomaly speculation. Extensive measurements show that the majority of instructions produce values that are different from the previous result value only in a few bits.
Experimental results show that the proposed schemes accelerate the processor to be 180% faster than traditional fully-fault-tolerant processor, with a minimal impact on the overall soft error rate. With no AVM, congestion at the checker badly affects performance, to the tune of 57%, when compared to that of a non-fault-tolerant processor. These results explain that the proposed AVM has the potential to solve the verification congestion problem when perfect fault coverage is not needed
- …