1 / 49

Embedded System Scheduling

Embedded System Scheduling. Real-Time Systems (from Dr. Chalermek Intanagonwiwat). Result in severe consequences if logical and timing correctness are not met Two types exist Soft real-time Tasks are performed as fast as possible Late completion of jobs is undesirable but not fatal.

Download Presentation

Embedded System Scheduling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Embedded System Scheduling

  2. Real-Time Systems (from Dr. Chalermek Intanagonwiwat) Result in severe consequences if logical and timing correctness are not met Two types exist Soft real-time Tasks are performed as fast as possible Late completion of jobs is undesirable but not fatal. System performance degrades as more & more jobs miss deadlines Example: Online Databases

  3. Real-Time Systems (cont.) (from Dr. Chalermek Intanagonwiwat) Hard real-time Tasks have to be performed on time Failure to meet deadlines is fatal Example : Flight Control System Qualitative Definition

  4. Hard and Soft Real Time Systems(Operational Definition) (from Dr. Chalermek Intanagonwiwat) Hard Real Time System Validation by provably correct procedures or extensive simulation that the system always meets the timings constraints Soft Real Time System Demonstration of jobs meeting some statistical constraints suffices. Example – Multimedia System 25 frames per second on an average

  5. Embedded & Real-Time Systems • Execute tasks correctly and IN time. • Systems with multiple tasks need scheduling

  6. Definitions • Ready time r – task available • Schedule • Completed C • Deadline D From C.W. Mercer

  7. Ready time • Clock • External interrupt • Software e.g. branch

  8. Terms • Periodic – aperiodic • Fixed – variable computation time • Predictable – unpredictable • Preemptible – non preemptible • Task  overall activity • Jobs  individual computation

  9. Terminologies (from J. A. Stankovic) • 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

  10. Terminologies (from J. A. Stankovic) • 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

  11. Relative deadline Real-Time Workload (from Insup Lee) • Job (unit of work) • a computation, a file read, a message transmission, etc • Attributes • Resources required to make progress • Timing parameters Absolute deadline Released Execution time

  12. Real-Time Task (from Insup Lee) • Task : a sequence of similar jobs • Periodic task (p,e) • Its jobs repeat regularly • Period p = inter-release time (0 < p) • Execution time e = maximum execution time (0 < e < p) • Utilization U = e/p 0 5 10 15

  13. Periodic-Aperiodic Tasks From C.W. Mercer

  14. Aperiodic Non-predictable Task From C.W. Mercer

  15. Preemptible&non-preemptible Tasks From C.W. Mercer

  16. Commonly use real-time scheduling • Clock-driven • Weighted round-robin • Priority driven

  17. Scheduling Algorithms in RTOS (cont.) (from Dr. Chalermek Intanagonwiwat) • Clock Driven • All parameters about jobs (execution time/deadline) known in advance. • Schedule can be computed offline or at some regular time instances. • Minimal runtime overhead. • Not suitable for many applications.

  18. Scheduling Algorithms in RTOS (cont.) (from Dr. Chalermek Intanagonwiwat) • Weighted Round Robin • Jobs scheduled in FIFO manner • Time quantum given to jobs is proportional to it’s weight • Example use : High speed switching network • QOS guarantee. • Not suitable for precedence constrained jobs. • Job A can run only after Job B. No point in giving time quantum to Job B before Job A.

  19. Example task set From C.W. Mercer

  20. First in First out (FIFO) From C.W. Mercer

  21. Round Robin scheduling From C.W. Mercer

  22. Cyclic executive From C.W. Mercer

  23. Cyclic executive From C.W. Mercer

  24. Cyclic executive modified From C.W. Mercer

  25. Scheduling Algorithms in RTOS (cont.) (from Dr. Chalermek Intanagonwiwat) • Priority Scheduling • Processor never left idle when there are ready tasks • Processor allocated to processes according to priorities • Priorities • Static - at design time • Dynamic - at runtime

  26. Priority Scheduling (from Dr. Chalermek Intanagonwiwat) • Earliest Deadline First (EDF) • Process with earliest deadline given highest priority • Least Slack Time First (LSF) • slack = relative deadline – execution left • Rate Monotonic Scheduling (RMS) • For periodic tasks • Tasks priority inversely proportional to it’s period

  27. Schedulability (from Insup Lee) • Property indicating whether a real-time system (a set of real-time tasks) can meet their deadlines (4,1) (5,2) (7,2)

  28. 5 10 15 5 10 15 Real-Time Scheduling (from Insup Lee) • Determines the order of real-time task executions • Static-priority scheduling • Dynamic-priority scheduling (4,1) (5,2) (7,2)

  29. 5 10 15 5 10 15 RM (Rate Monotonic) (from Insup Lee) • Optimal static-priority scheduling • It assigns priority according to period • A task with a shorter period has a higher priority • Executes a job with the shortest period T1 (4,1) T2 (5,2) T3 (7,2)

  30. 5 10 15 5 10 15 RM (Rate Monotonic) (from Insup Lee) • Executes a job with the shortest period T1 (4,1) T2 (5,2) T3 (7,2)

  31. 5 10 15 5 10 15 RM (Rate Monotonic) (from Insup Lee) • Executes a job with the shortest period Deadline Miss ! T1 (4,1) T2 (5,2) T3 (7,2)

  32. 5 10 15 5 10 15 Response Time (from Insup Lee) • Response time • Duration from released time to finish time T1 (4,1) T2 (5,2) T3 (10,2)

  33. 5 10 15 5 10 15 Response Time (from Insup Lee) • Response time • Duration from released time to finish time Response Time T1 (4,1) T2 (5,2) T3 (10,2)

  34. Response Time (from Insup Lee) • Response Time (ri) [Audsley et al., 1993 • HP(Ti) : a set of higher-priority tasks than Ti (4,1) T1 (5,2) T2 5 10 (10,2) T3 5 10

  35. RM - Schedulability Analysis (from Insup Lee) • Real-time system is schedulable under RM if and only if ri≤ pifor all task Ti(pi,ei) Joseph & Pandya, “Finding response times in a real-time system”, The Computer Journal, 1986.

  36. RM – Utilization Bound (from Insup Lee) • Real-time system is schedulable under RM if ∑Ui ≤ n (21/n-1) Liu & Layland, “Scheduling algorithms for multi-programming in a hard-real-time environment”, Journal of ACM, 1973.

  37. RM – Utilization Bound (from Insup Lee) • Real-time system is schedulable under RM if ∑Ui ≤ n (21/n-1) • Example: T1(4,1), T2(5,1), T3(10,1), ∑Ui = 1/4 + 1/5 + 1/10 = 0.55 3 (21/3-1) ≈ 0.78 Thus, {T1, T2, T3} is schedulable under RM.

  38. RM – Utilization Bound (from Insup Lee) • Real-time system is schedulable under RM if ∑Ui ≤ n (21/n-1)

  39. Rate monotonic schedulable bound From C.W. Mercer

  40. 5 10 15 5 10 15 EDF (Earliest Deadline First) (from Insup Lee) • Optimal dynamic priority scheduling • A task with a shorter deadline has a higher priority • Executes a job with the earliest deadline T1 (4,1) T2 (5,2) T3 (7,2)

  41. 5 10 15 5 10 15 EDF (Earliest Deadline First) (from Insup Lee) • Executes a job with the earliest deadline T1 (4,1) T2 (5,2) T3 (7,2)

  42. 5 10 15 5 10 15 EDF (Earliest Deadline First) (from Insup Lee) • Executes a job with the earliest deadline T1 (4,1) T2 (5,2) T3 (7,2)

  43. 5 10 15 5 10 15 EDF (Earliest Deadline First) (from Insup Lee) • Executes a job with the earliest deadline T1 (4,1) T2 (5,2) T3 (7,2)

  44. 5 10 15 5 10 15 EDF (Earliest Deadline First) (from Insup Lee) • Optimal scheduling algorithm • if there is a schedule for a set of real-time tasks, EDF can schedule it. T1 (4,1) T2 (5,2) T3 (7,2)

  45. 5 10 15 5 10 15 Processor Demand Bound (from Insup Lee) • Demand Bound Function : dbf(t) • the maximum processor demandby workload over any interval of lengtht t T1 (4,1) T2 (5,2) T3 (7,2)

  46. EDF - Schedulability Analysis (from Insup Lee) • Real-time system is schedulable under EDF if and only if dbf(t) ≤ tfor all interval t Baruah et al. “Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor”, Journal of Real-Time Systems, 1990. • Demand Bound Function : dbf(t) • the maximum processor demand by workload over any interval of lengtht

  47. EDF – Utilization Bound (from Insup Lee) • Real-time system is schedulable under EDF if and only if ∑Ui ≤ 1 Liu & Layland, “Scheduling algorithms for multi-programming in a hard-real-time environment”, Journal of ACM, 1973.

  48. T1 T1 T4 T3 0 0 3 3 5 5 6 6 7 7 EDF – Overload Conditions (from Insup Lee) • Domino effect during overload conditions • Example: T1(4,3), T2(5,3), T3(6,3), T4(7,3) Deadline Miss ! T1 T2 T3 T4 0 3 5 6 7 Better schedules :

  49. Least Slack Time First (LSF) • slack = relative deadline – execution left

More Related