260 likes | 488 Views
ECE 697: Real-Time Systems. Instructor : C. M. Krishna krishna@ecs.umass.edu; (413) 545-0766 Office Hours (on-campus): Tues: 4:00--4:45 PM Off-campus Contact : By e-mail and telephone Course Grading : Three in-term tests: 18% each Final exam (cumulative): 26%
E N D
ECE 697: Real-Time Systems • Instructor: C. M. Krishna • krishna@ecs.umass.edu; (413) 545-0766 • Office Hours (on-campus): Tues: 4:00--4:45 PM • Off-campus Contact: By e-mail and telephone • Course Grading: • Three in-term tests: 18% each • Final exam (cumulative): 26% • Homework/simulation exercises: 20% • Homework is to be done individually
Coverage • Introduction to real-time systems • Performance measures • Task allocation and scheduling techniques • Power and energy issues • Communication algorithms • Fault tolerance and reliability evaluation • Clock synchronization
Textbook • C. M. Krishna and K. G. Shin, Real-Time Systems, McGraw-Hill, 1997. • On-campus students: I’ve put a copy on reserve in the Physical Sciences Library; I’ll make another copy available in the Architecture & Real-Time Lab • Off-campus students: Check your nearest technical library • Also available from bookstores (online and traditional) • See the course web page for a pointer to the typo list: http://www-unix.ecs.umass.edu/~krishna/rtcourse.html
Course Notes • A few PowerPoint slides: Will be posted on the course website • Mostly handwritten in class: The more important bits will be scanned and available through the course website after the lecture • Readings beyond the text will be used for • Real-time communication protocols • Energy- and power-aware computing
Today’s Topics • What is a real-time system? • General characteristics • Hard and soft real-time systems • Performance Measures • Why are they important? • For general-purpose systems • For real-time systems • Uniprocessor task scheduling
What is a Real-Time System? • Any system in which a deadline plays a central role in its perceived performance • But timely response is important for general-purpose systems, too! • There is no hard-and-fast demarcation between a real-time system and a general-purpose system • Systems in the control loop are always real-time
Types of RTS • Hard Real-Time Systems • Missing a deadline (or series of deadlines) can cause a significant loss to the application. • Examples: Fly-by-wire, power-plant, and grid control • Soft Real-Time Systems • Missing a deadline causes the quality of service to degrade, but nothing terrible happens • Examples: Video-on-demand, teleconferencing
Example: Fly-by-wire • Used initially in military aircraft • Dynamics time-constants are too small for humans to be effective controllers • Philosophy: • Pilot sets policy • Computer carries out low-level actions to implement that policy • If too many deadlines are missed in a row, the aircraft can crash
Feedback Loop (From C. M. Krishna & K. G. Shin: NASA Con. Report 3807, 1984)
Impact of Feedback Delay (Simulation Example) Elevator Deflections During Landing
Performance Measures • Traditional Measures • Throughput: Average number of instructions processed per second • Availability: Fraction of time for which the system is up • Reliability: Probability that the system will remain up throughout a designated interval
Special-Purpose Measure • Performability • Published by John Meyer in 1980 • Identify accomplishment levels, {A0, A1, A2, …, An}, for the application • Determine the probability, P(Ai), that the real-time system will be able to perform in such a way that Ai will be accomplished • Performability is the vector (P(A0), P(A1), …, P(An)) • Application-focused measure
Task Allocation and Scheduling • How to assign tasks to processors and to schedule them in such a way that deadlines are met • Our initial focus: uniprocessor task scheduling
Uniprocessor Task Scheduling • Initial Assumptions: • Each task is periodic • Periods of different tasks may be different • Worst-case task execution times are known • Relative deadline of a task is equal to its period • No dependencies between tasks: they are independent • Only resource constraint considered is execution time • No critical sections • Preemption costs are negligible • Tasks must be completed for output to have any value
Standard Scheduling Algorithms • Rate-Monotonic (RM) Algorithm: • Static priority • Higher-frequency tasks have higher priority • Earliest-Deadline First (EDF) Algorithm: • Dynamic priority • Task with the earliest absolute deadline has highest priority
RMA • Task priority is inversely proportional to the task period (directly proportional to task frequency) • At any moment, the processor is either • idle if there are no tasks to run, or • running the highest-priority task available • A lower-priority task can suffer many preemptions • To a task, lower-priority tasks are effectively invisible
RMA • Example • Schedulability criteria: • Sufficiency condition (Liu & Layland, 1973) • Necessary & sufficient conditions (Joseph & Pandya, 1986; Lehoczky, Sha, Ding 1989)
RMA • Critical Instant of a Task: An instant at which a request for that task will have the largest response time • Critical Time-zone of a Task: Interval between a critical instant of that task and the completion time of that task • Critical Instant Theorem: Critical instant of a task T_i occurs whenever T_i arrives simultaneously with all higher-priority tasks
RMA: Scheulability Check • The Critical Instant Theorem leads to a schedulability check: • If a task is released at the same time as all of the tasks of higher priority and it meets its deadline, then it will meet its deadline under all circumstances
RMA: Schedulability Test • If a task is released simultaneously with all higher-priority tasks, determine when it will be done • If this completion time is no later than this task’s deadline, we have succeeded with this task • Find a systematic procedure to turn this process into a necessary-and-sufficient schedulability check
RMA: Schedulability • Start with a single-task set and obtain its schedulability conditions • Extend this to a two-task set • Exploit any intuition gained to generalize this