Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.

Similar presentations

Presentation on theme: "Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo."— Presentation transcript:

1 Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo

2 Overview Real-Time Systems Scheduling problem in Real-Time Systems Control Dominated Systems Dataflow Systems Conclusions

3 Real-Time Systems Are composed of several distinct cooperating tasks Are usually non-terminating React faster than the rate of the environment i.e. the composing tasks have tight timing constraints

4 Scheduling problem in Real-Time Systems Given –A set processing units with “known” processing capabilities –A set of tasks with “known” characteristics and constraints on the completion time Derive an order of execution of these tasks

5 Overview Real-Time Systems Scheduling problem in Real-Time Systems Control Dominated Systems Dataflow Systems Conclusions

6 Static Scheduling Policies Tasks execute in a fixed order determined offline Suited best to the cases where the time when the tasks become enabled are known well in advance Easy to debug but usually give low processor usage

7 Static Scheduling Policies (contd.) Round Robin –Tasks checked for readiness in a predetermined order and executed immediately if they are ready –Easy to give bounds on the time between a request for an execution and the corresponding execution Cyclic Scheduling –Like round robin except that tasks may appear more than once in one cycle –Used in dataflow systems

8 Dynamic Scheduling Policies Order of task execution decided at runtime Usually based on some sort of priority of tasks May or may not be pre-emptive Suited for systems with irregular task activations High processor usage but difficult to debug

9 Dynamic Scheduling Policies (contd.) Work by Liu and Layland. Under strict assumptions –RMS Static priorities Priority of a task is proportional to its rate –EDF Dynamic priorities Priority of a task is inversely proportional to the time remaining to its deadline Under a set of relaxed conditions, Audsley et al. proposed an optimal priority assignment algorithm for static priority scheduling

10 Schedulability Analysis To determine if a set of tasks meets its timing constraints Common approach – worst case response time (WCRT) analysis –Once WCRT is computed, checking whether a task meets its deadline is trivial in many cases With Liu and Layland assumptions of preemptive static priority scheduling and independent periodic tasks with fixed runtimes, WCRT analysis is easy

11 WCRT analysis for realistic real-time embedded systems Real-time embedded systems frequently flout the Liu layland assumptions –state- dependent run-times, dependency between tasks and non-periodic events in the environment Balarin and Sangiovanni proposed a conservative extension to WCRT analysis for systems in which –Scheduling is either preemptive or nonpreemptive static priority –The environment only needs to respect the timing between successive occurrences of events FOR MOST SYSTEMS WITH STATE AND INPUT DEPENDENT RUNTIMES, TRACTABLE WCRT ANALYSIS IS A MYSTERY!

12 Synchronous Scheduling E.g Esterel Synchronous assumption –Given a set of communicating tasks, each represented by a FSM, the computation of the output as well as the communication among the FSMs takes place in zero time The synchronicity hypothesis reduces the set of FSMs to a single product machine For synchronous systems, the structure of the product machine is equivalent to the static scheduling of the component FSMs

13 Synchronous Scheduling (contd.) Advantages –Deterministic response –Ease of debugging and verification Problems –May lead to inefficient execution time as compared to task-based scheduling –Some tasks in a system may not be representable as FSM –Undelayed feedback loops are a cause of great trouble

14 Overview Real-Time Systems Scheduling problem in Real-Time Systems Control Dominated Systems Dataflow Systems Conclusions

15 Dataflow Systems Dataflow graphs used for scheduling purposes in DSP systems Explicit representation of interaction between tasks More emphasis on the throughput of the system Two types of dataflow models –SDF  static compile time scheduling possible –DDF or control DF  more powerful than SDF but require some dynamic scheduling Most DSP algorithms don’t require much decision making – SDF is a good enough model

16 SDF Used in many block-diagram based rapid prototyping and code generation for programmable DSPs For uniprocessor scheduling –Code generator steps through the schedule and generates a sequence of actor invocations –In-line code used instead of sub-routine calls –Loops used to prevent explosion in code size due to multiple appearances of an actor in a schedule

17 Research Issues in SDF scheduling Minimize code and buffer size used for actors. Approaches are –Minimizing for one of the criterions. Among the existing solutions, choosing the solution that minimizes the second criterion –Exploring solutions that optimize based on a tradeoff between the two constraints i.e. avoiding the extremes Minimizing activation schedules

18 Conclusions Dataflow systems –Regularity of inputs and control lends itself well to static scheduling –Good techniques exist scheduling on one or several processors with tradeoff between code-size, buffer size, execution time etc Control-dominated systems –Efficient scheduling schemes known for a very small class of systems –Lack of a good model to capture inter-task dependencies –Lack of good techniques to determine the WCRT on complex processors without making unrealistic assumptions

Download ppt "Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo."

Similar presentations

Ads by Google