Schedulability Analysis and Optimization for the Synthesis of Multi-Cluster Distributed Embedded Systems Paul Pop, Petru Eles, Zebo Peng Embedded Systems Lab (ESLAB) Linköping University, Sweden 1 of 1/15 14 Heterogeneous Networks Distributed Heterogeneous System ... NoCs ... ... ... ... Factory Systems Heterogeneous Networks Multi-Cluster Systems Automotive Electronics 2 of 2/15 14 Distributed Safety-Critical Applications ... § Applications distributed over the heterogeneous networks Gateway ... § Reduce costs: use resources efficiently § Requirements: close to sensors/actuators § Applications distributed over heterogeneous networks are difficult to... § Analyze (e.g., guaranteeing timing constraints) Unsolved § Design (e.g., efficient implementation) problems 3 of 3/15 14 Contributions § Analysis and design of Multi-Cluster Embedded Systems § Analysis § Proposed a schedulability analysis for safety-critical hard real-time applications mapped on multi-cluster distributed embedded systems § Is the application schedulable? (Are deadlines satisfied?) § Bounds on the communication delays and communication buffer sizes § Design optimization § Several In this paper designwe problems have addressed can be addressed once an analysissynthesis communication is available. and priority assignment for § Improving the degree of schedulability of an application § Minimizing communication buffer sizes needed to run a schedulable application 4 of 4/15 14 Outline § Motivation § Contributions èSystem architecture and application model § Schedulability analysis for multi-clusters § Optimization strategies § Experimental results § Message and future work 5 of 5/15 14 Hardware Architecture ... Time-triggered cluster ... Gateway § Static cyclic scheduling § Time-triggered protocol Event-triggered cluster § Fixed priority preemptive scheduling § Controller area network protocol Time Triggered Protocol (TTP) § § Controller Area Network (CAN) Bus access scheme: time-division multiple-access (TDMA) Schedule table located in each TTP controller: message descriptor list (MEDL) S0 S1 Slot S2 SG S0 S1 S2 § § § Priority bus, collision avoidance Highest priority message wins the contention Priorities encoded in the frame identifier SG TDMA Round Cycle of two rounds 6 of 6/15 14 ... Software Architecture ... Gateway Time-triggered cluster NG CPU CAN Controller N1 CPU OutCAN m3 T T m1 m1m2 P2 MBI TTP Controller TTP Controller OutN2 P4 OutTTP P1 N2 CPU CAN Controller m3 MBI P 3 Event-triggered cluster SG S1 SG S1 Round2 7 of 7/15 14 Problem Formulation § Input § § § § An application modeled as a set of process graphs Each process has an worst case execution time, a period, and a deadline Each message has a known size The system architecture and the mapping of the application are given § Output § Worst case response times and bounds on the buffer sizes ... § Design implementation such that the application is schedulable and buffer sizes are minimized ... § Schedule table for TT processes § Priorities for ET processes System § Schedule table for TT messages configuration Application: setfor of ET process graphs Mapping Architecture: Multi-cluster Communication § Priorities messages parameters infrastructure § TT bus configuration parameters (TDMA slot sequence and sizes) 8 of 8/15 14 Schedulability Analysis § Scheduling time-triggered activities: § Building a schedule table: static cyclic scheduling (e.g., list scheduling) § Scheduling event-triggered activities: § Response time analysis: calculate worst case response times for each process § Schedulability test: response times smaller than the deadlines § Response times depend on the communication delay between sending and receiving a message § Communication delays depend on the type of message passing 1. TTC è TTC 2. TTC è ETC § Communication delays 3. ETC è ETC § Bounds on the buffer sizes 4. ETC è TTC 9 of 9/15 14 Multi-Cluster Scheduling § Scheduling cannot be addressed separately for each type of cluster § The inter-cluster communication creates a circular dependency: § TTC static schedules (offsets) ⇒ ETC response times § ETC response times ⇒ TTC schedule table construction TT Bus Configuration Static Scheduling Application, Mapping, Architecture Response Times Offsets Priorities Response Time Analysis Multi-Cluster Scheduling Schedule Tables Offset earliest possible start time for an event-triggered activity Response Bounds times on the buffer sizes 10 of10/15 14 ... Optimization Example ... N1 TTP P4 P1 S SG1 S SG1 m1m2 m1m2 SS G1 m3 SS G1 SG m3 SG P4 P4 m3 SG NG CAN O2 N2 O3 P2 P3 P2 P3 P2 P3 Deadline missed! met Transformation: Transformation: S1 is Pthe the slot, high m priority process on Nsooner 2 isfirst 1 and m 2 are sent 2 11 of11/15 14 Optimization Strategies § OptimizeSchedule § Synthesizes the communication and assigns priorities to obtain a schedulable application § Based on a greedy approach § Cost function: degree of schedulability § OptimizeBuffers § Synthesizes the communication and assigns priorities to reduce the total buffer size § Based on a hill-climbing heuristic § Cost function: total buffer size § Straightforward solution § Finds a schedulable application § Does not consider the optimization of the design 12 of12/15 14 Can We Improve Schedulability? Average Percentage Deviation [%] Cost function: degree of schedulability Straightforward solution 120 Does not perform optimizations 100 80 60 OptimizeSchedule? 40 OptimizeSchedule 20 0 80 160 240 320 Number of processes Simulated Annealing 400 Near-optimal values for the degree of schedulability 13 of13/15 14 Can We Reduce Buffer Sizes? Cost function: total buffer size Average total buffer size [k] 10k OptimizeSchedule 8k Does not optimize the total buffer size 6k OptimizeBuffers? OptimizeBuffers 4k Simulated Annealing § Case study Near-optimal values for the 2k 0 80 160 240 320 § Vehicletotal cruise buffercontroller size § Distributed over the TT and ET clusters 400 Number of processes 14 of14/15 14 Message and Future Work Analysis and optimization methods are needed for the efficient implementation of applications distributed over interconnected heterogeneous networks. § Future Work § Explore more design problems § Mapping for multi-clusters § How to partition an application in ET and TT activities? 15 of15/15 14