310 likes | 456 Views
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.
E N D
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 • 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 Real-time computing
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, … Real-time computing
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 Real-time computing
Demand for computational power often exceeds supply • Intelligent management of finite resources is required Real-time computing
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 Real-time computing
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 Real-time computing
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. Real-time computing
Common misconceptions(5) 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 Real-time computing
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 Real-time computing
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 Real-time computing
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 Real-time computing
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 Real-time computing
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 Real-time computing
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. Real-time computing
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 Real-time computing
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 Real-time computing
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 Real-time computing
Assumptions • Single processor • Every task is periodic • Deadline = period • Tasks are independent • WCET of each task is known • Zero context switch time Real-time computing
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 Real-time computing
Rate Monotonic • Optimal fixed priority scheduling algorithm • Shorter period → Higher priority • Higher rate → higher priority • Utilization bound Real-time computing
RM Example t1 t2 t3 time Task Execution Time (C) End Of Period (T = Period Length) Real-time computing
Ci Ui = Ti 1 U(n) = n(2 - 1) n Utilization Bound (UB) Test Processor Utilization for a task, i Utilization Bound for n tasks • Results: • If U (=S Ui) ≤ U(n) then the set of tasks is schedulable. • If U(n) < S Ui ≤ 1 then the test is inconclusive. • U < U(n) is sufficient but not necessary Real-time computing
Utilization Bound Test U(3) = 3(21/3 – 1) = 0.779 U1 = 40 / 100 = 0.4 U2 = 40 / 150 = 0.267 Result: U1+2 = 0.667, schedulable. However, 0.779 < 0.953 < 1 Therefore, inconclusive for t3. U3 = 100 / 350 = 0.286 Utotal = 0.953 Real-time computing
EDF • Shorter absolute deadline → Higher priority • Utilization bound Ub = 1 • Ub is necessary and sufficient Real-time computing
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” Real-time computing
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? Real-time computing
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 Real-time computing
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 Real-time computing
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 Real-time computing
Summary Note: EDF is optimal for aperiodic tasks too Real-time computing