MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated Systems Vanderbilt University
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 2 Outline Brief overview Modeling methodology Integrated simulators/tools Design flow with MILAN The kind of feedback we’d like to get
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 3 MILAN Objectives MILAN is a model-based, extensible simulation framework. It will provide a unified environment capable of: – modeling a large class of embedded systems and applications – seamlessly integrating different widely-used simulators into a single framework – enabling rapid evaluation of different performance metrics such as power, latency, and throughput – facilitating simulation at multiple levels of granularity – rapid evaluation of a large design space
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 4 HOW? Model Integrated Computing Configurable modeling, analysis and program synthesis environment Rich, domain-specific modeling language Primarily graphical, hierarchical, multiple-aspect models Open, extensible tool environment with standard interfaces (XML, COM, UML, OCL) Mature toolset in everyday use in industry (GM, Sandia, Boeing, NASA, etc.) Generic Modeling Environment (GME 2000)
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 5 The MILAN Architecture Model interpreter feeding-back results Model interpreter driving simulators/tools System Generation and Synthesis Tools GME 2000 Resource Models Application Models Constraints Mapping Models i i Target System i Functional Simulators High-level Performance Estimators Cycle- Accurate Performance Simulators Design Space Exploration Tools Functional Simulators High-level Power Estimators Cycle- Accurate Power Simulators Design Space Exploration Tools ii i DESERT Matlab SystemC ActiveHDL HiPerE SimpleScalar PowerAnalyzer Armulator CodeComposer MILAN v0.9
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 6 (Much) Simplified Operation Code Generator Dataflow Kernel App- Specific Libraries App- Specific Libraries App- Specific Libraries App- Specific Libraries App- Specific Libraries DSP Libraries Glue Code Compiler/ Linker Exe Dataflow Graph Application Code MILAN Modeling MILAN Model Interpretation Not shown: Design space modeling and exploration Requirement modeling Resource modeling Support for several simulators Support for configurable hardware Multi-granular simulation support Auto-feedback from simulators etc.
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 7 Application Models Dataflow Mixed synchronous and asynchronous Strongly typed Supports parametric models Explicit alternatives Supports components with functionality implemented in hardware (targets SystemC and VHDL) Modeling support for multi-granular simulation
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 8 Resource Models Supports a large class of building-blocks (computing cores, memories, interconnects, etc.) Resources can be modeled at varying granularities Single modeling paradigm for several heterogeneous architectures The parameters captured by the model represent: –Capabilities and flexibilities provided by the architecture –Options that can be exploited for power and time optimization –Input needed by the integrated simulators
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 9 Other Models Constraints: –Capture requirements (performance, power, cost, etc.), resource constraints, etc. –OCL-based representation –Act as “knobs”: can be placed anywhere in the hierarchy can be easily adjusted for experimentation drive design space exploration Mapping: –Application models contain references to one or more hw resources (or relation) –Contain performance, power, etc. attributes
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 10 XML Design Space Rep. Design Space Exploration App Space Constraints Binary Encoding OBDD Representation OBDD Representation Symbolic Design Space Pruned Design Space Symbolic Constraint Satisfaction Re-encoding/Iterative Pruning Symbolic Design Space Representation Parsing/ Composing Symbolic Constraint Representation HW Space Binary Encoding OBDD Representation X M L I/F X M L I/F DEsign Space ExploRation Tool MILAN/GME Generic, domain-independent, constraint-based design space exploration tool, leveraging DARPA ACS technology Tool interfaces specified and synthesized from meta-models, leveraging DARPA MoBIES technology for facilitating tool integration Extensions planned to enable representation of alternatives in the resource space Results will be leveraged by DARPA PCA and MoBIES programs i
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 11 High-level Performance Estimator Objectives –Integrate component specific models –rapid system-wide power and performance evaluation –based on parallelism, operation-states, data transfer cost –estimated value within an error range of ±10% Input/Output High Level Performance Estimator OUTPUT Power Consumption Execution Time Operation States Trace INPUT Mapping Schedule Component Specific Performance Values Architecture Description Model Information
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 12 Design Space Exploration 10 k k = 1..3 Design Space 1 n >> 1 10 n Design Space Resource Application Constraints DESERT Human-in-the-loop feedback HiPerE Iterator
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 13 Simulators Functional: Matlab, SystemC and VHDL High-level: HiperE Cycle accurate: SimpleScalar, SimplePower, PowerAnalyzer, Armulator, Code Composer: –Use C code generated from app models –Use configuration files generated from resource models
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 14 Design Flow with MILAN Resource Application Constraints DESERT Looping HiPerE Matlab SystemC ActiveHDL PowerAnalyze SimpleScalar Armulator HiPerE System Generation and Synthesis Tools Target System Automated Process Human-in-the-loop Process Mixed Process
MILAN Workshop, Nashville, October, 2002 Copyright © 2002 Vanderbilt University 15 Feedback What additional processors, hardware architectures should MILAN support? What additional simulators should MILAN support? What additional runtime kernels should MILAN support? Are there any other problems or issues you want to raise? Are there any other remarks or observations you want to make?