Real time task scheduling and fault tolerance for multiple task failure
Create New

Real time task scheduling and fault tolerance for multiple task failure

Project period

03/14/2019 - 04/30/2019

Views

125

0



Real time task scheduling and fault tolerance for multiple task failure
Real time task scheduling and fault tolerance for multiple task failure

We survey scheduling algorithms proposed for tolerating permanent and transient failures in real-time embedded systems. These algorithms attempt to provide low-cost solutions to fault tolerance, graceful performance degradation, and load shedding in such systems by exploiting tradeoffs between space and/or time redundancy, timing accuracy, and quality of service. We place fault-tolerant scheduling algorithms in three broad categories: dynamic scheduling, off-line or static scheduling, and scheduling of imprecise computations. Under dynamic scheduling, we survey fault-tolerance extensions to the widely used rate-monotonic and earliest-deadline-first scheduling policies. We then discuss methods that provide fault tolerance in statically scheduled systems using precomputed alternate schedules or run-time rescheduling. We also discuss imprecise scheduling, which achieves a tradeoff between solution quality and timeliness. We conclude with a brief discussion of scheduling and fault-tolerance issues related to safety-critical embedded systems.

Why: Problem statement

The correctness of real-time safety-critical systems depends not only on the results of computations but also on the time instants at which these results become available. Examples of such systems include fly- and drive-by-wire, industrial process control, nuclear reactor management, and medical electronics. Real-time tasks have to be mapped to processors such that deadlines, response times, and similar performance requirements are met, a process called task scheduling.

Faults can be classified according to their duration: Permanent faults remain in existence indefinitely if no corrective action is taken. These faults can be caused by catastrophic system failures such as processor failures, communication medium cutoff, and so on. Intermittent faults appear, disappear, and reappear repeatedly. They are difficult to predict, but their effects are highly correlated. Most intermittent faults are due to marginal design or manufacturing. Transient faults appear and disappear quickly, and are not correlated with each other. They are most commonly induced by random environmental disturbances such as EMI. 

How: Solution description

Many real-time embedded systems have to provide a high degree of fault tolerance using modest hardware resources due to cost and power consumption restrictions. Scheduling algorithms can provide low-cost solutions to fault tolerance, graceful performance degradation, and load shedding in such systems by exploiting tradeoffs between space or time redundancy, timing accuracy, and quality of service.

How is it different from competition

We have divided fault-tolerant scheduling algorithms into three broad groups:
dynamic,
static
imprecise
A dynamic schedule is flexible and adapts quickly to environmental changes since it makes its decisions at run time. Since dynamic algorithms react to unexpected system events, they are susceptible to transient overloads. Such algorithms are inadequate for scheduling tasks with precedence, synchronization, and mutual exclusion constraints, executing in a distributed environment.

Static systems are very inflexible and do not adapt well to environmental changes. Fault tolerance is typically provided in static systems by primary/contingency scheduling and fault masking. 

The imprecise methods use partial results when exact results cannot be produced within the deadline. This approach is feasible only if the corresponding computation can be formulated as a sequence of iterations.

Who are your customers

Business Organisation can use this project.

Project Phases and Schedule

Phase-1: Preparing the System with Machine Learning Environment.

Phase-2: Getting the Datasets.

Phase-3: Develop code using ML code using Python.

Phase-4: Testing the Project.

Resources Required

Software:

Python 2.8 or Higher version.

Jupyter notebook.

Anaconda 2 or Higher.

Hardware:

PC or MAC.

Minimum 4GB of RAM.

Comments

Leave a Comment

Post a Comment