the gdse framework a meta-tool for automated design space exploration tripti saxena graduate student...
TRANSCRIPT
1
The GDSE FrameworkA Meta-Tool for Automated Design Space Exploration
Tripti SaxenaGraduate Student
Vanderbilt University
2
Outline
• Background• Motivation• The Generic Design Space Exploration
Framework– Reconfigurable Representation– Flexible Exploration
• Conclusion and Future Work
3
Background
x2
x1designspace
Design Spaceproduct of possible discrete design choicese.g. selection of software components
alternative hardware architectures
selection of features
Design Space Explorationfind a design point • Satisfies constraints• Is “best” w.r.t. an
objective function(s)
4
Background
• Software Product-line EngineeringFace Recognition System
Camera
Image CompressionPCA
MahCosineEuclidean
Bayesian
MLMAP
LDA
IdaSoftEuclidean
Face Recognition Algorithm
[1..4]
Feature Model
5
Background
• Embedded Systems
TDMA
Priority
EDF
WFQ
RISC
DSP
LookUp
Cipher
Application
Mapping
Hardware
6
Exploration Solver
Exploration algorithm
Exploration Solver
Exploration algorithm
Current DSE Frameworks
- Configured to solve a particular DSE problem- Supports only ONE solver/solving technique, not
efficient for every problem instance.
Representation Design space Constraints Objectives
Examples of DSE frameworks• FAMA• Milan• SPLOT• PISA• …
Motivation
Hardware-Software Mapping
Software Product Line configuration
Web Server configuration
SAT(e.g. Minisat)
Mathematical Solver(e.g. LPSolve)
Constraint Solver(e.g Gecode)
Common core
Reconfigurable Representation Multiple Solvers
A reusable and flexible framework
7
Reusable Core
The Generic Design Space Exploration Framework
DSMLADSEL
Template
eDSML
Design Space Model
Instance of
FlatZinc Solver
Solver Independent Constraint Problem in
Minizinc
Intermediate Language
Intermediate Design Space Model
Instance of
FD Solver
LP Solver
GecodeSolver
DESERT
Model Transformation
t
GME
8
Common Core
Reconfigurable Representation
Minizinc
Flexible Exploration
9
Generic Modeling EnvironmentMetamodeling
Modeling
MDE-based Framework• Meta-Programmable• Reuse of previously
defined entities using libraries
• Translators for synthesis
Done by Domain experts
Done by Domain-engineers
Enables reconfigurable representation
10
MinizincMedium Level
Solver-Independent Language
•Express Combinatorial Search Problems•Predefined translators for translation to different solver specific formats
InterpreterModel
Simplified Constraints + variables
Constraint Solver (Flatzinc)
Solutions
LP Solve Minisat
Solutions Solutions
Enables flexible exploration
Overview of the GDSE Framework
DSML ADSEL
eDSML
Design Space Model
Instance of
FlatZinc Solver
Solver Independent Constraint Problem in
Minizinc
Intermediate Language
Intermediate Design Space Model
Instance of
FD Solver
LP Solver
GecodeSolver
DESERT
4
1
Model Transformation
t
2
3
GME
11
Reuse existing DSML
12
Step 1: Domain Specific Modeling Language.
Metamodel•Entities•Relationships•Attributes
Metamodel
Face Recognition Algorithm
Model
13
DSE Problem: Face Recognition System
DSML has to be extended to capture• Design Space of possible variants• DSE Properties • Memory• CPU• Cost
• Constraints• Bound constraint : Memory
<= x• ObjectivePCA
1. Construct a Face Recognition System
2. Goal: Choose a face recognition algorithm from the variants satisfying selection + resource constraints
Algo1
Algo2
Algo3…
14
Step 2: Metamodel Composition
DSML ADSEL
eDSML
Design Space Model
Instance of
GME
FlatZinc Solver
Solver Independent Constraint Problem in
Minizinc
Intermediate Language
Intermediate Design Space Model
Instance of
FD Solver
LP Solver
GecodeSolver
DESERT
4
1
Model Transformation
t
2
3
GMEPerformed by
Domain-expert ONCE for a kind of DSE problem
15
The Abstract Design Space Exploration Language Template
Objective
Design Space Tree
COMPONENT TYPES
CONSTRAINT TYPES OBJECTIVE TYPES
All elements are abstract !
16
The ADSEL Component types
•PropertyType•ValueType•Domain•Composition Function
17
The ADSEL Constraint and Objective types
e.g. A.Sel -> not B.Sel
e.g. A.Memory <= 100 e.g.minimize (cost)
e.g. utilization
18
Metamodel Composition: Template Instantiation
19
Metamodel Composition: Template Instantiation
20
Composition Automation: eDSML Creator
• GUI• Semi-Automated Metamodel Creation based on user selection•Written in C++
21
Step 3: Create Instance Model
NANA
M
22
Step 4: Perform DSE
DSML ADSEL
eDSML
Design Space Model
Instance of
GME
FlatZinc Solver
Solver Independent Constraint Problem in
Minizinc
Intermediate Language
Intermediate Design Space Model
Instance of
FD Solver
LP Solver
GecodeSolver
DESERT
4
1
Model Transformation
t
2
3
GME
23
Solutions
Solver Selection
Solver
24
Summary
– A Generic Framework• Reusable• Flexible
– Case studies from different domains• Software Product Line Configuration • Architecture Synthesis • Hardware Software Co-synthesis
– Scalability: SPLE
25
Conclusion
• Other use cases– Hybrid Tool: Invoke multiple solvers in series– Scalability Analysis Tool
• Future Work– Wider range of case studies– Support parametric representation– Support algorithms for multi-objective
optimization
26
Questions ?