CprE 588 Embedded Computer Systems Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #8 – Architectural Specialization
CprE 588 – Embedded Computer Systems Outline Motivation Related Work Design Flow Basic Concepts Multi-Metrics Experimental Results Conclusion L. Cai, A. Gerstlauer, and D. Gajski, “Retargetable Profiling for Rapid, Early System-Level Design Space Exploration”, In Proceedings of the Design Automation Conference (DAC), 2004. CprE 588 – Embedded Computer Systems Mar 3-5, 2009
Higher levels of abstraction Motivation Time-to-market SoC Complexity Higher levels of abstraction Exploration Estimation Modeling level n Verification Refinement n+1 Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
System Level Estimation Fast Accurate Fidelity Different abstraction levels Wide range of metrics Wide variety of target implementation Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Related Work Static analysis-based approaches Examples WCET (Y. Li), scheduling analysis (G. Buttazzo) Memory size estimation (Y. Zhao) Limitations Time-consuming, manual interference Dynamic simulation-based approaches Profiling tools (GNU profiler) Instruction-set simulators Multi-processor, multi-level co-simulation (P. Gerin) Trace-based simulation (K. Lahir, P. Lieverse) A simulation is required for each design alternative Target/host machine-dependent characteristics Operation-related data Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Design Flow Refinement Estimation GUI Spec Simulation model Profiling Profiling Spec characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Design Flow (cont.) Refinement Estimation GUI Spec Simulation model Profiling Profiling Spec characteristics Design decision Retargeting Refining Retargeting Back Implt annotation Characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Design Flow (cont.) Refinement Estimation GUI Spec Instru- model menting Profiling Profiling Spec characteristics Design decision Retargeting Refining Retargeting Back Implt annotation Characteristics Refined Simulation/ Implt. Simulation- estimation model estimation Estimates Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Explore and Trim Exploration Space Profiling Implt independent simulation One-time retargeting Implt dependent simulation ... /estimation ... Design Time Profiling Retargeting Simulation- stage stage estimation stage Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Profiling Instrumentation-based profiling Bb: The execution counts of basic block b Cb,i,d: No. of computed characteristics for item type i and data type d in the block b Data type i: float, int, .. Item type d: metric dependant Ri,d = bC b,i,d Bb R = idRi,d int b,c; if( a = 0){ b++; } else{ c++; B1 = 1 C1,++,int = 1 B3 = 3 C3,++,int = 2 R++,int= i [ Bi * Ci,++,int ] =1 x 1 + 3 x 2 = 7 Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Retargeting Impl. characteristics Ri,d: Spec. characteristics Wi,d : weights of components which the entity mapped to Manual Simulation E = id(Ri,d X Wi,d ) Time complexity: O(n) v c B1 B2 B R(B1)++,int= 7 W(PE1)++,int= 1 PE1 PE2 Mem E(B1,PE1)++,int= 7 x 1 = 7 CprE 588 – Embedded Computer Systems Mar 3-5, 2009
CprE 588 – Embedded Computer Systems Challenges Separating dynamic and static analysis Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion v c B1 B2 B Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion Multi-dimensional analysis v c B1 B2 B Traditional approach Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion Multi-dimensional analysis Multi-entities Behavior, channel, port, variable v c B1 B2 B Entities Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion Multi-dimensional analysis Multi-entities Behavior, channel, port, variable Multi-metrics Operation, traffic, storage Static, dynamic v c B1 B2 B Entities Metrics CprE 588 – Embedded Computer Systems Mar 3-5, 2009
CprE 588 – Embedded Computer Systems Challenges (cont.) Separating dynamic and static analysis Supporting complex models Hierarchy Recursion Multi-dimensional analysis Multi-entities Behavior, channel, port, variable Multi-metrics Operation, traffic, storage Static, dynamic Multi-levels Application, transaction, bus-functional v c B1 B2 B Entities Levels Metrics CprE 588 – Embedded Computer Systems Mar 3-5, 2009
CprE 588 – Embedded Computer Systems Operation Metrics Entities: behavior Item types 84 basic types: ‘+’.., ‘=‘.., ‘if’.. Special operation types: global function Specification characteristics Mapping: behavior PE Implementation characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Traffic Metrics Entities: port, variable, channel, behavior Item types: in, out Specification characteristics Mapping: Port PE Variable/channel bus Implementation characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
Deriving Traffic Metrics Profiling for the hierarchically instantiated behaviors and recursively called functions A.p1 B.p2 B.F1.p3 B.F2.P4 Different abstraction levels PE1 PE2 Beh1 Beh2 PE1 PE2 v1 Beh.port → Var Beh.port → Chan Chan in Chan Beh.port → Pin Chan.port Chan CprE 588 – Embedded Computer Systems Mar 3-5, 2009
CprE 588 – Embedded Computer Systems Storage Metrics Entity: variable, behavior Item types: local, global Specification characteristics Mapping: Variable local/global memory Implementation characteristics Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
Exp. Result: Vocoder Profiling Floating –point not required Dedicated hardware multipliers HW acceleration Table 1: Computational complexity of top-level Vocoder behaviors Table 2: Codebook operation mix Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
Exp. Result: Vocoder Profiling (cont.) 1500 2500 3500 4500 10 30 50 70 90 110 130 150 170 u Timing constraint (2990) Time (ms) Cost B (73, 2980) 8 behaviors 3 PEs Total 38 =6561 design alternatives Evaluation time: 3:15 hour 1 simulation (2.23s) 1 profiling (8.41s) 6561 retargeting (0.8s) 6561mapping (0.97s) yellows Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
Exp. Result: JPEG Encoder Implementation characteristics vs implementation estimates 50 100 150 200 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Design alternatives Execution time (ms)) Estimates Char. Map 4 behaviors 2 PEs: 24 design alternatives Accuracy: 12.5%, fidelity = 100% Mar 3-5, 2009 CprE 588 – Embedded Computer Systems
CprE 588 – Embedded Computer Systems Conclusion Dynamic profiling + static retargeting Profiling: helps completely comprehend the specification Retargeting: ultra-fast (linear time), enables initial, exhaustive exploration of design space. Multi-dimensional analysis Multi-entities Behavior, channel, variable, port Multi-abstraction levels Application level, transaction level, bus-functional level Multi-metrics Operation, traffic, storage Static, dynamic Mar 3-5, 2009 CprE 588 – Embedded Computer Systems