1 / 32

Software Synthesis part-II

Software Synthesis part-II. Course Overview. Mapping Spec → SW by Software Scheduling – Static scheduling – Rate monotonic scheduling (RMS) – Inverse deadline scheduling (IDS) – Earliest deadline first scheduling (EDF) – Non-periodic tasks Software estimation

Télécharger la présentation

Software Synthesis part-II

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. Software Synthesis part-II

  2. Course Overview • Mapping Spec → SW by Software Scheduling • – Static scheduling • – Rate monotonic scheduling (RMS) • – Inverse deadline scheduling (IDS) • – Earliest deadline first scheduling (EDF) • – Non-periodic tasks • Software estimation • – Timing estimation by program path analysis • – Architecture modelling • – Statistical techniques for program analysis Embedded System Engineering

  3. Scheduling Characteristics • Sufficient – pass the test will meet deadlines • Necessary – fail the test will miss deadlines • Exact – necessary and sufficient • Sustainable – system stays schedulable if conditions ‘improve’

  4. Simple Task Model • The application is assumed to consist of a fixed set of tasks • All tasks are periodic, with known periods • The tasks are completely independent of each other • All system's overheads, context-switching times and so on are ignored (i.e, assumed to have zero cost) • All tasks have a deadline equal to their period (that is, each task must complete before it is next released) • All tasks have a fixed worst-case execution time

  5. Rate Monotonic Priority Assignment • Each task is assigned a (unique) priority based on its period; the shorter the period, the higher the priority • i.e, for two tasks i and j, • This assignment is optimal in the sense that if any task set can be scheduled (using pre-emptive priority-based scheduling) with a fixed-priority assignment scheme, then the given task set can also be scheduled with a rate monotonic assignment scheme • Note, priority 1 is the lowest (least) priority

  6. Example Priority Assignment Process Period, T Priority, P a 25 5 b 60 3 c 42 4 d 105 1 e 75 2

  7. Utilization-Based Analysis • For D=T task sets only • A simple sufficient but not necessary schedulability test exists

  8. Utilization Bounds N Utilization bound 1 100.0% 2 82.8% 3 78.0% 4 75.7% 5 74.3% 10 71.8% Approaches 69.3% asymptotically

  9. Task Set A • The combined utilization is 0.82 (or 82%) • This is above the threshold for three tasks (0.78) and, hence, this task set fails the utilization test Task Period ComputationTime Priority Utilization T C P U a 50 12 1 0.24 b 40 10 2 0.25 c 30 10 3 0.33

  10. 0 10 20 30 40 50 60 Time-line for task Set A task a Task Release Time Task Completion Time Deadline Met b Task Completion Time Deadline Missed Preempted c Executing Time

  11. Task Set B • The combined utilization is 0.775 • This is below the threshold for three tasks (0.78) and, hence, this task set will meet all its deadlines Task Period ComputationTime Priority Utilization T C P U a 80 32 1 0.400 b 40 5 2 0.125 c 16 4 3 0.250

  12. Task Set C • The combined utilization is 1.0 • This is above the threshold for three tasks (0.78) but the task set will meet all its deadlines Task Period ComputationTime Priority Utilization T C P U a 80 40 1 0.50 b 40 10 2 0.25 c 20 5 3 0.25

  13. 0 10 20 30 40 50 60 Time-line for Task Set C task a b c 70 80 Time

  14. Response-Time Analysis • Here task i's worst-case response time, R, is calculated first and then checked (trivially) with its deadline Where I is the interference from higher priority tasks

  15. Calculating R During R, each higher priority task j will execute a number of times: The ceiling function gives the smallest integer greater than the fractional number on which it acts. So the ceiling of 1/3 is 1, of 6/5 is 2, and of 6/3 is 2. Total interference is given by:

  16. Solve by forming a recurrence relationship: The set of values is monotonically non decreasing. When the solution to the equation has been found; must not be greater that (e.g. 0 or ) Response Time Equation Where hp(i) is the set of tasks with priority higher than task i

  17. Response Time Algorithm for i in 1..N loop -- for each process in turn n := 0 loop calculate new if then exit value found end if if then exit value notfound end if n := n + 1 end loop end loop

  18. Task Set D Task Period ComputationTime Priority T C P a 7 3 3 b 12 3 2 c 20 5 1

  19. Revisit: Task Set C • The combined utilization is 1.0 • This was above the utilization threshold for three tasks (0.78), therefore it failed the test • The response time analysis shows that the task set will meet all its deadlines Process Period ComputationTime Priority Response time T C P R a 80 40 1 80 b 40 10 2 15 c 20 5 3 5

  20. Response Time Analysis • Is sufficient and necessary (exact) • If the task set passes the test they will meet all their deadlines; if they fail the test then, at run-time, a task will miss its deadline (unless the computation time estimations themselves turn out to be pessimistic)

  21. Task Sets with D < T: Deadline monotonoic • For D = T, Rate Monotonic priority ordering is optimal • For D < T, Deadline Monotonic priority ordering is optimal

  22. D < T Example Task Set Task Period Deadline ComputationTime Priority Response time T D C P R a 20 5 3 4 3 b 15 7 3 3 6 c 10 10 4 2 10 d 20 20 3 1 20

  23. EDF Scheduling • Always run task with earliest absolute deadline • Will consider • Utilization based tests

  24. Utilization-based Test for EDF A much simpler test than that for FPS • Superior to FPS (0.69 bound in worst-case); it can support high utilizations. However, • Bound only applicable to simple task model • Although EDF is always as good as FPS, and usually better

  25. FPS v EDF • FPS is easier to implement as priorities are static • EDF is dynamic and requires a more complex run-time system which will have higher overhead • It is easier to incorporate tasks without deadlines into FPS; giving a task an arbitrary deadline is more artificial • It is easier to incorporate other factors into the notion of priority than it is into the notion of deadline

  26. FPS v EDF • During overload situations • FPS is more predictable; Low priority process miss their deadlines first • EDF is unpredictable; a domino effect can occur in which a large number of processes miss deadlines • But EDF gets more out of the processor!

  27. Aperiodic Tasks • These do not have minimum inter-arrival times • Can run aperiodic tasks at a priority below the priorities assigned to hard processes, therefore, they cannot steal, in a pre-emptive system, resources from the hard processes • This does not provide adequate support to soft tasks which will often miss their deadlines • To improve the situation for soft tasks, a server can be employed

  28. Execution-time Servers • A server: • Has a capacity/budget of C that is available to its client tasks (typically aperiodic tasks) • When a client runs it uses up the budget • The server has a replenishment policy • If there is currently no budget then clients do not run • Hence it protects other tasks from excessive aperiodic activity

  29. Periodic Server (PS) • Budget C • Replenishment Period T, starting at say 0 • Client ready to run at time 0 (or T, 2T etc) runs while budget available, is then suspended • Budget ‘idles away’ if no clients

  30. Deferrable Server (DS) • Budget C • Period T – replenished every T time units (back to C) • For example 10ms every 50ms • Anytime budget available clients can execute • Client suspended when budget exhausted • DS and SS are referred to as bandwidth preserving • Retain capacity as long as possible • PS is not bandwidth preserving

  31. Sporadic Server (SS) • Initially defined to enforce minimum separation for sporadic tasks • Parameters C and T • Request at time t (for a < C) is accepted • a is returned to server at time t+T • Request at time t (for 2C>A>C): • C available immediately • Replenished at time t+T • Remainder (2C-A) available at this time

More Related