230 likes | 424 Views
CprE 545: FAULT-TOLERANT SYSTEMS. Lecture 5 : Fault-tolerance in Real-time Systems – Imprecise Computations. Real-time Systems.
E N D
CprE 545: FAULT-TOLERANT SYSTEMS Lecture 5: Fault-tolerance in Real-time Systems – Imprecise Computations
Real-time Systems • Real-time systems are defined as those systems in which the correctness of the system depends not only on the logical result of computation, but also on the time at which the results are produced. • Each real-time task has a deadline before which its deadline has to be completed. • Fault tolerance is must in most real-time systems.
Types of Real-time Systems • Hard real-time systems in which the consequences of not executing a task before its deadline may be catastrophic. Examples:Avionics and plant control. • Firm real-time systems in which the result produced by the corresponding task ceases to be useful as soon as the deadline expires, but the consequences of not meeting the deadline are not very severe. Examples: Banking and airline reservation. • Soft real-time systems in which the utility of results produced by a task with a soft deadline decreases over time after the deadline expires. Example:Telephone switching system and image processing.
Real-time Applications • Real-time computing is an enabling technology for many current and future application areas. A list of these areas includes: • Control applications (e.g., process control, air traffic control, and vehicle maneuvering). • Defense(e.g., command and control systems) • Medicine (e.g., telemedicine and intensive care monitoring). • Telecommunication (e.g., telephone switching system). • Multimedia (e.g., video on demand)
Periodic Tasks • Time-driven. • Characteristics are known a priori. • Task Ti is characterized by (Pi, Ci), where Pi is the period and Ti is Ci is the execution time. • Examples: • Tasks monitoring temperature and pressure of a patient in an ICU. • Tasks monitoring speed and altitude of an aircraft.
Aperiodic Tasks • Event-driven. • Characteristics are not known a priori. • Task Ti is characterized by (Ai, Ci, Di), where Ai, Ci, and Di denote arrival time, execution time, and deadline of the task, respectively. • Examples: • Tasks activated when the condition of a patient changes in an ICU. • Tasks associated with when the pilot executing a turn.
Real-time Task Models • Conventional task model: • Every task should be executed before its deadline. Example: Tasks guiding a missile. • Imprecise Computation (IC) model: • A task is divided into mandatory and optional parts. • The mandatory must be executed before deadline. The execution of optional part refines the result. Example: Tasks in image processing and radar tracking. • (m,k)-firm deadline model: m out of every k consecutive tasks should meet their deadlines.Example: Tasks corresponding to video processing.
Communication Among Tasks • Independent tasks • Resource constrained tasks • Physical or logical resources such as I/O devices or files and communication buffers. • Access to a resource by a task could be in shared mode or exclusive mode. • Resource conflict exists between tasks when one of the accesses is exclusive. • Precedence constrained tasks • If task Tx has precedence relation with task Ty, task Ty can start executing only after Tx finishes its execution.
Preemptive vs Non-preemptive Scheduling • Preemptive Scheduling • Task execution is preempted and resumed later. • Preemption usually takes place to execute a higher priority task. • Offers higher schedulability. • Involves higher scheduling overhead due to context switching. • Non-preemptive Scheduling • Once a task is started executing, it will complete its execution without interruption by any other tasks. • Offers lower schedulability. • Has lower scheduling overhead.
Computing Systems • Uniprocessor System • Shared-memory Multiprocessor System • Distributed-memory Multiprocessor System • Distributed System
Real-time Task Scheduling • Scheduling is a mapping from the task set to the processor (resource) set, • The objectives of a real-time task scheduling algorithm are • to meet task deadlines • to achieve high processor (resource) utilization.
Imprecise Computational Model • A way to avoid timing faults during transient overloads and a way to introduce fault-tolerance by graceful degradation is the use of Imprecise Computation (IC) technique. • The IC model provides scheduling flexibility by trading off result quality to meet task deadlines. • In this approach, a task is divided into a mandatory and an optional part. • The mandatory part must be completed before the task's deadline for an acceptable quality of result.
Precise vs Imprecise results • The optional part, which can be skipped in order to conserve system resources, refines the result. • A task is said to have produced a preciseresult if it has executed its mandatory as well as optional parts before its deadline; • otherwise it is said to have produced imprecise (i.e., approximate) result when it executes the mandatory part alone.
Monotone vs 0/1 constraint tasks • There are two types of imprecise computational tasks, namely, monotone tasks and 0/1 constraint tasks. • A task is monotone if the quality of its intermediate result does not decrease as it executes longer. • An imprecise task with 0/1 constraint requires the optional part to be either fully executed or not at all.
Applications of Imprecise Computations • Applications are where one may prefer timely imprecise results to late precise results. • In image processing, it is often better to have frames of fuzzy images in time than perfect images. • In radar tracking, it is often better to have estimates of target locations in time than accurate location data too late.
Applications (Contd’) • For example, in a tracking and control system, a transient fault may cause tracking computation to terminate prematurely and produce an approximate result. No recovery action is needed if the result still allows the system to maintain a track of its targets. • Similarly, as long as the approximate result produced by a control law computation is sufficiently accurate for the controlled system to remain stable, the fault that causes the computation to terminate prematurely can be tolerated.
Objective Functions • Minimization of total error • Minimization of the maximum or average error
Objective Functions (Cont’d) • Minimization of the number of optional tasks discarded • Shortest processing time first strategy • Minimization of the number of tardy tasks
Scheduling to Minimize Total Error (Identical Weights) • Treat all mandatory tasks as optional. • Use ED policy to schedule all the tasks. (St) • If a feasible schedule is found, precise schedule is obtained, stop. • Else use ED to schedule mandatory tasks. (Sm) • If feasible schedule is not found, infeasible schedule, stop. • Else use Sm as a template, transform St into an optimal schedule that is feasible and minimizes the total error. • (ED policy is a variation of EDF - stops at deadline)
Scheduling periodic tasks • Error-cumulative • Tracking and control applications • Erron-non-cumulative • Image enhancement and speech processing applications
References • J.W.S. Liu, K.J. Lin, W.K. Shih, A.C. Yu, J.Y.Chung, and W. Zhao, ``Algorithms for scheduling imprecise computations,'' IEEE Computer, vol.24, no.5, pp.58-68, May 1991.