misconceptions about real time

31
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious P roblem for Next Generation Systems , IEEE Computer, 21(10), pp. 10-19, October 1988.

Upload: nirmala-last

Post on 28-Nov-2014

2.078 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Misconceptions About Real Time

Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems

J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious Problem for Next Generation Systems, IEEE Computer, 21(10), pp. 10-19, October 1988.

Page 2: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 2

Real-Time Computing The correctness of the system

Logical result of the computation Functional correctness

Time to produce the result Next generation RT system

Distributed/adaptive Online guarantees Long lifetime

Page 3: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 3

There is no science in RT system design Most good science grew out of attempts to

solve practical problems Real-time system engineers need help

The first flight of a space shuttle was delayed due to a subtle timing bug due to a transient overload during system initialization

A scientific framework to prevent such a bug to be included is needed

Real-time scheduling, resource management, RT programming language, …

Page 4: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 4

Advances in supercomputer hardware will cover RT requirements

One can exploit parallel processors to improve throughput It does not mean timing constraints can be met

automatically Unless HW is designed to perfectly match the

application, the processors and their communication subsystems may not be able to handle all of the task load and time-critical traffic Real-time task and communication scheduling can get

harder as more hardware is used

Page 5: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 5

Demand for computational power often exceeds supply

Intelligent management of finite resources is required

Page 6: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 6

RT Computing = Fast Computing RT computing

The objective of fast computing is to minimize the average response time

The objective of real-time computing is to meet the individual timing requirement of each task Meet individual task deadlines

Fast computing cannot necessarily provide predictability Fastest hardware & software used in the space shuttle

failed to support the timing requirements Testing is not the answer

Page 7: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 7

Fast is relative Worst case, not average case, response time matters Not speed but predictability is the goal Functional and timing behaviors should be as deterministic

as necessary to satisfy system specification Guarantee the delay is shorter than the upper bound Predictability is not only hardware or algorithmic issue

The delay statement in Ada only specifies the minimum delay before the next task is scheduled

Many things, including scheduling theory, software design, formal methods, RTOS, can change things

Page 8: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 8

RT Programming =Assembly Coding, Priority Interrupt

Programming, Device Driver Writing

Hand-coding may have bugs, especially large RT program

Objective in RT research Automate Customized resource scheduler from timing-

constraint spec.

Page 9: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 9

RT System Research = Performance Engineering

To investigate effective resource allocation strategies to satisfy timing-behavior requirement (≈Perf. Engineering)

Specification & verification of timing behavior Programming language semantics Theoretical problems

Common misconceptions(5)

Page 10: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 10

Real-time systems function in static environment Not necessarily true Once deployed, real-time systems stay for

more than 10 years Many embedded real-time systems these

days need configurable, composable RTOS

Page 11: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 11

Main Research Issues Specification and verification

Modeling and verification of systems that are subject to timing constraints

RT scheduling theory Meet the specified timing requirements Support the utilization bound to meet all

deadlines Meet as many deadlines as possible, if it is

impossible to meet all deadlines

Page 12: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 12

Main Research Issues

RTOS Guarantee RT constraint Support FT and distribution Scheduling time-constrained resource allocation

RT programming language and design methodology High level abstraction to deal with complex real-time

systems Management of time Schedulability check Reusable RT software module

Page 13: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 13

Main Research Issues

(Distributed) RTDB Concurrency in transaction processing RT scheduling algorithm

Fault tolerance Formal specification of the timing constraints Error handling

RT system architecture Interconnection topology (process, I/O) Fast, reliable, and time-constrained communication Cost-effective and integrated fashion WCET analysis

Page 14: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 14

Main Research Issues RT communication

End-to-end deadlines Packet scheduling Dynamic routing Network buffer management

Wireless Sensor Networks Newly emerging area Small, inexpensive, wireless sensors for RT

sensing & control

Page 15: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 15

Rate Monotonic, EDF (Earliest Deadline First), and Deadline Monotonic Scheduling Algorithms C. Liu and J. Layland,

Scheduling Algorithm for Multiprogramming in a Hard Real-time Environment, Journal of the ACM, 20(1), pp. 41-61, January 1973.

N.C. Audsley, A. Burns, M.F. Richardson, and A. J. Wellings, Hard real-time scheduling: The deadline monotonic approach, IEEE Workshop on Real-Time Operating Systems, 1992.

