Presentation is loading. Please wait.

Presentation is loading. Please wait.

Binghamton University EngiNet™ State University of New York

Similar presentations


Presentation on theme: "Binghamton University EngiNet™ State University of New York"— Presentation transcript:

1

2 Binghamton University EngiNet™ State University of New York

3 Thomas J. Watson School of Engineering and Applied Science

4 WARNING All rights reserved
WARNING All rights reserved. No part of the course materials used in the instruction of this course may be reproduced in any form or by any electronic or mechanical means, including the use of information storage and retrieval systems, without written approval from the copyright owner. ©2009 Binghamton University State University of New York

5 CS 554 Introduction to Real-Time Embedded Systems Professor Kyoung-Don Kang Lecture 1 January 29, 2009

6 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 , October 1988.

7 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

8 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, … Real-time computing

9 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

10 Demand for computational power often exceeds supply
Intelligent management of finite resources is required Real-time computing

11 RT Computing = Fast 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

12 Worst case, not average case, response time matters
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

13 Hand-coding may have bugs, especially large RT program
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

14 RT System Research = Performance Engineering
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

15 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

16 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

17 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

18 Main Research Issues (Distributed) RTDB Fault tolerance
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

19 Main Research Issues End-to-end deadlines Packet scheduling
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

20 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 , 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): , Sept 1993. Real-time computing

21 Terminologies Job Task Release time Deadline
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

22 Periodic task Ti Job Jik Deadline miss if 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

23 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

24 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

25 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

26 Rate Monotonic Optimal fixed priority scheduling algorithm
Shorter period → Higher priority Higher rate → higher priority Utilization bound Real-time computing

27 RM Example t1 t2 t3 time Task Execution Time (C)
End Of Period (T = Period Length) Real-time computing

28 Utilization Bound (UB) Test
Ui = Ci Ti Processor Utilization for a task, i U(n) = n( ) 1 n 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

29 Utilization Bound Test
Task Execution Time (C) Period (T) t1 40 100 t2 150 t3 350 U1 = 40 / 100 = 0.4 U(3) = 3(21/3 – 1) = 0.779 U2 = 40 / 150 = 0.267 Result: U1+2 = 0.667, schedulable. However, < < 1 Therefore, inconclusive for t3. U3 = 100 / 350 = 0.286 Utotal = 0.953 Real-time computing

30 EDF Shorter absolute deadline → Higher priority
Utilization bound Ub = 1 Ub is necessary and sufficient Real-time computing

31 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

32 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

33 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

34 Optimal Scheduling Algorithms Relative 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

35 DMS Response Time Analysis Audsley 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

36 Summary Di = Pi D < P Fixed Priority RMS Utilization bound
Response time analysis DMS Dynamic Priority EDF Processor demand analysis Note: EDF is optimal for aperiodic tasks too Real-time computing

37 Project Ideas Choice 1: This option actually has two choices. Note that you can start working on this as soon as you learn EDF, RM, and priority inheritance/abort concepts, all of which will be covered within two weeks at most. (1) Develop a discrete even real-time simulator and implement two out of three programming assignments using the discrete event simulator. (2) Alternatively, write a well organized object-oriented simulator that allows users to choose all possible combinations of the real-time scheduling options provided by the three programming assignments. Real-time computing

38 Project Ideas Choice 2: Develop a video streaming application using Javolution, evaluate performance (i.e., packet losses and delay), and write a report that describes how RTJS and Javolution help writing a real-time application. Real-time computing

39 Project Ideas Choice 3: Extend the vehicle merge algorithm developed in Prof. Krithi Ramamritham’s class at IIT. A more detailed description and source code you can extend are available at . Real-time computing

40 Project Ideas Choice 4: Extend our Chronos real-time database, for example, to provide more sophisticated/scalable schema/design or data mining/machine learning capability. Choice 5: Feel free to suggest your own ideas! Real-time computing


Download ppt "Binghamton University EngiNet™ State University of New York"

Similar presentations


Ads by Google