A FaultTolerant Scheduling Algorithm for RealTime Periodic Tasks















- Slides: 15

A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults Ching-Chih Han, Kang G. Shin, and Jian Wu

Introduction n n Trading the quality of computation results for timeliness to avoid missing deadlines Redundant programs to achieve software fault tolerance

Introduction (continue) n Deadline mechanism n n Primary and alternate versions of task Objective n n Guaranteeing either the primary or alternate version of each task to be completed in time Attempting to complete as many primaries as possible

Background n Periodic task system model n n n n Task set T = { T 1, T 2, …, Tn } Period Ti of Ti Primary Pi and alternate Ai Computation time pi, ai Request time rij of j th job Deadline dij of j th job Planning cycle T

Background (continue) n Scheduling algorithms n n n Priority-driven preemptive scheduling scheme Feasibly schedule Optimal scheduling scheme Rate monotonic (RM) algorithm Earliest-deadline-first (EDF) algorithm

The Proposed Approach n The basic algorithm n n Overview Details and examples n n n Offline scheduling Online scheduling Schedulability analysis

Notification Times Calculated by Backward-RM Algorithm Task 1 (5, 2, 1) A 21 A 11 0 5 Task 2 (6, 2, 2) A 22 A 12 10 A 23 A 13 15 A 24 A 14 20 A 25 A 15 25 A 16 30

Runtime Dynamic Job Scheduling Task 1 (5, 2, 1) P 11 P 21 fail aborted P 11 P 22 success P 11 P 21 P 12 A 21 A 11 A 21 0 Task 2 (6, 2, 2) 5 P 22 A 12 A 22 10 A 13 15 A 23 A 14 20 A 24 A 15 25 A 16 30

The Proposed Approach (continue) n The modified algorithm n n Existing problems Checking available time (CAT) algorithm n n Available Time ATij = (vij – t) – Σli=1 Ii Tradeoff between elimination of waste time and runtime overhead

Drawback of Basic Scheduling Algorithm Task 1 (9, 5, 2) P 11 fail P 11 P 21 aborted A 11 P 12 A 11 5 A 21 Task 2 (14, 4, 3) P 12 aborted P 12 A 21 10 A 12 P 13 P 22 success aborted P 13 A 12 15 P 22 A 13 A 22 20 25 30

Tasks Scheduled by CAT Algorithm Task 1 (9, 5, 2) P 11 fail P 11 P 21 success P 21 A 11 P 21 Task 2 (14, 4, 3) P 12 success P 12 P 22 P 13 P 22 success P 13 P 22 P 14 Select P 21 instead of P 12 A 11 5 A 21 10 A 12 15 A 22 A 13 A 22 20 25 30

Drawback of Basic Scheduling Algorithm (continue) Task 1 (3, 1. 5, 1) P 11 P 21 success fail P 11 P 21 A 11 Task 2 (5, 1, 1) P 12 aborted P 12 A 21 A 12 5 A 13 A 22 10 A 14 A 23 A 15 15

The Proposed Approach (continue) n Eliminating idle time (EIT) algorithm

Tasks Scheduled by EIT Algorithm Task 1 (3, 1. 5, 1) P 11 P 21 success fail P 11 P 21 A 21 P 12 A 11 Task 2 (5, 1, 1) P 12 success A 21 A 12 5 A 13 A 22 10 A 14 A 23 A 15 15

Conclusion n n Meeting timing constraints Tolerating software faults