misconceptions about real-time computing : a serious problem for next-generation systems
DESCRIPTION
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. Real-Time Computing. - PowerPoint PPT PresentationTRANSCRIPT
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.
23年 4月 19日 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
23年 4月 19日 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 caused by 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, …
23年 4月 19日 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
23年 4月 19日 Real-time computing 5
Demand for computational power often exceeds supply
Intelligent management of finite resources is required
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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.
23年 4月 19日 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)
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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.
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 Real-time computing 21
Rate Monotonic
Optimal fixed priority scheduling algorithm Shorter period → Higher priority
Higher rate → higher priority Utilization bound
23年 4月 19日 Real-time computing 22
RM Example
1
2
3
time
Task Execution Time (C) End Of Period (T = Period Length)
23年 4月 19日 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
23年 4月 19日 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.
23年 4月 19日 Real-time computing 25
EDF
Shorter absolute deadline → Higher priority Utilization bound Ub = 1
Ub is necessary and sufficient
23年 4月 19日 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”
23年 4月 19日 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?
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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
23年 4月 19日 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