Equipping real-time systems with soft error resilience can be challenging due to the tradeoff of the timing and failure requirements for mixed-criticality tasks. Violation of these requirements yields failed task scheduling in one way or another. However, not every task requires the same degree of soft error resilience. For example, low-criticality tasks can run with low or even no soft error resilience, whereas mid- or highcriticality tasks may require relatively high resilience depending on their inherent failure requirement. Unfortunately, existing soft error resilience schemes do not have the ability to control the degree of their resilience in a fine-grained way, i.e., they can only be turned on or off as a whole during task execution. To this end, this paper presents RTailor (Resilience Tailor), a compiler-directed parameterized soft error resilience scheme that achieves the desired level of soft error protection according to the demand of each task. The key idea is that for a given protection ratio, compilers can transform a hot loop such that the number of its iterations protected over the total iterations matches the ratio. Compared to full resilience protecting every iteration, RTailor's parameterized soft error resilience significantly reduces the performance overhead of tasks, thereby improving their real-time schedulability. The experimental results highlight that for four representative fault rates, RTailor achieves 15%~average schedulability improvements over the state-of-the-art work that lacks parameterized soft error resilience.
This letter takes a first step towards the analysis of safety and performance critical computational tasks for autonomous robots. Our contribution is a safety-performance (SP) metric that ensures safety first and then rewards improved performance of real-time computational tasks, building on the notion of "nominal safety" which defines timely computation as critical to safety. To fully utilize the computing capacity of heterogeneous processing units (e.g., CPU + GPU), a computational task graph model called the Stochastic Heterogeneous Parallel Directed Acyclic Graph (SHP-DAG) is adopted to capture the uncertain nature of robotic applications and their required computation. Compared to state-of-the-art task models, SHP-DAG avoids the pessimism of deterministic worst-case execution time (WCET), instead modeling the execution times of tasks by probability distributions. Our SP metric is defined upon this task model, which allows us to apply the FIFO and CFS schedulers of the Linux kernel on complex robotic computational tasks and compare the SP metric with baseline metrics, average and worst-case makespan. Extensive experimental results on NVIDIA Jetson AGX Xavier hardware demonstrate that the proposed SP metric is appropriate for managing computational tasks in a manner that balances safety and performance in robotic systems.