290 research outputs found
Secure storage systems for untrusted cloud environments
The cloud has become established for applications that need to be scalable and highly
available. However, moving data to data centers owned and operated by a third party,
i.e., the cloud provider, raises security concerns because a cloud provider could easily
access and manipulate the data or program flow, preventing the cloud from being
used for certain applications, like medical or financial.
Hardware vendors are addressing these concerns by developing Trusted Execution
Environments (TEEs) that make the CPU state and parts of memory inaccessible from
the host software. While TEEs protect the current execution state, they do not provide
security guarantees for data which does not fit nor reside in the protected memory
area, like network and persistent storage.
In this work, we aim to address TEEs’ limitations in three different ways, first we
provide the trust of TEEs to persistent storage, second we extend the trust to multiple
nodes in a network, and third we propose a compiler-based solution for accessing
heterogeneous memory regions. More specifically,
• SPEICHER extends the trust provided by TEEs to persistent storage. SPEICHER
implements a key-value interface. Its design is based on LSM data structures, but
extends them to provide confidentiality, integrity, and freshness for the stored
data. Thus, SPEICHER can prove to the client that the data has not been tampered
with by an attacker.
• AVOCADO is a distributed in-memory key-value store (KVS) that extends the
trust that TEEs provide across the network to multiple nodes, allowing KVSs to
scale beyond the boundaries of a single node. On each node, AVOCADO carefully
divides data between trusted memory and untrusted host memory, to maximize
the amount of data that can be stored on each node. AVOCADO leverages the
fact that we can model network attacks as crash-faults to trust other nodes with
a hardened ABD replication protocol.
• TOAST is based on the observation that modern high-performance systems
often use several different heterogeneous memory regions that are not easily
distinguishable by the programmer. The number of regions is increased by the
fact that TEEs divide memory into trusted and untrusted regions. TOAST is a
compiler-based approach to unify access to different heterogeneous memory
regions and provides programmability and portability. TOAST uses a
load/store interface to abstract most library interfaces for different memory
regions
Impact of Transient Faults on Timing Behavior and Mitigation with Near-Zero WCET Overhead
As time-critical systems require timing guarantees, Worst-Case Execution Times (WCET) have to be employed. However, WCET estimation methods usually assume fault-free hardware. If proper actions are not taken, such fault-free WCET approaches become unsafe, when faults impact the hardware during execution. The majority of approaches, dealing with hardware faults, address the impact of faults on the functional behavior of an application, i.e., denial of service and binary correctness. Few approaches address the impact of faults on the application timing behavior, i.e., time to finish the application, and target faults occurring in memories. However, as the transistor size in modern technologies is significantly reduced, faults in cores cannot be considered negligible anymore. This work shows that faults not only affect the functional behavior, but they can have a significant impact on the timing behavior of applications. To expose the overall impact of faults, we enhance vulnerability analysis to include not only functional, but also timing correctness, and show that faults impact WCET estimations. As common techniques to deal with faults, such as watchdog timers and re-execution, have large timing overhead for error detection and correction, we propose a mechanism with near-zero and bounded timing overhead. A RISC-V core is used as a case study. The obtained results show that faults can lead up to almost 700% increase in the maximum observed execution time between fault-free and faulty execution without protection, affecting the WCET estimations. On the contrary, the proposed mechanism is able to restore fault-free WCET estimations with a bounded overhead of 2 execution cycles
Approximate Computing Survey, Part I: Terminology and Software & Hardware Approximation Techniques
The rapid growth of demanding applications in domains applying multimedia
processing and machine learning has marked a new era for edge and cloud
computing. These applications involve massive data and compute-intensive tasks,
and thus, typical computing paradigms in embedded systems and data centers are
stressed to meet the worldwide demand for high performance. Concurrently, the
landscape of the semiconductor field in the last 15 years has constituted power
as a first-class design concern. As a result, the community of computing
systems is forced to find alternative design approaches to facilitate
high-performance and/or power-efficient computing. Among the examined
solutions, Approximate Computing has attracted an ever-increasing interest,
with research works applying approximations across the entire traditional
computing stack, i.e., at software, hardware, and architectural levels. Over
the last decade, there is a plethora of approximation techniques in software
(programs, frameworks, compilers, runtimes, languages), hardware (circuits,
accelerators), and architectures (processors, memories). The current article is
Part I of our comprehensive survey on Approximate Computing, and it reviews its
motivation, terminology and principles, as well it classifies and presents the
technical details of the state-of-the-art software and hardware approximation
techniques.Comment: Under Review at ACM Computing Survey
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
Analysis of Embedded Controllers Subject to Computational Overruns
Microcontrollers have become an integral part of modern everyday embedded systems, such as smart bikes, cars, and drones. Typically, microcontrollers operate under real-time constraints, which require the timely execution of programs on the resource-constrained hardware. As embedded systems are becoming increasingly more complex, microcontrollers run the risk of violating their timing constraints, i.e., overrunning the program deadlines. Breaking these constraints can cause severe damage to both the embedded system and the humans interacting with the device. Therefore, it is crucial to analyse embedded systems properly to ensure that they do not pose any significant danger if the microcontroller overruns a few deadlines.However, there are very few tools available for assessing the safety and performance of embedded control systems when considering the implementation of the microcontroller. This thesis aims to fill this gap in the literature by presenting five papers on the analysis of embedded controllers subject to computational overruns. Details about the real-time operating system's implementation are included into the analysis, such as what happens to the controller's internal state representation when the timing constraints are violated. The contribution includes theoretical and computational tools for analysing the embedded system's stability, performance, and real-time properties.The embedded controller is analysed under three different types of timing violations: blackout events (when no control computation is completed during long periods), weakly-hard constraints (when the number of deadline overruns is constrained over a window), and stochastic overruns (when violations of timing constraints are governed by a probabilistic process). These scenarios are combined with different implementation policies to reduce the gap between the analysis and its practical applicability. The analyses are further validated with a comprehensive experimental campaign performed on both a set of physical processes and multiple simulations.In conclusion, the findings of this thesis reveal that the effect deadline overruns have on the embedded system heavily depends the implementation details and the system's dynamics. Additionally, the stability analysis of embedded controllers subject to deadline overruns is typically conservative, implying that additional insights can be gained by also analysing the system's performance
Analyzable dataflow executions with adaptive redundancy
Increasing performance requirements in the embedded systems domain have encouraged a drift from singlecore to multicore processors, and thus multicore processors are widely used in embedded systems today.
Cars are an example for complex embedded systems in which the use of multicore processors is continuously increasing.
A major reason for this is to consolidate different software components on one chip and thus reduce the number of electronic control units.
However, the de facto standard in the automotive industry, AUTOSAR (AUTomotive Open System ARchitecture), was originally designed for singlecore processors.
Although basic support for multicore processors was added, more complex architectures are currently not compatible with the software stack.
Regarding the software components running on the ECUS of modern cars, requirements are diverse.
On the one hand, there are safety-critical tasks, like the airbag control, anti-lock braking system, electronic stability control and emergency brake assist, and on the other hand, tasks which do not have any safety-related requirements at all, for example tasks controlling the infotainment system.
Trends like autonomous driving lead to even more demanding tasks in the system since such tasks are both safety-critical and data-intensive.
As embedded applications, like those in the automotive domain, become more complex, new approaches are necessary.
Data-intensive tasks are usually tackled with large-scale computing frameworks.
In this thesis, some major concepts of such frameworks are transferred to the high-performance embedded systems domain.
For this purpose, the thesis describes a runtime environment (RTE) that is suitable for different kinds of multi- and manycore hardware architectures.
The RTE follows a dataflow execution model based on directed acyclic graphs (DAGs).
Graphs are divided into sections which are scheduled separately.
For each section, the RTE uses a DAG scheduling heuristic to compute multiple schedules covering different redundancy configurations.
This allows the RTE to dynamically change the redundancy of parts of the graph at runtime despite the use of fixed schedules.
Alternatively, the RTE also provides an online scheduler.
To specify suitable graphs, the RTE also provides a programming model which shares similarities with common large-scale computing frameworks, for example Apache Spark.
Using this programming model, three common distributed algorithms, namely Cannon's algorithm, the Cooley-Tukey algorithm and bitonic sort, were implemented.
With these three programs, the performance of the RTE was evaluated for a variety of configurations on two different hardware architectures.
The results show that the proposed RTE is able to reach the performance of established parallel computation frameworks and that for suitable graphs with reasonable sectionings the negative influence on the runtime is either small or non-existent.Aufgrund steigender Anforderungen an die Leistungsfähigkeit von eingebetteten Systemen finden Mehrkernprozessoren mittlerweile auch in eingebetteten Systemen Verwendung.
Autos sind ein Beispiel für eingebettete Systeme, in denen die Verbreitung von Mehrkernprozessoren kontinuierlich zunimmt.
Ein Hauptgrund ist, dass es dadurch möglich wird, mehrere Applikationen, für die ursprünglich mehrere Electronic Control Units (ECUs) notwendig waren, auf ein und demselben Chip auszuführen und dadurch die Anzahl der ECUs im Gesamtsystem zu verringern.
Der De-facto-Standard AUTOSAR (AUTomotive Open System ARchitecture) wurde jedoch ursprünglich nur im Hinblick auf Einkernprozessoren entworfen und, obwohl der Softwarestack um grundlegende Unterstützung für Mehrkernprozessoren erweitert wurde, sind komplexere Architekturen nicht damit kompatibel.
Die Anforderungen der Softwarekomponenten von modernen Autos sind vielfältig.
Einerseits gibt es hochgradig sicherheitskritische Tasks, die beispielsweise die Airbags, das Antiblockiersystem, die Fahrdynamikregelung oder den Notbremsassistenten steuern und andererseits Tasks, die keinerlei sicherheitskritische Anforderungen aufweisen, wie zum Beispiel Tasks zur Steuerung des Infotainment-Systems.
Neue Trends wie autonomes Fahren führen zu weiteren anspruchsvollen Tasks, die sowohl hohe Leistungs- als auch Sicherheitsanforderungen aufweisen.
Da die Komplexität eingebetteter Anwendungen, beispielsweise im Automobilbereich, stetig zunimmt, sind neue Ansätze erforderlich.
Für komplexe, datenintensive Aufgaben werden in der Regel Cluster-Computing-Frameworks eingesetzt.
In dieser Arbeit werden Konzepte solcher Frameworks auf den Bereich der eingebetteten Systeme übertragen.
Dazu beschreibt die Arbeit eine Laufzeitumgebung (RTE) für eingebettete Mehrkernarchitekturen.
Die RTE folgt einem Datenfluss-Ausführungsmodell, das auf gerichteten azyklischen Graphen basiert.
Graphen können in Abschnitte eingeteilt werden, für welche separat mehrere unterschiedlich redundante Schedules mit Hilfe einer Scheduling-Heuristik berechnet werden.
Dieser Ansatz erlaubt es, die Redundanz von Teilen der Anwendung zur Laufzeit zu verändern.
Alternativ unterstützt die RTE auch Scheduling zur Laufzeit.
Zur Erzeugung von Graphen stellt die RTE ein Programmiermodell bereit, welches sich an etablierten Frameworks, insbesondere Apache Spark, orientiert.
Damit wurden drei Beispielanwendungen implementiert, die auf gängigen Algorithmen basieren.
Konkret handelt es sich um Cannon's Algorithmus, den Cooley-Tukey-Algorithmus und bitonisches Sortieren.
Um die Leistungsfähigkeit der RTE zu ermitteln, wurden diese drei Anwendungen mehrfach mit verschiedenen Konfigurationen auf zwei Hardware-Architekturen ausgeführt.
Die Ergebnisse zeigen, dass die RTE in ihrer Leistungsfähigkeit mit etablierten Systemen vergleichbar ist und die Laufzeit bei einer sinnvollen Graphaufteilung im besten Fall nur geringfügig beeinflusst wird
Error Detection and Diagnosis for System-on-Chip in Space Applications
Tesis por compendio de publicacionesLos componentes electrónicos comerciales, comúnmente llamados componentes
Commercial-Off-The-Shelf (COTS) están presentes en multitud de dispositivos habituales
en nuestro día a día. Particularmente, el uso de microprocesadores y sistemas en chip (SoC)
altamente integrados ha favorecido la aparición de dispositivos electrónicos cada vez más
inteligentes que sostienen el estilo de vida y el avance de la sociedad moderna. Su uso se
ha generalizado incluso en aquellos sistemas que se consideran críticos para la seguridad,
como vehículos, aviones, armamento, dispositivos médicos, implantes o centrales eléctricas.
En cualquiera de ellos, un fallo podría tener graves consecuencias humanas o económicas.
Sin embargo, todos los sistemas electrónicos conviven constantemente con factores internos
y externos que pueden provocar fallos en su funcionamiento. La capacidad de un sistema
para funcionar correctamente en presencia de fallos se denomina tolerancia a fallos, y es
un requisito en el diseño y operación de sistemas críticos.
Los vehículos espaciales como satélites o naves espaciales también hacen uso de
microprocesadores para operar de forma autónoma o semi autónoma durante su vida útil,
con la dificultad añadida de que no pueden ser reparados en órbita, por lo que se consideran
sistemas críticos. Además, las duras condiciones existentes en el espacio, y en particular
los efectos de la radiación, suponen un gran desafío para el correcto funcionamiento de los
dispositivos electrónicos. Concretamente, los fallos transitorios provocados por radiación
(conocidos como soft errors) tienen el potencial de ser una de las mayores amenazas para
la fiabilidad de un sistema en el espacio.
Las misiones espaciales de gran envergadura, típicamente financiadas públicamente
como en el caso de la NASA o la Agencia Espacial Europea (ESA), han tenido
históricamente como requisito evitar el riesgo a toda costa por encima de cualquier
restricción de coste o plazo. Por ello, la selección de componentes resistentes a la radiación
(rad-hard) específicamente diseñados para su uso en el espacio ha sido la metodología
imperante en el paradigma que hoy podemos denominar industria espacial tradicional, u
Old Space. Sin embargo, los componentes rad-hard tienen habitualmente un coste mucho
más alto y unas prestaciones mucho menores que otros componentes COTS equivalentes.
De hecho, los componentes COTS ya han sido utilizados satisfactoriamente en misiones
de la NASA o la ESA cuando las prestaciones requeridas por la misión no podían ser
cubiertas por ningún componente rad-hard existente.
En los últimos años, el acceso al espacio se está facilitando debido en gran parte a la
entrada de empresas privadas en la industria espacial. Estas empresas no siempre buscan
evitar el riesgo a toda costa, sino que deben perseguir una rentabilidad económica, por
lo que hacen un balance entre riesgo, coste y plazo mediante gestión del riesgo en un
paradigma denominado Nuevo Espacio o New Space. Estas empresas a menudo están
interesadas en entregar servicios basados en el espacio con las máximas prestaciones y el mayor beneficio posibles, para lo cual los componentes rad-hard son menos atractivos
debido a su mayor coste y menores prestaciones que los componentes COTS existentes.
Sin embargo, los componentes COTS no han sido específicamente diseñados para su uso
en el espacio y típicamente no incluyen técnicas específicas para evitar que los efectos de
la radiación afecten su funcionamiento. Los componentes COTS se comercializan tal cual
son, y habitualmente no es posible modificarlos para mejorar su resistencia a la radiación.
Además, los elevados niveles de integración de los sistemas en chip (SoC) complejos
de altas prestaciones dificultan su observación y la aplicación de técnicas de tolerancia
a fallos. Este problema es especialmente relevante en el caso de los microprocesadores.
Por tanto, existe un gran interés en el desarrollo de técnicas que permitan conocer y
mejorar el comportamiento de los microprocesadores COTS bajo radiación sin modificar
su arquitectura y sin interferir en su funcionamiento para facilitar su uso en el espacio y
con ello maximizar las prestaciones de las misiones espaciales presentes y futuras.
En esta Tesis se han desarrollado técnicas novedosas para detectar, diagnosticar y
mitigar los errores producidos por radiación en microprocesadores y sistemas en chip
(SoC) comerciales, utilizando la interfaz de traza como punto de observación. La interfaz de
traza es un recurso habitual en los microprocesadores modernos, principalmente enfocado
a soportar las tareas de desarrollo y depuración del software durante la fase de diseño. Sin
embargo, una vez el desarrollo ha concluido, la interfaz de traza típicamente no se utiliza
durante la fase operativa del sistema, por lo que puede ser reutilizada sin coste. La interfaz
de traza constituye un punto de conexión viable para observar el comportamiento de un
microprocesador de forma no intrusiva y sin interferir en su funcionamiento.
Como resultado de esta Tesis se ha desarrollado un módulo IP capaz de recabar
y decodificar la información de traza de un microprocesador COTS moderno de altas
prestaciones. El IP es altamente configurable y personalizable para adaptarse a diferentes
aplicaciones y tipos de procesadores. Ha sido diseñado y validado utilizando el dispositivo
Zynq-7000 de Xilinx como plataforma de desarrollo, que constituye un dispositivo COTS
de interés en la industria espacial. Este dispositivo incluye un procesador ARM Cortex-A9
de doble núcleo, que es representativo del conjunto de microprocesadores hard-core
modernos de altas prestaciones. El IP resultante es compatible con la tecnología ARM
CoreSight, que proporciona acceso a información de traza en los microprocesadores ARM.
El IP incorpora técnicas para detectar errores en el flujo de ejecución y en los datos de la
aplicación ejecutada utilizando la información de traza, en tiempo real y con muy baja
latencia. El IP se ha validado en campañas de inyección de fallos y también en radiación con
protones y neutrones en instalaciones especializadas. También se ha combinado con otras
técnicas de tolerancia a fallos para construir técnicas híbridas de mitigación de errores.
Los resultados experimentales obtenidos demuestran su alta capacidad de detección y
potencialidad en el diagnóstico de errores producidos por radiación.
El resultado de esta Tesis, desarrollada en el marco de un Doctorado Industrial entre
la Universidad Carlos III de Madrid (UC3M) y la empresa Arquimea, se ha transferido satisfactoriamente al entorno empresarial en forma de un proyecto financiado por la
Agencia Espacial Europea para continuar su desarrollo y posterior explotación.Commercial electronic components, also known as Commercial-Off-The-Shelf (COTS),
are present in a wide variety of devices commonly used in our daily life. Particularly, the
use of microprocessors and highly integrated System-on-Chip (SoC) devices has fostered
the advent of increasingly intelligent electronic devices which sustain the lifestyles and the
progress of modern society. Microprocessors are present even in safety-critical systems,
such as vehicles, planes, weapons, medical devices, implants, or power plants. In any of
these cases, a fault could involve severe human or economic consequences. However, every
electronic system deals continuously with internal and external factors that could provoke
faults in its operation. The capacity of a system to operate correctly in presence of faults
is known as fault-tolerance, and it becomes a requirement in the design and operation of
critical systems.
Space vehicles such as satellites or spacecraft also incorporate microprocessors to
operate autonomously or semi-autonomously during their service life, with the additional
difficulty that they cannot be repaired once in-orbit, so they are considered critical systems.
In addition, the harsh conditions in space, and specifically radiation effects, involve a big
challenge for the correct operation of electronic devices. In particular, radiation-induced
soft errors have the potential to become one of the major risks for the reliability of systems
in space.
Large space missions, typically publicly funded as in the case of NASA or European
Space Agency (ESA), have followed historically the requirement to avoid the risk at any
expense, regardless of any cost or schedule restriction. Because of that, the selection of
radiation-resistant components (known as rad-hard) specifically designed to be used in
space has been the dominant methodology in the paradigm of traditional space industry,
also known as “Old Space”. However, rad-hard components have commonly a much higher
associated cost and much lower performance that other equivalent COTS devices. In fact,
COTS components have already been used successfully by NASA and ESA in missions
that requested such high performance that could not be satisfied by any available rad-hard
component.
In the recent years, the access to space is being facilitated in part due to the irruption
of private companies in the space industry. Such companies do not always seek to avoid
the risk at any cost, but they must pursue profitability, so they perform a trade-off between
risk, cost, and schedule through risk management in a paradigm known as “New Space”.
Private companies are often interested in deliver space-based services with the maximum
performance and maximum benefit as possible. With such objective, rad-hard components
are less attractive than COTS due to their higher cost and lower performance.
However, COTS components have not been specifically designed to be used in space
and typically they do not include specific techniques to avoid or mitigate the radiation effects in their operation. COTS components are commercialized “as is”, so it is not
possible to modify them to improve their susceptibility to radiation effects. Moreover,
the high levels of integration of complex, high-performance SoC devices hinder their
observability and the application of fault-tolerance techniques. This problem is especially
relevant in the case of microprocessors. Thus, there is a growing interest in the development
of techniques allowing to understand and improve the behavior of COTS microprocessors
under radiation without modifying their architecture and without interfering with their
operation. Such techniques may facilitate the use of COTS components in space and
maximize the performance of present and future space missions.
In this Thesis, novel techniques have been developed to detect, diagnose, and
mitigate radiation-induced errors in COTS microprocessors and SoCs using the trace
interface as an observation point. The trace interface is a resource commonly found
in modern microprocessors, mainly intended to support software development and
debugging activities during the design phase. However, it is commonly left unused
during the operational phase of the system, so it can be reused with no cost. The trace
interface constitutes a feasible connection point to observe microprocessor behavior in a
non-intrusive manner and without disturbing processor operation.
As a result of this Thesis, an IP module has been developed capable to gather and
decode the trace information of a modern, high-end, COTS microprocessor. The IP is highly
configurable and customizable to support different applications and processor types. The
IP has been designed and validated using the Xilinx Zynq-7000 device as a development
platform, which is an interesting COTS device for the space industry. This device features a
dual-core ARM Cortex-A9 processor, which is a good representative of modern, high-end,
hard-core microprocessors. The resulting IP is compatible with the ARM CoreSight
technology, which enables access to trace information in ARM microprocessors. The IP is
able to detect errors in the execution flow of the microprocessor and in the application data
using trace information, in real time and with very low latency. The IP has been validated
in fault injection campaigns and also under proton and neutron irradiation campaigns in
specialized facilities. It has also been combined with other fault-tolerance techniques
to build hybrid error mitigation approaches. Experimental results demonstrate its high
detection capabilities and high potential for the diagnosis of radiation-induced errors.
The result of this Thesis, developed in the framework of an Industrial Ph.D. between the
University Carlos III of Madrid (UC3M) and the company Arquimea, has been successfully
transferred to the company business as a project sponsored by European Space Agency to
continue its development and subsequent commercialization.Programa de Doctorado en Ingeniería Eléctrica, Electrónica y Automática por la Universidad Carlos III de MadridPresidenta: María Luisa López Vallejo.- Secretario: Enrique San Millán Heredia.- Vocal: Luigi Di Lill
Computational Optimizations for Machine Learning
The present book contains the 10 articles finally accepted for publication in the Special Issue “Computational Optimizations for Machine Learning” of the MDPI journal Mathematics, which cover a wide range of topics connected to the theory and applications of machine learning, neural networks and artificial intelligence. These topics include, among others, various types of machine learning classes, such as supervised, unsupervised and reinforcement learning, deep neural networks, convolutional neural networks, GANs, decision trees, linear regression, SVM, K-means clustering, Q-learning, temporal difference, deep adversarial networks and more. It is hoped that the book will be interesting and useful to those developing mathematical algorithms and applications in the domain of artificial intelligence and machine learning as well as for those having the appropriate mathematical background and willing to become familiar with recent advances of machine learning computational optimization mathematics, which has nowadays permeated into almost all sectors of human life and activity
A Survey of Fault-Tolerance Techniques for Embedded Systems from the Perspective of Power, Energy, and Thermal Issues
The relentless technology scaling has provided a significant increase in processor performance, but on the other hand, it has led to adverse impacts on system reliability. In particular, technology scaling increases the processor susceptibility to radiation-induced transient faults. Moreover, technology scaling with the discontinuation of Dennard scaling increases the power densities, thereby temperatures, on the chip. High temperature, in turn, accelerates transistor aging mechanisms, which may ultimately lead to permanent faults on the chip. To assure a reliable system operation, despite these potential reliability concerns, fault-tolerance techniques have emerged. Specifically, fault-tolerance techniques employ some kind of redundancies to satisfy specific reliability requirements. However, the integration of fault-tolerance techniques into real-time embedded systems complicates preserving timing constraints. As a remedy, many task mapping/scheduling policies have been proposed to consider the integration of fault-tolerance techniques and enforce both timing and reliability guarantees for real-time embedded systems. More advanced techniques aim additionally at minimizing power and energy while at the same time satisfying timing and reliability constraints. Recently, some scheduling techniques have started to tackle a new challenge, which is the temperature increase induced by employing fault-tolerance techniques. These emerging techniques aim at satisfying temperature constraints besides timing and reliability constraints. This paper provides an in-depth survey of the emerging research efforts that exploit fault-tolerance techniques while considering timing, power/energy, and temperature from the real-time embedded systems’ design perspective. In particular, the task mapping/scheduling policies for fault-tolerance real-time embedded systems are reviewed and classified according to their considered goals and constraints. Moreover, the employed fault-tolerance techniques, application models, and hardware models are considered as additional dimensions of the presented classification. Lastly, this survey gives deep insights into the main achievements and shortcomings of the existing approaches and highlights the most promising ones
LIPIcs, Volume 248, ISAAC 2022, Complete Volume
LIPIcs, Volume 248, ISAAC 2022, Complete Volum
- …