A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults
-
Upload
joelle-nixon -
Category
Documents
-
view
15 -
download
0
description
Transcript of A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults
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
50 10 15 20 25 30
A11 A12 A13 A14 A15 A16
A21 A22 A23 A24 A25A21
Task 1 (5, 2, 1) Task 2 (6, 2, 2)
Runtime Dynamic Job Scheduling
50 10 15 20 25 30
A11 A12 A13 A14 A15 A16A21 A22 A23 A24 A25A21
Task 1 (5, 2, 1) Task 2 (6, 2, 2)
P11 P21
P11 fail
P21 aborted
P11 success
P22 success
P12 P22
The Proposed Approach (continue) The modified algorithm
Existing problems Checking available time (CAT)
algorithm Available Time ATij = (vij – t) – Σl
i=1Ii Tradeoff between elimination of waste time
and runtime overhead
Drawback of Basic Scheduling Algorithm
5 10 15 20 25 30
A11 A12 A13 A22A21
Task 1 (9, 5, 2) Task 2 (14, 4, 3)
P11 P21
P11 fail
P21 aborted
P13 success
A22
P12 aborted
P22 aborted
P12 P12 P13 P22A11 A21 A12 A22
Tasks Scheduled by CAT Algorithm
5 10 15 20 25 30
A11 A12 A13 A22A21
Task 1 (9, 5, 2) Task 2 (14, 4, 3)
P11 P21
P11 fail
P21 success
A22
P12 success
P22 success
P13 success
Select P21 instead of P12
A11 P21 P12 P22 P13 P22 P14
Drawback of Basic Scheduling Algorithm (continue)
5 10 15
A11 A12 A13A21
Task 1 (3, 1.5, 1) Task 2 (5, 1, 1)
P11 P21
P11 success
P21 fail
A22
P12 aborted
P12
A14 A23 A15
The Proposed Approach (continue)
Eliminating idle time (EIT) algorithm
Tasks Scheduled by EIT Algorithm
5 10 15
A11 A12 A13A21
Task 1 (3, 1.5, 1) Task 2 (5, 1, 1)
P11 P21
P11 success
P21 fail
A22
P12 success
P12
A14 A23 A15
A21 A21
Conclusion
Meeting timing constraints Tolerating software faults