120 likes | 205 Views
Timed Simulation with Multiple Resource Schedulability Analysis. Yang Zhao and Slobodan Matic University of California, Berkeley Dec 10, 2004. Introduction. Embedded software for control determinism both in value and time multiple resources Simulation environment timing constraints
E N D
Timed Simulation with Multiple Resource Schedulability Analysis Yang Zhao and Slobodan Matic University of California, Berkeley Dec 10, 2004
Introduction • 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
Motivating Example [KHM03] Advanced automotive control applications with end-to-end deadlines
TM 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
Schedulability Analysis multiple processors no intertask communication [CCLL95] • Mixed-integer programming techniques • Branch and Bound global scheduling + single processor intertask communication topological order in linear time + multiple processors intertask communication NP-complete [BKS99] +
Periodic Event Scheduling Problem (PESP) • set of periodic events A 8 a2 A . p(a)=T • time function :A![0,T) • span constraint S: interval D=[d-,d+], integer k event pair (a1,a2) satisfiesSif d-· (a2) - (a1) + kT · d+ T=12, D=[5,7] • PESP instance T2R , (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 k=1 k=0 • PESP solution • :A![0,T), k:E! Z
Static 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) ·(ai+1)-(ai)+k(ai,ai+1)T· t(ai)+D, D=T-i=1: nt(ai) • t(an) ·(a1)-(an)+(1-i=1: n-1k(ai,ai+1))T· t(an)+D • Multi-rate solution: • Deadline less than period: D=deadline - i=1:nt(ai) • Multiple (exclusive) resources
This demo uses a TMController to control a Car model to drive at the Cruise Speed. The TM model contains tasks periodically execute on a set of computing resources (processes). A PESPScheduler is used to statically check whether the TM model is schedulable for a given period and schedule the execution of these tasks. Static TM Demo
Dynamic 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 - j=1:nt(aj)]/n • Assign deadlines whenever composite actor is triggered Use Earliest Deadline First strategy on each resource
Dynamic 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
TM 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
<<Interface>> Sceduler +GenerateSchedule() +Schedule() PESPScheduler TMDirector EDFScheduler AtomicActor TM with Multi-Resources in Ptolemy SimpleScheduler <<Interface>> Resource +available() ComputingResource +execute()