Minimizing System Modification in an Incremental Design Approach Paul Pop, Petru Eles, Traian Pop, Zebo Peng Department of Computer and Information Science, Linköpings universitet, Sweden Summary I/O Interface RAM Incremental Design Future applications Map and schedule so that the future applications will have a chance to fit. N-1 Existing applications Modify (re-map) so that the current applications will fit. ROM CPU ASIC Comm. Controller Static cyclic scheduling of processes and messages, Bus access scheme: time-division multiple-access. Node Incremental design process Already existing system, Implement new functionality, a) Existing system modified as little as possible, b) new functionality can be easily added to the system. S0 S1 S2 S0 S3 S1 S2 S3 Slot N Version N+1 Current applications Do not exist yet at Version N! Mapping and scheduling of distributed embedded systems for hard-real time applications TDMA Round Mapping strategy Cycle of two rounds a) Subset selection to minimize modification time, b) Two design criteria, objective function. Start from an already existing system with applications Implement new functionality on this system Mapping and Scheduling Problem Formulation To reduce design and testing time: As few as possible modifications of the existing applications After the new functionality has been implemented: It should be easy to add functionality in the future Characterizing existing applications: Input 150 A set of existing applications. A current application to be mapped. The system architecture. Output Requirements a) b) c) 50 G3 70 G4 50 G5 G6 G9 G10 20 G7 Characterizing future applications: Typical WCETs Typical message sizes Smallest expected period Tmin Expected necessary processor time tneed Expected necessary bandwidth bneed a) constraints of the current application are satisfied and minimal modifications are performed to the existing applications. C1P, Mapping Strategy C1m First criterion: How well the resulted slack sizes accommodate a future application Initial mapping and scheduling 360 ms Periodic slack min(40, 80, 0) = 0ms min(40, 0, 80) = 0ms min(80, 80, 40) = 40ms S1 S2 S3 S1 S2 S3 S1 S2 S3 S1 S2 S3 C P2 = 40ms Tmin P1 Round 0 Round 1 Round 2 Round 3 Period 0 Period 1 Period 2 a) min(40, 40, 40) = 40ms min(40, 40, 40) = 40ms min(80, 80, 40) = 40ms S1 S2 S3 S1 S2 S3 S1 S2 S3 S1 S2 S3 C P2 = 120ms Round 0 Round 1 Round 2 Round 3 b) Second criterion: C2P, C2m How well the slack is distributed in time to accommodate Tmin, tneed and bneed Paul Pop, Petru Eles, Traian Pop, Zebo Peng: An approach to Incremental Design of Distributed Embedded Systems, Design Automation Conference, 2001 Requirement a) Subset selection problem Select that subset of existing applications so that the current application fits and the modification cost R() is minimized: R() Ri Gi Three approaches to the subset selection problem Exhaustive Search (ES) Ad-Hoc Solution (AH) Subset Selection Heuristic (SH) 1200 AH SH ES 1000 800 600 400 200 0 320 400 480 560 640 Number of processes 140 Average Execution Time [min] P2 Average Modification Cost R() Slack Requirement b) Objective function minimization: AH SH ES 120 100 80 60 40 20 0 320 400 480 560 640 Number of processes C w1P (C1P ) w1m (C1m ) w2P max( 0, t need C2P ) w2m max( 0, bneed C2m ) Percentage of future applications [%] Current Future: P1 N1 N2 N3 Bus G2 b) new future applications can be mapped on the resulted system. Existing N1 N2 N3 Bus 70 G8 A mapping and scheduling of the current application, so that the incremental design requirements are satisfied. Design Criteria G1 120 MS* 100 AD 80 60 40 20 0 40 1 of240 16 April 25, 2006 80 160 Number of processes in the current application