Download presentation
Presentation is loading. Please wait.
Published byAlexander Rose Modified over 9 years ago
1
1 G53SRP: Introduction to Real Time Scheduling Chris Greenhalgh School of Computer Science
2
2 Contents Specifying timing constraintsSpecifying timing constraints Specifying the systemSpecifying the system Current system exampleCurrent system example –Tasks, values, time lines General strategyGeneral strategy –Fixed Priority Scheduling & DMPO Further issuesFurther issues –Modes, fault tolerance, resource contention Book: Wellings 7.5-7.7; Burns & Wellings 13.1- 13.3Book: Wellings 7.5-7.7; Burns & Wellings 13.1- 13.3
3
3 Real time… A real-time system is any information processing system which has to respond to externally generated input stimuli within a finite and specified periodA real-time system is any information processing system which has to respond to externally generated input stimuli within a finite and specified period –the correctness depends not only on the logical result but also the time it was delivered
4
4 Specifying timing constraints: temporal scopes For a section of code (“process”, “task”, “scope”, Java Runnable), specify:For a section of code (“process”, “task”, “scope”, Java Runnable), specify: –When it should (nominally) start –When it must be completed by class Foo implements Runnable { public void run() public void run() { … }}
5
5 Release Time a b c Units of execution i.e. actually on CPU Minimum delay Maximum delay Maximum execution time = a + b +c Maximum elapsed time Deadline Blocking (sleeping, waiting, I/O), other task(s) running
6
6 Specifying the system Decompose into a fixed set of tasksDecompose into a fixed set of tasks For each task:For each task: –Specify when it should be started E.g. periodic (repeated, on a timer) or triggered by some other/external event (such as an interrupt)E.g. periodic (repeated, on a timer) or triggered by some other/external event (such as an interrupt) –Specify then deadline within which it should finish Timing requirements derived from specification, e.g. system stability requirementsTiming requirements derived from specification, e.g. system stability requirements Arrange for the system to run those tasks at the right times and in the right orderArrange for the system to run those tasks at the right times and in the right order
7
7 T S P Concurrency Example (review) Overall objective is to keep the temperature and pressure of some chemical process within well-defined limitsOverall objective is to keep the temperature and pressure of some chemical process within well-defined limits Switch ADC DACScreen Heater Thermocouples Pressure Transducer Pump/Valve
8
8 Example system processes (or “tasks”, …) P1 - temperature control taskP1 - temperature control task –(say) Run once every 100ms –Complete within 50ms P2 – pressure control taskP2 – pressure control task –Run once every 150ms –Complete within 100ms
9
9 Example system abstract time-line 050100150200250 Time (ms) Process P1 P2 Process Release Time Process Completion Time Deadline Possible task execution
10
10 More questions… How long will each task actually take execute?How long will each task actually take execute? In what order should the tasks be executed?In what order should the tasks be executed? How many processors does the system have?How many processors does the system have? –If more than one, on which processor should each task be run? Will the deadlines be met?Will the deadlines be met?
11
11 More questions… example system How long will each task actually take execute?How long will each task actually take execute? –(say) P1 40ms, P2 60ms In what order should the tasks be executed?In what order should the tasks be executed? –(say) P1 before P2 How many processors does the system have?How many processors does the system have? –(say) 1 Will the deadlines be met?Will the deadlines be met? –See next slide…
12
12 60 Example system concrete time-line 050100150200250 Time (ms) Process P1 P2 Process Release Time Process Completion Time Deadline missed Actual task execution Process Completion Time Deadline met Task waiting/ pre-empted 5010 All deadlines met
13
13 Example system Gantt Chart P1P2P1P2P1 050100150200250 Time (ms) P2 CPU-1
14
14 More questions… example system (v.2) How long will each task actually take execute?How long will each task actually take execute? –(say) P1 40ms, P2 70ms In what order should the tasks be executed?In what order should the tasks be executed? –(say) P1 before P2 How many processors does the system have?How many processors does the system have? –(say) 1 Will the deadlines be met?Will the deadlines be met? –See next slide…
15
15 60 Example system (v.2) concrete time-line 050100150200250 Time (ms) Process P1 P2 Process Release Time Process Completion Time Deadline missed Actual task execution Process Completion Time Deadline met Task waiting/ pre-empted 5020 P2 deadlines missed 10
16
16 More questions… example system (v.3) How long will each task actually take execute?How long will each task actually take execute? –(say) P1 40ms, P2 60ms In what order should the tasks be executed?In what order should the tasks be executed? –(say) P2 before P1 How many processors does the system have?How many processors does the system have? –(say) 1 Will the deadlines be met?Will the deadlines be met? –See next slide…
17
17 60 Example system (v.3) concrete time-line 050100150200250 Time (ms) Process P1 P2 Process Release Time Process Completion Time Deadline missed Actual task execution Process Completion Time Deadline met Task waiting/ pre-empted 60 First P1 deadline missed
18
18 General answers… (1) How long will each task actually take execute?How long will each task actually take execute? –i.e. worst-case execution time –Determine from static code analysis and/or controlled testing
19
19 General answers… (2) In what order should the tasks be executed?In what order should the tasks be executed? 1.Decide a general strategy, (e.g.) fixed priority scheduling –Assign a priority to each process in advance and always run the highest-priority runnable process –(Want a strategy that is flexible but deterministic and analysable – and supported)
20
20 2.Assign priorities to each process, (e.g.) Shortest Deadline First –Also known as Deadline Monotonic Priority Ordering (DPMO) –Can be shown to be optimal, i.e. if any strategy works then this will Example system: P1 deadline 40 < P2 deadline 60Example system: P1 deadline 40 < P2 deadline 60
21
21 General answers… (3) How many processors does the system have? If more than one, on which processor should each task be run?How many processors does the system have? If more than one, on which processor should each task be run? –Depends on system design –Typically fix tasks to processors for predictability
22
22 General answers… (4) Will the deadlines be met?Will the deadlines be met? –Can be tackled through static analysis of whole system –E.g. response time analysis - see later notes Note: equivalent to example time-line with all processes released at time zeroNote: equivalent to example time-line with all processes released at time zero –N.B. this is what we were after: predictable timing behaviour
23
23 Further issues: modes Many systems have different “modes” of operationMany systems have different “modes” of operation –e.g. start-up, active, shut-down –Each may have its own Specified process setSpecified process set Timing parametersTiming parameters PrioritiesPriorities Scheduling analysisScheduling analysis –Plus changes between modes must be checked
24
24 Further issues: fault tolerance What if the running system does…What if the running system does… –Miss a deadline? –Use more processor time than it should? System maySystem may –Detect missed deadlines or cost overrun –Interrupt or suspect that process –Call an error handler, to take contingency actions
25
25 Further issues: resource contention If processesIf processes –share resources (e.g. common data or devices) –and require exclusive access (i.e. locks) then this must be taken into account when –setting process priorities perhaps dynamically – see later notesperhaps dynamically – see later notes –analysing the system’s schedulability may introduce additional process blockingmay introduce additional process blocking
26
26 Summary A real-time system is comprised of tasks or processes with specified timing constraintsA real-time system is comprised of tasks or processes with specified timing constraints –When/how often it should happen –When it should finish by (deadline) –How long it would take in isolation (cost) The real-time system schedules these tasksThe real-time system schedules these tasks –e.g. using fixed priority scheduling and deadline-monotonic priority ordering
27
27 Summary (2) On- or off-line analysis of the system can then determine whether deadlines should be met or notOn- or off-line analysis of the system can then determine whether deadlines should be met or not Missed deadlines or cost over-runs may be detected, allowing the system to respond to failures (fault tolerance)Missed deadlines or cost over-runs may be detected, allowing the system to respond to failures (fault tolerance) Scheduling and analysis may be complicated by (e.g.) system modes or contention for shared resourcesScheduling and analysis may be complicated by (e.g.) system modes or contention for shared resources
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.