milan: technical overview october 2, 2002 akos ledeczi [email protected] milan workshop...
TRANSCRIPT
MILAN:
Technical Overview
MILAN:
Technical Overview
October 2, 2002
Akos [email protected]
http://milan.usc.edu/
MILAN Workshop
Institute for Software Integrated Systems
Vanderbilt University
Copyright © 2002 Vanderbilt University 2MILAN Workshop, Nashville, October, 2002
Outline
• Brief overview
• Modeling methodology
• Integrated simulators/tools
• Design flow with MILAN
• The kind of feedback we’d like to get
Copyright © 2002 Vanderbilt University 3MILAN Workshop, Nashville, October, 2002
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
Copyright © 2002 Vanderbilt University 4MILAN Workshop, Nashville, October, 2002
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)
Copyright © 2002 Vanderbilt University 5MILAN Workshop, Nashville, October, 2002
The MILAN Architecture
Model interpreterfeeding-back results
Model interpreterdriving simulators/tools
System Generation and Synthesis Tools
GME 2000
Resource Models
Application Models
Constraints
MappingModels
iiTarget System
i
Functional Simulators
High-levelPerformance Estimators
Cycle-Accurate
Performance Simulators
Design SpaceExploration
Tools
Functional Simulators
High-levelPower
Estimators
Cycle-Accurate
Power Simulators
Design SpaceExploration
Tools
ii
i • DESERT
• Matlab• SystemC• ActiveHDL
• HiPerE
• SimpleScalar• PowerAnalyzer• Armulator• CodeComposer
MILAN v0.9
Copyright © 2002 Vanderbilt University 6MILAN Workshop, Nashville, October, 2002
(Much) Simplified Operation
CodeGenerator
DataflowKernel
App-SpecificLibraries
App-SpecificLibraries
App-SpecificLibraries
App-SpecificLibraries
App-SpecificLibraries
DSPLibraries
GlueCode
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.
Copyright © 2002 Vanderbilt University 7MILAN Workshop, Nashville, October, 2002
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
Copyright © 2002 Vanderbilt University 8MILAN Workshop, Nashville, October, 2002
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
Copyright © 2002 Vanderbilt University 9MILAN Workshop, Nashville, October, 2002
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
Copyright © 2002 Vanderbilt University 10MILAN Workshop, Nashville, October, 2002
XMLDesignSpaceRep.
Design Space Exploration
App Space
Constraints
Binary Encoding
OBDD Representation
OBDD Representation
Symbolic Design Space
Pruned Design Space
SymbolicConstraint
Satisfaction
Re-encoding/Iterative Pruning
Symbolic Design Space Representation
Parsing/ Composing
Symbolic Constraint Representation
HW SpaceBinary
EncodingOBDD
Representation
XML
I/F
XML
I/F
DEsign Space ExploRation ToolMILAN/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
Copyright © 2002 Vanderbilt University 11MILAN Workshop, Nashville, October, 2002
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 LevelPerformance
Estimator
OUTPUT
PowerConsumption
Execution Time
Operation StatesTrace
<system level>INPUT
<component level>
Mapping
Schedule
Component SpecificPerformance Values
Architecture DescriptionModel Information
Copyright © 2002 Vanderbilt University 12MILAN Workshop, Nashville, October, 2002
Design Space Exploration
10k
k = 1..3
Design Space
1
Design Space
n >> 1
10n
Design SpaceResource
Application
Co
ns
train
ts
Co
ns
tra
ints
DESERT
Human-in-the-loop feedback
HiPerEIterator
Copyright © 2002 Vanderbilt University 13MILAN Workshop, Nashville, October, 2002
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
Copyright © 2002 Vanderbilt University 14MILAN Workshop, Nashville, October, 2002
Design Flow with MILAN
Resource
Application
Co
ns
train
tsC
on
str
ain
ts
DESERTLoopingHiPerE
MatlabSystemC
ActiveHDL
PowerAnalyzeSimpleScalar
Armulator
HiPerEHiPerE
System Generation and Synthesis Tools
Target System
Automated Process
Human-in-the-loop Process
Mixed Process
Copyright © 2002 Vanderbilt University 15MILAN Workshop, Nashville, October, 2002
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?