150 likes | 167 Views
Learn about a fault-tolerant scheduling approach for real-time tasks with possible software faults, ensuring completion within deadlines by utilizing primary and alternate versions of tasks. Explore detailed algorithms, examples, and tradeoffs to optimize task scheduling.
E N D
A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults Ching-Chih Han, Kang G. Shin, and Jian Wu
Introduction • Trading the quality of computation results for timeliness to avoid missing deadlines • Redundant programs to achieve software fault tolerance
Introduction (continue) • Deadline mechanism • Primary and alternate versions of task • Objective • Guaranteeing either the primary or alternate version of each task to be completed in time • Attempting to complete as many primaries as possible
Background • Periodic task system model • Task set T = { T1,T2, …, 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) • Scheduling algorithms • Priority-driven preemptive scheduling scheme • Feasibly schedule • Optimal scheduling scheme • Rate monotonic (RM) algorithm • Earliest-deadline-first (EDF) algorithm
The Proposed Approach • The basic algorithm • Overview • Details and examples • Offline scheduling • Online scheduling • Schedulability analysis
Notification Times Calculated by Backward-RM Algorithm Task 1 (5, 2, 1) Task 2 (6, 2, 2) A21 A21 A22 A23 A24 A25 A11 A12 A13 A14 A15 A16 0 5 10 15 20 25 30
Runtime Dynamic Job Scheduling Task 1 (5, 2, 1) Task 2 (6, 2, 2) P11 fail P21 aborted P11 success P22 success P11 P21 P12 P22 A21 A11 A21 A12 A22 A13 A23 A14 A24 A15 A25 A16 0 5 10 15 20 25 30
The Proposed Approach (continue) • The modified algorithm • Existing problems • Checking available time (CAT) algorithm • Available Time ATij = (vij – t) – Σli=1Ii • Tradeoff between elimination of waste time and runtime overhead
Drawback of Basic Scheduling Algorithm Task 1 (9, 5, 2) Task 2 (14, 4, 3) P11 fail P21 aborted P12 aborted P13 success P22 aborted P11 P21 A11 P12 A21 P12 A12 P13 P22 A22 A11 A21 A12 A22 A13 A22 5 10 15 20 25 30
Tasks Scheduled by CAT Algorithm Task 1 (9, 5, 2) Task 2 (14, 4, 3) P11 fail P21 success P12 success P13 success P22 success P11 P21 A11 P21 P12 P22 P13 P22 P14 Select P21 instead of P12 A11 A21 A12 A22 A13 A22 5 10 15 20 25 30
Drawback of Basic Scheduling Algorithm (continue) Task 1 (3, 1.5, 1) Task 2 (5, 1, 1) P11 success P21 fail P12 aborted P11 P21 P12 A11 A21 A12 A13 A22 A14 A23 A15 5 10 15
The Proposed Approach (continue) • Eliminating idle time (EIT) algorithm
Tasks Scheduled by EIT Algorithm Task 1 (3, 1.5, 1) Task 2 (5, 1, 1) P11 success P21 fail P12 success P11 P21 A21 P12 A21 A11 A21 A12 A13 A22 A14 A23 A15 5 10 15
Conclusion • Meeting timing constraints • Tolerating software faults