N.C. Audsley, A. Burns, M.F. Richardson, and A. J. Wellings, Applying new scheduling theory to static priority preemptive scheduling, Software Engineering Journal, 8(5):284-292, Sept 1993.

Page 16: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 16

Terminologies

Job Each unit of work that is scheduled and executed by the system

Task A set of related jobs For example, a periodic task Ti consists of jobs J1, J2, J3, …

coming at every period Release time

Time instant at which a job becomes available for execution It can be executed at any time at or after the release time

Deadline Time instant by which a job should be finished Relative deadline: Maximum allowable response time Absolute deadline = release time + relative deadline

Page 17: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 17

Periodic task Ti

Period Pi

Worst case execution time Ci

Relative deadline Di

Job Jik

Absolute deadline = release time + relative deadline Response time = finish time – release time

Deadline miss if Finish time > absolute deadline Response time of Jik > Di

Page 18: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 18

Optimal Scheduling Algorithm A scheduling algorithm S is optimal if S

cannot schedule a real-time task set T, no other scheduling algorithm can schedule T

E.g., Rate Monotonic & EDF

Page 19: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 19

Assumptions

Single processor Every task is periodic Deadline = period Tasks are independent WCET of each task is known Zero context switch time

Page 20: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 20

Fixed Priority vs. Dynamic Priority Scheduling Algorithms Fixed priority system

Assign the same priority to all the jobs in each task

Rate monotonic Dynamic priority system

Assign different priorities to the individual jobs in each task

EDF

Page 21: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 21

Rate Monotonic

Optimal fixed priority scheduling algorithm Shorter period → Higher priority

Higher rate → higher priority Utilization bound

Page 22: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 22

RM Example

1

2

3

time

Task Execution Time (C) End Of Period (T = Period Length)

Page 23: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 23

Utilization Bound (UB) Test

Processor Utilization for a task, i Ui = Ci

Ti

Utilization Bound for n tasks U(n) = n(2 - 1)1n

Results:

• If U (= Ui) ≤ U(n) then the set of tasks is schedulable.

• If U(n) < Ui ≤ 1 then the test is inconclusive.

• U < U(n) is sufficient but not necessary

Page 24: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 24

Utilization Bound Test

TaskExecution Time

(C)Period (T)

1 40 100

2 40 150

3 100 350

U(3) = 3(21/3 – 1) = 0.779U1 = 40 / 100 = 0.4

U2 = 40 / 150 = 0.267

U3 = 100 / 350 = 0.286

Utotal = 0.953

Result:

U1+2 = 0.667, schedulable.

However, 0.779 < 0.953 < 1

Therefore, inconclusive for 3.

Page 25: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 25

EDF

Shorter absolute deadline → Higher priority Utilization bound Ub = 1

Ub is necessary and sufficient

Page 26: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 26

Comparisons

RMS RMS may not guarantee schedulability even when U < 1 Low overhead: Priorities do not change for a fixed task set

EDF EDF guarantee schedulability as long as U <= 1 High overhead: Task priorities may change dynamically

For more comparisons, refer to “Rate Monotonic vs. EDF: Judgment Day”

Page 27: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 27

Assumptions

Single processor Every task is periodic Relative deadline = period Tasks are independent WCET of each task is known Zero context switch time

What happens if relative deadline < period?

Page 28: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 28

Deadline Monotonic Scheduling Algorithm Shorter relative deadline → higher priority RMS is a special case of DMS where Di = Pi

Necessary and sufficient schedulability analysis, called response time analysis, exists

Page 29: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 29

Optimal Scheduling AlgorithmsRelative Deadline < Period DMS

Shorter relative deadline → Higher priority Optimal preemptive fixed priority scheduling

EDF Shorter absolute deadline → Higher priority Optimal preemptive dynamic priority scheduling

Page 30: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 30

DMS Response Time AnalysisAudsley et al. Tasks are sorted in non-increasing order of priority. (Ti has the

highest priority)

for (each task Ti) {

I = 0; R=0;while (I + Cj > R) {

R = I + Ci;

if (R > Di) return Unschedulable;

I = ∑k=1, i-1 R/Pi Ci;

}

}

return Schedulable

Page 31: Misconceptions About Real Time

23 4 9年 月 日 Real-time computing 31

Summary

Di = Pi D < P

Fixed Priority

RMS

Utilization bound

Response time analysis

DMS

Response time analysis

Dynamic Priority

EDF

Utilization bound

EDF

Processor demand analysis

Note: EDF is optimal for aperiodic tasks too