A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

description

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. - PowerPoint PPT Presentation

Transcript of A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

Page 1: 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

Page 2: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

Introduction Trading the quality of computation

results for timeliness to avoid missing deadlines

Redundant programs to achieve software fault tolerance

Page 3: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

Page 4: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

Page 5: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

Background (continue)

Scheduling algorithms Priority-driven preemptive scheduling

scheme Feasibly schedule Optimal scheduling scheme Rate monotonic (RM) algorithm Earliest-deadline-first (EDF) algorithm

Page 6: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

The Proposed Approach The basic algorithm

Overview Details and examples

Offline scheduling Online scheduling

Schedulability analysis

Page 7: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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)

Page 8: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

Page 9: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

Page 10: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

Page 11: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

Page 12: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

Page 13: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

The Proposed Approach (continue)

Eliminating idle time (EIT) algorithm

Page 14: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

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

Page 15: A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults

Conclusion

Meeting timing constraints Tolerating software faults