model-driven framework for guided design space exploration presented at ase 2011

21
Budapest University of Technology and Economics Department of Measurement and Information Systems A Model-driven Framework for Guided Design Space Exploration Ábel Hegedüs, Ákos Horváth, István Ráth and Dániel Varró Budapest University of Technology and Economics ASE 2011 Lawrence, Kansas,US, November 9th, 2011

Upload: abel-hegedues

Post on 14-Jul-2015

224 views

Category:

Technology


0 download

TRANSCRIPT

Budapest University of Technology and EconomicsDepartment of Measurement and Information Systems

A Model-driven Framework forGuided Design Space Exploration

Ábel Hegedüs, Ákos Horváth, István Ráth and Dániel Varró

Budapest University of Technology and Economics

ASE 2011Lawrence, Kansas,US, November 9th, 2011

Design Space Exploration

2

Design Space Exploration

Design Alternative 1

Design Alternative 2

Design Alternative 3

Design Alternative 4

Goals

Global Constraints

Operations

Initial Design

Special state space exploration• potentially infinite state space• „dense” solution space

Storage subsystemis deployed on

clustered servers

Running Example Automated cloud infrastructure configuration

o Components have prerequisiteso Structural constraints

„What configuration operations should be performed to create the needed infrastructure?”o Find sequence of operations leading to a

desired stateo Desired state is not given, only requirements

and constraints

Can be solved using Design Space Explorationo Evaluate alternatives to find desired solutions

based on various criteriao Potentially infinite state space (worst case)

3

Application server requires at least two

database

Storage subsystem is deployed on

clustered servers

Application server requires at least two

database

Overview of the framework

s

4

Design Space Exploration

Model-driven Guided

Guidance

HintsDesign problem

description

Design Space Exploration

Exploration strategy

What kind of models are used? What are

the goals?

What is known already?

How to interpret hints?

In which order should alternatives

be explored?

What are the reachable

alternatives?

Design Space Exploration

Model-driven Guided

Guidance

HintsDesign problem

description

Design Space Exploration

Exploration strategy

Overview of the framework

5

Formalization of theproblem domaino Metamodelo Initial modelo Rules / Operationso Global constraintso Goals

Solution:Sequence of operationso Leads to a model that satisfies all goalso Each intermediate model satisfies

global constraints

Design problem description

6

S S

DB

Cl

m(DB) >= 5

S S S S

DBNode

addS

S

So SoCl

S S

Cl

addDB

m(App) = 3

App

Node

Server (S)Database (DB)

Application (App)

Storage (St)

Cluster (Cl)Cloud MW (CM)

deployedOn (dOn)

Socket (So)

Design Space Exploration

Model-driven Guided

Guidance

HintsDesign problem

description

Design Space Exploration

Exploration strategy

Overview of the framework

7

Design Space Exploration (DSE)

High-level overview

8

Initial model

Modified model

Operation

Solutionmodel

Application of an operation

Goals satisfied

Constraints violated

Design Space Exploration

Model-driven Guided

Guidance

HintsDesign problem

description

Design Space Exploration

Exploration strategy

Overview of the framework

9

Possible sources

o System analysis

o Previous experience

o Expert knowledge

Not included in design problem description

Hints

10

• Simulation• Model checking• Qualitative and

quantitative methods

• Measurements on similar systems

• Monitoring• Service Level Agreement

• Domain expert• User interaction

Hints

Model transformation specific hintso Dependency relations

between transformation rules

o Algebraic abstraction andquantitative analysis

Combination of hintso Dependency graph

(PNGT’10)

11

addCl

addS

addSt

addDB

addApp

1

1 10

1

addCM

3

addS

addS

Node

ClonR

2

CM

add Cluster

S S S S

DBNode

addS

S

So SoCl

S S

Cl

addDB

[ 0 1 1 3 1 1 ]

addCM

addCl

addSt

addDB

