performance-influence models · binary and numeric options structured sampling approaches for the...

22
Alexander Grebhahn Performance-Influence Models Alexander Grebhahn, Norbert Siegmund, Sven Apel University of Passau Performance Modeling: Methods & Applications July 2015 1

Upload: others

Post on 17-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Performance-Influence Models

Alexander Grebhahn, Norbert Siegmund, Sven Apel University of Passau

Performance Modeling: Methods & Applications

July 2015

1

Page 2: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Which is the Optimal Configuration for a given Hardware Platform?

2

Vorführender
Präsentationsnotizen
Hardware heterogeneity Predict performance of all variants Identify which configuration options interact Variants as Members of Software product line Requirement: Human readable Deeper understanding of the domain Performance debugging
Page 3: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

How to Identify Optimal Configurations?

320 optinal binary options lead to more configurations than the expected number of atoms in

the universe

Numeric options make things much worse

Optimal configuration for

Optimal configuration for

3

Page 4: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

What can we do?

Use Machine Learning Pros:

Automated Many tools, much research

Cons: Overfitting, underfitting Not tailored to the application domain

4

Page 5: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

What can we do?

Use Machine Learning Pros:

Automated Many tools, much research

Cons: Overfitting, underfitting Not tailored to the application domain

5

optimal conf.

influence model

DBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

Page 6: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

What can we do?

Use Machine Learning Pros:

Automated Many tools, much research

Cons: Overfitting, underfitting Not tailored to the application domain

Use Domain Knowledge

Pros: Knowledge about asymptotic behavior No measurement overhead

Cons: Expensive, hard to incorperate Sometimes misleading

6

optimal conf.

influence model

DBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

Page 7: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

optimal conf.

influence model

DBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

7

Variability Model

DBMS

Core Compression [0-8]

Encryption [0-8]

Transactions

Vorführender
Präsentationsnotizen
Explain variability model + base feature and virtual features Mapping from a configuration to the performance
Page 8: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Sampling

optimal conf.

influence model

ΠDBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

8

Vorführender
Präsentationsnotizen
Simply transferring all to binary or numeric options is not beneficial
Page 9: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Sampling

optimal conf.

influence model

ΠDBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

9

Vorführender
Präsentationsnotizen
Simply transferring all to binary or numeric options is not beneficial
Page 10: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Sampling

optimal conf.

influence model

ΠDBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

10

Vorführender
Präsentationsnotizen
Simply transferring all to binary or numeric options is not beneficial
Page 11: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Sampling

optimal conf.

influence model

ΠDBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

11

Vorführender
Präsentationsnotizen
Simply transferring all to binary or numeric options is not beneficial
Page 12: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Binary and Numeric Options

Structured sampling approaches for the different kinds of options

Binary Options Numeric Options

(0,0) (0,1)

(1,0) (1,1)

(0,0) (0,1)

(1,0) (1,1)

(0,0) (0,8)

(8,8)(8,0)

12

DBMS

Core Compression [0-8]

Encryption [0-8]

Transactions

Page 13: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Random?

Unlikely to select a valid configuration

Only locally clustered solutions using SAT

Heuristics

Option-Wise (OW)

Negative Option-Wise (nOW)

Pair-Wise (PW)

{ , } , { , } …

{ , , , } …

Heuristics for Binary Options

13

DBMS

Core Compression Encryption Transactions

{ , , } , { , , } …

optimal conf.

influence model

DBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

Vorführender
Präsentationsnotizen
Subspace of the valid configurations is exponential small with the number of options Boolean Satisfiability Problem 
Page 14: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Heuristics for Numeric Options (Design of Experiments)

Response surface models

Identify the influence of independent

variables on a parameter

Scale to multiple numeric options Central Composite Design (CCD)

Plackett-Burman Design (PBD)

pre-

smoo

thin

g

post-smoothing

pre-

smoo

thin

g

post-smoothing

14

optimal conf.

influence model

DBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

Vorführender
Präsentationsnotizen
Consider Main Effects and Interactions PBD (9,3): 0, 1, 2, 2, 0, 2, 1, 1
Page 15: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Performance-Influence Model (Π)

Π : C → R

Π(C) = 100 * + 20 * + 30 * + 10 * - 10 * * + …

(Siegmund et al., FSE’15)

onquerorSPL

Performance-Influence Model

DBMS

Core Compression [0-8]

Encryption [0-8]

Transactions

Page 16: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

onquerorSPL

β3* + β4*

the highest accuracy gain

next step

β1* + β2*

β5* + β6*

β7* + β8* + β9*

β10* + β11* *

standard linear-regression algorithm

(Siegmund et al., FSE’15)

β5* + β6*

Performance-Influence Model

DBMS

Core Compression [0-8]

Encryption [0-8]

Transactions

Page 17: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Experiments: Subject Systems

17

AJStats

clasp

lrzip HSMGP

HIPAcc

DUNE MGS

Page 18: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Experiments: Subject Systems

DUNE MGS

HIPAcc

HSMGP

HIPAcc

API

CUDA

Texture Memory

OpenCL Linear2D Array2D

Padding[0,32,…,512]

0

Pixels per Thread [1,2,3,4]

1

Blocksize

