Abstract

The multiple compiled function versions generated in Chap. 5 are leveraged by the reliability-driven system software to exploit the vulnerability vs. performance tradeoffs for optimization under constrained scenarios. This chapter presents several system software level reliability optimization techniques in order to enable dependable execution of applications on single core processors and multi-/manycore processors, while exploiting the concept of multiple reliable versions. In case of timing-conscious systems, besides functional correctness, it is also important to consider the timing correctness (i.e., whether a correct output is delivered within the deadline or not). To account for both functional reliability (i.e., correctness of program’s output in the presence of faults) and timing reliability (i.e., deadline misses in the presence of faults, for instance, due to reliable application execution with performance loss), the system software layer employs the Reliability-Timing Penalty as the optimization function. First, a novel offline system software is presented in Sect. 6.1 that constructs a schedule table for different function versions such that these schedules offer minimum Reliability-Timing Penalty. Each schedule represents a particular dependable application composition under a timing scenario. At run-time, in order to provide dependable application execution for single core processors, a reliability-driven run-time system (Sect. 6.2) selects appropriate reliable versions depending upon the execution properties of different functions, deadline, and the achieved reliability levels.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call