Title: Timed Simulation with Multiple Resource Schedulability Analysis
1Timed Simulation with Multiple Resource
Schedulability Analysis
- Yang Zhao and Slobodan Matic
- University of California, Berkeley Dec 10, 2004
2Introduction
- Embedded software for control
- determinism both in value and time
- multiple resources
- Simulation environment
- timing constraints
- resource utilization
- component interactions
- Multi-domain timed simulation
- Discreteness of software in CT domain
- Timed Multitasking Ptolemy domain LL03
- Simulink RTWorkshop
- Model periodic multi-rate patterns
- no fast reaction to external triggers
- Code rate-monotonic schedule (almost)
- no specification and analysis of timing
constraints
3Motivating Example
- KHM03
- Advanced automotive
- control applications with
- end-to-end deadlines
4TM Software Architecture
- Concurrent interaction in TM actors
- Atomic actors (tasks)
- Task execution times (estimates)
- Resource(s)
- Composite actors
- Task graph
- Deadline
- Invocation trigger condition (pattern)
- set of TM composite actors in other domain
- Schedulers
- Static table-based
- Schedulability analysis
- schedule generation off-, dispatching on-line
- Dynamic priority EDF-based
- No schedulability analysis
- scheduling and dispatching on-line
5Schedulability Analysis
multiple processors
no intertask communication
?
single processor
intertask communication
topological order in linear time
?
multiple processors
intertask communication
NP-complete BKS99
?
- CCLL95
- Mixed-integer programming techniques
- Branch and Bound global scheduling
6Periodic Event Scheduling Problem (PESP)
- set of periodic events A 8 a2 A . p(a)T
- time function ?A!0,T)
- span constraint S interval Dd-,d, integer k
- event pair (a1,a2) satisfies S if d- ?(a2) -
?(a1) kT d - T12, D5,7
- PESP instance
- T2 R , (A,E), d,d-E!0,T)
- PESP algorithm SU89
- find minimum spanning tree of (A,E)
- successively satisfy constraints on each chord of
the tree - otherwise find blocking cycle with tight
constraints
k1
k0
PESP solution ?A!0,T), kE! Z
7Static TM Model Scheduling
- Invocation pattern known
- All release times known and periodic
- t(a) execution time, r(a) resource ! ?(a) start
time in 0,T) - two types of span constraints
- mutual exclusion 8 a1,a2. 8 r2 R. r(a1)r(a2)
- t(a1) ?(a2)-?(a1)k(a1,a2)T T-t(a2)
- precedence constraint for each path of task graph
- t(ai) ?(ai1)-?(ai)k(ai,ai1)T t(ai)D,
DT-?i1 nt(ai) - t(an) ?(a1)-?(an)(1-?i1 n-1k(ai,ai1))T
t(an)D - Multi-rate solution
- Deadline less than period Ddeadline -
?i1nt(ai) - Multiple (exclusive) resources
8Static TM Demo
9Dynamic TM Model Scheduling
- Invocation pattern unknown
- task release times determined by model execution
- task execution order dynamic and suboptimal
- deadline miss detection
- Composite end-to-end deadline
- Deadline assignment (distribution) for
intermediate tasks - Maximize minimal laxity Li Di - ?j1n
t(aj)/n - Assign deadlines whenever composite actor is
triggered - Use Earliest Deadline First strategy on each
resource -
10Dynamic TM Demo
Compare to the periodic demo, the TM model here
is not periodically executed some input happens
randomlly. The TM model is executed when it
is triggered by an event. When it is triggered,
it calcultes deadlines for related tasks. In this
case, a task is released when it receives an
event and an EDF scheduler is used to schedule
the released tasks on the computing resource.
Some tasks are preempted
11TM with Multi-Resources in Ptolemy
- Several scheduling algorithm is implemented.
- Support modeling and simulation with
multi-resources (processes). - Refactor the Director to several modules
ExecutionTime Estimator
Scheduler
Director
XXX
Resource
12TM with Multi-Resources in Ptolemy
SimpleScheduler
ltltInterfacegtgt Resource
available()
ComputingResource
execute()