¬(Local Memory ˄ 1024x1 ˄ Pixel Per Thread = 2)¬(Local Memory ˄ 32x32 ˄ Pixel Per Thread = 3)¬(Local Memory ˄ 64x16 ˄ Pixel Per Thread = 3)

Local Memory

32x1 64x16

128x1 128x2 128x4 128x8 256x4 512x1 512x2 1024x1

Ldg

32x2 32x4 64x2 64x8

256x1 256x2

(Array2D Padding = 0)⇒

¬(Local Memory ˄ 128x8 ˄ Pixel Per Thread = 3)¬(Local Memory ˄ 256x4 ˄ Pixel Per Thread = 3)¬(Local Memory ˄ 512x2 ˄ Pixel Per Thread = 3)

¬(Local Memory ˄ 1024x1 ˄ Pixel Per Thread = 3)¬(Local Memory ˄ 32x32 ˄ Pixel Per Thread = 4)¬(Local Memory ˄ 64x16 ˄ Pixel Per Thread = 4)

¬(Local Memory ˄ 128x8 ˄ Pixel Per Thread = 4)¬(Local Memory ˄ 256x4 ˄ Pixel Per Thread = 4)¬(Local Memory ˄ 512x2 ˄ Pixel Per Thread = 4)

¬(Local Memory ˄ 1024x1 ˄ Pixel Per Thread = 4)

32x1632x8 64x432x32 64x1

Linear1D

HSMGP

post-smoothing[0,…,6]

3

pre-smoothing[0,…,6]

3

sum (pre-smoothing, post-smoothing) > 0

coarse grid solver

IP_CG IP_AMGRED_AMG

smoother

GSACGSJac BSRBGS RBGSAC

Number of Cores[64,256,1024,4096]

64

Dune MGS

post-smoothing[0,…,6]

3

pre-smoothing[0,…,6]

3

sum (pre-smoothing, post-smoothing) > 0

preconditioner

GS

solver

CG LoopBicGSTAB Gradient

Number of Cells[50,…,55]

50

SOR

• 2 304 configurations • Intel i5-4570 Quad

Code and 32 GB RAM

• 13 485 configurations • nVidia Tesla K20 with

5GB RAM and 2495 cores

• 3 456 configurations • JuQueen at Jülich

18

Page 19: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Experimental Results

Option-Wise is the best trade-off between prediction accuracy and

measurement overhead Option-Wise combined with PBD(49,7) has best accurcy (~avg. error of 9.1%)

compared to measurement overhead

Option-Wise Pair-Wise Negative Option-Wise e/|C| e/|C| e/|C|

Dune MGS PBD(9,3) 14.1%/45 14.9%/72 15.8%/45 PBD(49,7) 11.4%/245 11.9%/392 11.6%/245 CCD 11.1%/75 11.9%/120 10.8%/75 HIPAcc PBD(9,3) 14.7%/240 13.8%/1221 49.3%/85 PBD(49,7) 13.9%/736 11.1%/3645 41.4%/161 CCD 14.2%/242 10.5%/1247 48.2%/102 HSMGP PBD(9,3) 2%/72 2.4%/162 3.3%/72 PBD(49,7) 2.1%/392 1.5%/882 2.4%/392 CCD 3.2%/120 2.7%/270 3.7%/120

ē: average prediction error, |C| : number of measurements PBD: Plackett-Burman Design, CCD: Central Composite Design

19

Page 20: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

What about Domain Knowledge?

Tailor numeric option sampling to known shape of function Tailor binary option sampling to known interactions Tailor numeric option sampling to known absence of interactions

Learn separate models for independent configuration spaces

Learn specific functions (do not probe for any function)

20

optimal conf.

influence model

Π1 +Π2+Π3

DBMS

Core Compression[0-8]

Encryption[0-8]

Transactions

Page 21: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

Outlook

Energy efficiency

optimal conf.

influence model

Π1 +Π2+Π3

Domain-knowledge integration and validation

Combined sampling of binary and numeric options

+

21

GS

Jac

(0,0) (0,1)

(1,0) (1,1)

pre-

smoo

thin

g

post-smoothing(0,0) (0,8)

(8,8)(8,0)

Page 22: Performance-Influence Models · Binary and Numeric Options Structured sampling approaches for the different kinds of options Binary Options . Numeric Options (0,0) (0,1) (1,0) (1,1)

Alexander Grebhahn

onquerorSPL

Publications

• Norbert Siegmund, Alexander Grebhahn, Sven Apel, Christian Kästner. Performance-Influence Models for Highly Configurable Systems. In ESEC/FSE. ACM Press, August 2015; to appear.

• Alexander Grebhahn, Sebastian Kuckuk, Christian Schmitt, Harald Köstler, Norbert Siegmund, Sven Apel, Frank Hannig, and Jürgen Teich. Experiments on Optimizing the Performance of Stencil Codes with SPL Conqueror. Parallel Processing Letters, 24(3):Article 1441001, September 2014.

• Alexander Grebhahn, Norbert Siegmund, Sven Apel, Sebastian Kuckuk, Christian Schmitt, and Harald Köstler. Optimizing Performance of Stencil Code with SPL Conqueror. In HiStencils, January 2014.

SPL Conqueror

22