predicting performance of applications and infrastructures tania lorido 27th may 2011

44
Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Upload: alvin-elliott

Post on 11-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Predicting performance of applications and

infrastructuresTania Lorido

27th May 2011

Page 2: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Problem definition

Objective Predicting utilization of resources (memory, CPU, ...) on

different computing systems in order to determine application behavior. To predict performance if the available resources change To change available resources in elastic infrastructures

Three scenarios Benchmark traces on a simulator (INSEE)

NAS Parallel Benchmarks Real applications on real systems (Data from U. of Florida) Applications running in the cloud (Arsys)

Page 3: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

First scenario: INSEE

Page 4: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

What is INSEE?

Interconnection Network Simulation and Evaluation Environment

Input: Traces containing messages sent among nodes.

Output: Execution timeAnd many other network-related figures

Page 5: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

ObjectivesGet a dataset running several traces on the

simulator

Create different models -> execution time prediction

Learn about ML techniques

Page 6: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Input tracesNAS Parallel Benchmark suite

Scientific codes implemented in Fortran + MPI

Can run in systems of different sizesTested with 16 or 64 tasks

Run on a real system (Kalimero-like cluster)

Captured the whole list of point-to-point messages sent between every pair of tasks.

Page 7: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Topologies

2D mesh 2D torus

Page 8: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

We have…... a set of tasks: 16 or 64

… a set of nodes: 256 (16x16 torus)

How to assign tasks to nodes?

Page 9: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

PartitioningSelecting a set of nodes

Three options: random, band & quadrant

An example:We need 4 nodesTopology: mesh

Page 10: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Random

Band

Quadrant

Page 11: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

MappingAssigning each task to one of the nodes in the

set

Two options: random & consecutive

Example…… with band partitioning

Page 12: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Random

Consecutive

Page 13: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Background noiseIn a real environment, several applications

compete for the network.

We emulate that with random messages sent among nodes: background noise

Different levels

Page 14: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Predictive Variables

Page 15: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Predictive Variables

Page 16: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

ExperimentA model for each trace type (7 types)

Class variable: execution time discretized in 3 binsWidth Height (equal frequency)

Classifiers: KNN, Naive Bayes, J48 tree

10 repeated, 5 cross-validation

Accuracy

Page 17: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Results (I)

Page 18: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Results (II)

Page 19: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Interpretation for resultsQuite good results (80-100% of accuracy)

Background noise doesn’t affect (information gain = 0.00015)

… learning about ML techniques.

Page 20: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Second scenario: parallel application data from the U. of

Florida

Page 21: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

What have they done?Run a couple of real applications on real systems

to obtain datasets

Apply several regression techniques to predict execution time and other parameters related to resource usage.KNN, LR, DT, SVM, …

Propose a new algorithm and compare it with “classical ones”

Page 22: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

ObjectivesRepeat the experiment – same results?

Discretize variables and apply classification techniques.

Multidimensional prediction

Page 23: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Real applications

Bioinformatics applications:

BLAST: Basic Local Alignment Search Tool

RAxML: Randomized Axelerated Maximum Likelihood

Page 24: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

… running on real systems

Page 25: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Datasets are availableBLAST RAxML

6592 data points

Two class variablesExecution time

(seconds)Output size (bytes)

487 data points

Two class variablesExecution time

(seconds)Resident Set Size,

RSS (bytes)

Page 26: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Predictive variables - RAxML

Page 27: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Attribute selectionDifferent sets chosen by the authors

Page 28: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Testing different classifiers…

Page 29: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

First experiment - Regression

10 repeated, 10 cross-validation

Classifier evaluation:

Percentage error

where fi = forecast value, ai = actual value

Mean Percentage Error

Page 30: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Results

Page 31: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Second experiment – Classification

Output variable discretized in 4 binsWidthHeight (equal frequency)

Predictive variables discretized applying Fayyad IraniMakes groups trying to minimize entropy

Same classifiers, except Linear Regression and SVM

Classifier evaluation criterion: Accuracy

Page 32: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Results

Page 33: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Interpretation Height-based discretization:

65 – 75% accuracy

Width-based discretization92 – 96% accuracy … BUT…

Page 34: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Attribute selection Information gain with respect to the class is 0 (or close

to) for some variables

Previous attribute selection is done based on author criterion

So… we apply:

Attribute Evaluator: CfsSubsetEval

Search Method: BestFirst

And the results….

Page 35: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011
Page 36: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

ConclusionsRegression experiment repeated with the same

results

Width-based discretization discarded

“Same results” after attribute selection

And next…

Multidimensional prediction: BLAST: Execution time & output size RAxML: Execution time & memory size (RSS)

Page 37: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Third scenario: prediction of

resource demands in cloud computing

This is future work

Page 38: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

What does Arsys offer? (I)Traditional application and web hosting

An IaaS cloud computing platform

Page 39: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

What does Arsys offer? (II)A tool for the client to create and manage his

own VMs:RAMNumber of coresDisk space

Theoretically, no limits in resource usage

Resources can be changed dynamically Elasticity

Page 40: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

What do they want?

A tool that:Monitors resource utilization by a user’s

VM…… and predicts future utilization to…… proactively modify resource

reservations…… to optimize application performance…… and cost

Initially we will focus on the prediction part

Page 41: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Variables to predict (an example)Used amount of RAM. MB.

Used amount of SWAP. MB.

Amount of free disk space. MB.

Disk performance. KB/s

Processor load. MHz

Processor use percentage.

Network bandwidth usage. Kb/s

Page 42: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Approaches1/0 predictions based on threshold

Will a variable reach a certain value?

Interval-based predictions

Regression

Time seriesPrediction based on trends

Page 43: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Questions?

Page 44: Predicting performance of applications and infrastructures Tania Lorido 27th May 2011

Predicting performance of applications and

infrastructuresTania Lorido

27th May 2011