addS

addApp

Place/Transition netOccurrence vector

Evaluated over the dependency graph

Guidance

Exploiting hints for guiding the exploration

Decision support

o Is the current state likelyto be part of a solution?

o Which labeling should beapplied next in the current state?

12

Cut-off criteria

Selection criteria

Guidance in action

13

M

Gd

addCl

addS

addSt

addDB

addApp

1

1 10

1

addCM

3

CM

SS S

DBM’

CM

SSS S

DBM’’

CM

ClSSS S

DB

Gd’

addCl

addS

addSt

addDB

addApp

1

1 1

1

addCM

2

0

addS addCl

Selectoperation

Modify value

Applyoperation

Selectoperation

Design Space Exploration

Model-driven Guided

Guidance

HintsDesign problem

description

Design Space Exploration

Exploration strategy

Overview of the framework

14

Guided Design Space Exploration

High-level overview

15

Initial model

Modified model

Operation

Solutionmodel

Cut-off criteria satisfied

Selection criteria used

Example: Selection and Cut-off Criterion

16

Gd

addCl

addS

addSt

addDB

addApp

1

1 10

1

addCM

3

Permanently disable rule: • Rule needs to be applied• No other rules can enable it(all enablers are disabledpermanently)

Gd

addCl

addS

addSt

1

1 10

1

addCM

3

addApp

addDB

Independent rule application• Enabled rule with no forward dependency

• Apply it as early as possible• Reduce branching factor

Implementation

18

Model-driven Guided Design Space Exploration

VIATRA2

Guidance

Criteria definitions

Dependency graph (EMF)

Dependency analysis(Condor)

ILP solver(CPLEX)

Design problem description

Design Space Exploration

Abstraction

PN ILPGT

Exploration strategy

VIATRA2 Model Transformation Framework

viatra.inf.mit.bme.hu

Automatically derived from problem description (PNGT’06)

Domain-independent criteria evaluation algorithm

Guided search strategies

Application to calculate quick fixes (VL/HCC’11)

Evaluation

Main evaluation criteria

o Guidance decreases traversed design space

o Relevant solutions are found

o Representative set of

• Problem description

• Hints

Evaluated case studies

o Service reconfiguration

o Cloud infrastructure

o Quick fixes for graphical editors (BPEL)

19

Evaluation results

20

1

10

100

1,000

10,000

100,000

1,000,000

Power Small (23)

Power Large (66)

Clustered DB (28)

RC Small (5)

RC Medium

(9)

RC Large (21)

Number of visited states

Fixed Priority Occurrence Full guidance

Logarithmic scale!Fixed: 200 000Occur.: 900Full Gui.: 20

Additional constraint introduced:Clustered databases

76 alternative occurrence vectors evaluated

400,000

500,000

600,000

700,000

800,000

Good News:• Guided DSE works for many problems• Hints can really increase efficiency

„Bad” News (Future Work): • Problematic rule dependencies

• Unrelated operations• Strongly connected graph

• Infeasible occurrence vectors

Design Space Exploration

Model-driven Guided

Guidance

HintsDesign problem

description

Design Space Exploration

Exploration strategy

Future Work

21

Extended Dependency Analysis:• Analyze dependencies between

• Rules/Operations• Constraints, Goals

Incremental handling of• Criteria evaluation• Infeasible occurrence vectors• State identification

Design Space Exploration

Model-driven Guided

Guidance

HintsDesign problem

description

Design SpaceExploration

Explorationstrategy

Conclusions

22

Problem Description:• Extensive use of model-based techniques

• Metamodelling, pattern matching, model transformation

Hints:• Exploit hints from system analysis

• Dependency analysis• Algebraic abstraction

Exploration:• Guided exploration to increase efficiency

• Cut-off criteria• Selection criteria

Guided DSE Framework:• Implemented over VIATRA2• Evaluated on multiple domains

using different strategies