Top Banner
Model-Driven Generation Model-Driven Generation of Performance Prototypes of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO
14

Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

Jan 01, 2016

Download

Documents

Amy Garrison
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

Model-Driven Generation of Model-Driven Generation of

Performance PrototypesPerformance Prototypes

Steffen BeckerFZI, Karlsruhe

Tobias Dencker

U Karlsruhe

Jens Happe

U Oldenburg

DFG-Project PALLADIO

Page 2: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

2Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Motivation

Software Development as Engineering

2

Server Database

5 ms 15 ms

Image-Source: www.getdigital.de

prediction

prototyping

Code

testing

20 ms 23 ms 25 ms

System Model & Annotations

Should Correspond, butdoes not because of Prediction

Model’s Assumptions.How to close the gap?

Page 3: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

3Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Outline

3

Page 4: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

4Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Related Work

4

Page 5: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

5Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Palladio Component Model (PCM)

Brief Overview

5

Page 6: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

6Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Mapping PCM to Prototypes

  PCM Concept ProtoCom

Static

Interfaces Java Interface

BasicComponents Classes with Simulated SEFF

CompositeComponents Facade Class

AssemblyContext Instance of Component Class

AssemblyConnector Deployment Script

Dynamic

Internal Actions Resource Demand Generator

Call Actions RMI/SOAP Call

Control Flow Java Control Flow

Data Flow Annotations Simulated Dataflow

AllocationAllocationContext Deployment Script

Resources [Uses Physical Resources]

Workload UsageModel Workload Driver

6

Page 7: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

7Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Mapping PCM to Prototypes

7

<<ExternalCall>>IExternal.service

<<Loop>>

<<BasicComp>>BC1

<<InternalAction>>

iterationCount=IntPMF[(2;0.4)(3;0.6)]

cpuDemand=a.BYTESIZE*100

Legend

Prototype Load Generator

Basic Java/J2EE Mapping

Input/output Variable Usages[..]

Page 8: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

8Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Generating Load: Strategies

Load Generation should resemble target code as good as possible to capture hard to model effects Different types of Load Generation Strategies needed

• CPU Intensive Load vs Memory Intensive Load

• Burst Disk Access vs Random Disk Reads

• Fragmented Network Transmission vs Bulks

• ... Can not assume Strategies have linear time demands In this Presentation

Calculating Fibonacci Numbers (CPU Intensive) vs Sorting Arrays (Memory Intensive)

8

Page 9: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

9Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Generating Load

Calibration in Target Environment

Choose Algorithm whose time demand increases monotonic with a problem size n: alg(n)

Let execalg(n) be the time demand for computing alg(n)

Given a time tdest find n such that tdest = execalg(n) in case no contention is in the target environment

Problem: Needs calibration for a large set of tdest

Split tdest in power of 2 sum

Determine ni for with

Compute alg(ni) for all xi = 1

9

0

2 , {0,1}idest i i

i

t x x

0 ( ) 2ialg iexec n

Page 10: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

10Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Case Study: Input PCM Model

10

Client

Client

WebServer

Scheduler

Reporting Engine

IReporting

IReporting

IWeb

DB Cache

Database

IDatabase

WebServer.acceptRequest

Scheduler.dispatch

Reporting.prepare

Reporting.prepareSmall Reporting.prepareBig

DB.getSmall DB.getBig

Reporting.generateReport

Cache.accessCache

2 times

1sec

0.03sec

0.5sec

0.3sec

0.26sec

4sec

0.44sec

0.03sec

80% 20%

ICache

[Wu2003]

1,56s(80%)

6,47s(20%)

Page 11: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

11Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Case Study Setting

11

Client

Client

WebServer

Scheduler

Reporting Engine

IReporting

IReporting

IWeb

DB Cache

Database

IDatabase

WebServer.acceptRequest

Scheduler.dispatch

Reporting.prepare

Reporting.prepareSmall Reporting.prepareBig

DB.getSmall DB.getBig

Reporting.generateReport

Cache.accessCache

2 times

1sec

0.03sec

0.5sec

0.3sec

0.26sec

4sec

0.44sec

0.03sec

80% 20%

ICache

PCM Input Model

generate

GeneratedPrototype

deploy & measure

Dual Core PC

Questions1.Does it Generate, Compile and Deploy automatically?2.Does Calibration work with different Algorithms?3.Can we see hard-to-model Effects?

Page 12: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

12Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Case Study Q1 & Q2

Does Transformation and Calibration Work?

12

1,56s(80%)

6,47s(20%)

Page 13: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

13Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Case Study Q3

Unpredicted Effects?

13

1,56s(80%)

6,47s(20%)

Page 14: Model-Driven Generation of Performance Prototypes Steffen Becker FZI, Karlsruhe Tobias Dencker U Karlsruhe Jens Happe U Oldenburg DFG-Project PALLADIO.

14Generation of Performance Prototypes / SIPEW ‘08 / Steffen Becker / 28.06.2008

Conclusions

14