Title: MILAN: ModelBased Integrated SimuLAtioN
1MILAN Model-Based Integrated SimuLAtioN
University of Southern California Principal
Investigator Viktor K. Prasanna Co-PI C. S.
Raghavendra Students E. Andreev, S. Choi, S.
Mohanty, J. Ou http//milan.usc.edu
Vanderbilt University Co-PI Akos
Ledeczi Researchers J. Davis, E. Magyari, Z.
Molnar, S. Neema Students A. Agrawal, H. Bowen,
B. Eames, J. Farkas, http//www.isis.vanderbilt.ed
u
Duty Cycle based Design Space Exploration
Duty Cycle based DSE in MILAN
Enhanced User Interface for DSE
- Duty cycle parameters modeled by MILAN
- multi-rate execution
- multi-rate input (e.g. camera input)
- HiPerE (High-level Performance Estimator) was
enhanced - estimate performance based on duty cycle
parameters - estimate performance over a period of time
- Enhanced system profiling
- profile is generated for a period of execution
- state transition details for each component over
the period of execution
- Evaluate the designs based on
- execution over a period of time (e.g. 10 min.)
- number of instances the application is executed
- DSE in MILAN follows a hierarchical approach
- initially DESERT is used to evaluate the designs
based on single instance of application execution
and latency constraint - followed by HiPerE to evaluate the selected
designs based on a period of execution - for example, a design space of 73,000 for the
PARIS project was evaluated in few minutes using
the above
- Jyhton based Graphical interface between DESERT
and HiPerE - Automatically invokes HiPerE and shows the
results - Allows comparison of designs based on performance
- Displays activity report
Extensibility Toolkit (XTK)
Feedback Interpreter Generation
Interpreter Extension
XTK Contains
- Feedback Interpreters
- Incorporate simulation results into the models
- Until now, hand-coded interpreters
- Feedback generation
- User models the feedback algorithm
- Code for the MILAN interpreter is automatically
generated
- Feedback Interpreter Generator
- GME Meta-Interpreter
- GME BonX
- Reusable Software Libraries
- Graph libraries
- Graphbuilder
Generates
The user models the simulators feedback algorithm
These components provide the building blocks that
can be used to modify, customize, and extend the
MILAN toolset
is based on
MILAN metamodel
XTK Capabilities
- XTK tools allow for
- Extension of existing interpreters
- Creation of new interpreters
- API generation
- Custom API with many helper functions
predefined - Removes mechanical processes from interpreter
development - Extension of existing interpreters automatically
incorporates previous changes
The feedback interpreter can be
automaticallygenerated and integrated into MILAN
Graph library
Graphbuilder library
utilizes
http//milan.usc.edu
...
Generated simulator specific feedback interpreter
Additional intermediate libraries
The generated interpreter can be used to
integrate simulator results into the MILAN model
database
MILAN interpreter
MILAN XTK libraries
Multiprocessor Support
Memory Performance Evaluation
GME Meta-Interpreter and BonX
BonX is a GME metamodel interpreter to provide
automatic generation of a paradigm specific BON
extension
- Message Passing Interface (MPI)
- Support for multiple hardware platforms
- Integrated as a low-level communication protocol
in the Active Kernel - Code Generation for multi-processor systems
- Currently only for the Active Kernel
- Enhancements to the MILAN modeling paradigm
- Application model enhanced to include the memory
requirement of application tasks - Resource model enhanced to capture multiple
banks, operating states, data storage and access
cost - Enhanced HiPerE (high-level performance
estimator) to estimate performance of memory
modules - Use of MILAN to evaluate memory design tradeoffs
- Choice of memory modules, On-chip or Off-chip
memory - Based on duty cycle specification
- Advantages
- Common code base
- Code reuse
- Single source
- Applicable to all GME paradigms, not just MILAN
Shared object creation process
MetaInterpreter Specific Transformation
Shared Object Model
BonX Specific Transformation
Motivated by thePARIS project
Motivated by inputs from BAE Systems
sample estimate
Custom Interpreter Interface
Paradigm Specification
Support for Reconfigurable Systems
Optimal Mapping of Linear Array of Tasks
Given, a linear array of tasks, alternatives for
each task, cost incurred between execution of two
tasks (reconfiguration, or voltage scaling
costs), minimize overall energy and latency.
- Model kernel designs using reconfigurable devices
- supports specification of a library of IP cores
- larger blocks are composed of smaller ones
- allows selection from available choices of IP
cores(e.g. different precision, design, etc.) - associated with the application model through
mapping - Rapid energy, latency, area estimation
- kernel performance estimator
- Automatic feedback to MILAN models
- Simulator integration in progress (Xilinx XPower)
- Uses DESERT and HiPerE to perform DSE
- Basic idea
- use pseudo tasks tocapture state transition
- use constraints toensure correct mapping
- Supports multiple constraints
T1
T2
T3
T4
T5
T6
Parameters register size PE register
size LaoPE PEs, register, size
T21
reconfiguration
T22
voltage scaling
T2n
Motivated by thePASTA project
V a n d e r b i l t U n i v e r s i t y
U n i v e r s i t y o f S o u t h e r n C a
l i f o r n i a