ECE 697: Real-Time Systems n Instructor: C. M. Krishna » (413) » Office Hours (on-campus): Tues: 4:00--4:45 PM n Off-campus Contact: By and telephone n Course Grading: » Three in-term tests: 18% each » Final exam (cumulative): 26% » Homework/simulation exercises: 20% n Homework is to be done individually
Coverage n Introduction to real-time systems n Performance measures n Task allocation and scheduling techniques n Power and energy issues n Communication algorithms n Fault tolerance and reliability evaluation n Clock synchronization
Textbook » C. M. Krishna and K. G. Shin, Real-Time Systems, McGraw-Hill, » 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:
Course Notes n A few PowerPoint slides: Will be posted on the course website n Mostly handwritten in class: The more important bits will be scanned and available through the course website after the lecture n Readings beyond the text will be used for » Real-time communication protocols » Energy- and power-aware computing
Today’s Topics n What is a real-time system? » General characteristics » Hard and soft real-time systems n Performance Measures » Why are they important? » For general-purpose systems » For real-time systems n Uniprocessor task scheduling
What is a Real-Time System? n 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 n 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 n 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 n Used initially in military aircraft » Dynamics time-constants are too small for humans to be effective controllers » Philosophy: n Pilot sets policy n 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 n 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 n 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 n How to assign tasks to processors and to schedule them in such a way that deadlines are met n Our initial focus: uniprocessor task scheduling
Uniprocessor Task Scheduling n 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 n Rate-Monotonic (RM) Algorithm: » Static priority » Higher-frequency tasks have higher priority n Earliest-Deadline First (EDF) Algorithm: » Dynamic priority » Task with the earliest absolute deadline has highest priority
RMA n Task priority is inversely proportional to the task period (directly proportional to task frequency) n At any moment, the processor is either » idle if there are no tasks to run, or » running the highest-priority task available n A lower-priority task can suffer many preemptions n To a task, lower-priority tasks are effectively invisible
RMA n Example n Schedulability criteria: » Sufficiency condition (Liu & Layland, 1973) » Necessary & sufficient conditions (Joseph & Pandya, 1986; Lehoczky, Sha, Ding 1989)
RMA n Critical Instant of a Task: An instant at which a request for that task will have the largest response time n Critical Time-zone of a Task: Interval between a critical instant of that task and the completion time of that task n Critical Instant Theorem: Critical instant of a task T_i occurs whenever T_i arrives simultaneously with all higher-priority tasks
RMA: Scheulability Check n 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 n If a task is released simultaneously with all higher- priority tasks, determine when it will be done n If this completion time is no later than this task’s deadline, we have succeeded with this task n Find a systematic procedure to turn this process into a necessary-and-sufficient schedulability check
RMA: Schedulability n Start with a single-task set and obtain its schedulability conditions n Extend this to a two-task set n Exploit any intuition gained to generalize this