distillation of performance-related characteristics

48
Distillation of Performance-Related Characteristics Zachary K urm as --- G eorgia Tech K im berly K eeton --- H P Labs K enneth M ackenzie --- G eorgia Tech [email protected]

Upload: zia

Post on 25-Feb-2016

22 views

Category:

Documents


1 download

DESCRIPTION

Distillation of Performance-Related Characteristics. [email protected]. Introduction. Want synthetic workload to maintain certain realistic properties or attributes Want representative behavior (performance) Research Question: How do we identify needed attributes? We have a method . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Distillation of Performance-Related Characteristics

Distillation of Performance-Related Characteristics

Zachary K urmas --- Georgia TechK imberly K eeton --- HP Labs

K enneth Mackenzie --- Georgia [email protected]

Page 2: Distillation of Performance-Related Characteristics

29 January 2002 2

Introduction

Want synthetic workload to maintain certain realistic properties or attributes Want representative behavior

(performance)Research Question:

How do we identify needed attributes?

We have a method ...

Page 3: Distillation of Performance-Related Characteristics

29 January 2002 3

Goal

CDF of Response Time

will have performance similar to original.

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

Given a workload and storage system, automatically find a list of attributes , so

Attribute List SyntheticWorkload(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

synthetic workloads based on values for

Page 4: Distillation of Performance-Related Characteristics

29 January 2002 4

Why?Predicting performance of complex disk arrays is

extremely difficult. Many unknown interactions to account for.

List of attributes much easier to analyze than large, bulky workload trace.

List of attributes tells us: Which patterns in a workload affect performance How those patterns affect performance

Possible uses of attribute lists: One possible basis of “similarity” for workloads Starting point for performance prediction model

Page 5: Distillation of Performance-Related Characteristics

5

Challenge

Attribute List may be different for every workload/storage system pair

Require general method of finding list of attributes not just one workload’s attribute-values

Useful method will require little human attention

CDF of Response Time

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

Attribute List SyntheticWorkload(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Page 6: Distillation of Performance-Related Characteristics

29 January 2002 6

Road MapIntroduction

Goal Challenges

Description of MethodImplementation of MethodCase Analysis Locality AttributesConclusion

Page 7: Distillation of Performance-Related Characteristics

29 January 2002 7

Basic Idea

Basic Idea: Add attributes until performance of original and synthetic workloads is similar.

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

Attribute List SyntheticWorkload(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Page 8: Distillation of Performance-Related Characteristics

29 January 2002 8

Mean Arrival Time

Arrival Time Dist.

Hurst Parameter

Mean Request Size

Request Size Dist.

Request Size Attrib 3

Request Size Attrib 4 COV of Arrival Time

Dist. of Locations Read/Write ratio

Mean run length Markov Read/Write

Jump Distance R/W Attrib. #3

Proximity Munge R/W Attrib #4

Mean Read Size D. of (R,W) Locations

Read Rqst. Size Dist. Mean R,W run length

Mean (R, W) Sizes R/W Jump Distance

(R, W) Size Dists. R/WProximity Munge

Mean Arrival Time

Arrival Time Dist.

Hurst Parameter

Mean Request Size

Request Size Dist.

Request Size Attrib 3

Request Size Attrib 4 COV of Arrival Time

Dist. of Locations Read/Write ratio

Mean run length Markov Read/Write

Jump Distance R/W Attrib. #3

Proximity Munge R/W Attrib #4

Mean Read Size D. of (R,W) Locations

Read Rqst. Size Dist. Mean R,W run length

Mean (R, W) Sizes R/W Jump Distance

(R, W) Size Dists. R/WProximity Munge

Choosing Attribute WiselyProblem:

Not all attributes useful Can’t test all attributes

Solution: Group attributes Evaluate entire groups

at once

Attributes

How are they grouped?How are they evaluated?

Page 9: Distillation of Performance-Related Characteristics

29 January 2002 9

Iterative Process

Choose Attribute Chose Attribute Group

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

List of Attributes

Evaluate

Are we done yet?Does containenough info?

Which attribute group contains the attribute we should add?

Which attribute should we add?

Evaluate

Are we done yet?Does containenough info?

Page 10: Distillation of Performance-Related Characteristics

10

Evaluation

CDF of Response Time

Quantify difference between response time distributions

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

Take original workload Obtain attribute-values specified by

Attribute List SyntheticWorkload(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Generate Synthetic workload using

Page 11: Distillation of Performance-Related Characteristics

29 January 2002 11

Quantify DifferenceWe use root-mean-square metric

Square root of sum of squares of horizontal differences.

Used by Ruemmler and Wilkes, Ganger, etc.Any reasonable metric will work.Is RMS the best metric?

Differences at all scales weighted equally Therefore, differences in cache behavior are

emphasized less than differences in seek time Can be good or bad

Is there a non-arbitrary stopping point?

Page 12: Distillation of Performance-Related Characteristics

29 January 2002 12

Iterative Process

Choose Attribute

Evaluate

Chose Attribute Group

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

List of Attributes

Are we done yet?Does containenough info?

Which attribute group contains the attribute we should add?

Which attribute should we add?

Page 13: Distillation of Performance-Related Characteristics

29 January 2002 13

Workload is series of requests (Read/Write Type, Size, Location, Interarrival Time)

Attributes measure one or more parameters Mean Request Size Request Size Distribution of Location Location Burstiness Interarrival Time Request Size Read/Write

Attributes grouped by parameter(s) measured Location = {mean location, distribution of location,

locality, mean jump distance, mean run length, ...}

How Attributes Grouped

Distribution of Read Size

Page 14: Distillation of Performance-Related Characteristics

29 January 2002 14

“Additive” MethodAdd “every” attribute in group at once

and observe change in performance.Amount of change in performance

estimator of most effective attribute

“All” (Size, R/W)

“All” Request Size

“All” Location

Page 15: Distillation of Performance-Related Characteristics

29 January 2002 15

(R, 1024, 42912, 10)(W, 8192, 12493, 12)(W, 2048, 20938, 15)(R, 2048, 43943, 2)(W 8192, 98238, 11)(W 8192, 76232, 23)

“All” Location attribute

(R, 1024, 42912, 10)(W, 8192, 12493, 12)(W, 2048, 20938, 15)(R, 2048, 43943, 2)(W 8192, 98238, 11)(W 8192, 76232, 23)

“All” (Location, Request Size) attribute

The “All” AttributeThe list of values for some parameter

contains every attribute in that groupAttributes in that group will have same value

for both original and synthetic workload List represents

“perfect knowledge” of group

Page 16: Distillation of Performance-Related Characteristics

29 January 2002 16

“Subtractive” MethodRemove “All” attribute from original

workload. Replace an observed list of request

parameters with randomly generated values.

(R 1024 12323 12.23)(W 8192 322123 12.24)(W 2048 322124 12.26)(R 2048 433231 12.39)(W 8192 124452 12.40)(W 8192 543322 12.43)

(R 1024 420912 12.23)(W 8192 123493 12.24)(W 2048 202938 12.26)(R 2048 433943 12.39)(W 8192 980238 12.40)(W 8192 761232 12.43)

Remove “all” location attributes by making all locations random

Page 17: Distillation of Performance-Related Characteristics

29 January 2002 17

ChallengesSubtleties to applying methods

Must avoid mutually exclusive attributesChange in performance can be ambiguous

Resulting workload can be faster or slower Effects of attributes in same group can cancel

each other. (Have net effect of zero.)Not looking for strictly decreasing RMS

“Faster”Workload

“Slower”Workload

Page 18: Distillation of Performance-Related Characteristics

29 January 2002 18

Current FocusThus far, solutions have been

apparentHowever, we want to reduce human

involvementCurrent Focus:

Find general description of ambiguities Develop algorithms to recognize and

address them

Page 19: Distillation of Performance-Related Characteristics

29 January 2002 19

Iterative Process

Choose Attribute

Evaluate

Chose Attribute Group

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

List of Attributes

Are we done yet?Does containenough info?

Which attribute group contains the attribute we should add?

Which attribute should we add?

Page 20: Distillation of Performance-Related Characteristics

29 January 2002 20

Add from chosen groupThis is most difficult part.

Only a few useful attributes known, so we must develop most attributes from scratch.

Suggestions for attributes? Suggestions for related work?

This should get easier as technique used and “attribute library” grows. Future Work: We will eventually need an

intelligent method of searching library.

Page 21: Distillation of Performance-Related Characteristics

29 January 2002 21

Road MapIntroduction

Goal Challenges

MethodCurrent Status / ImplementationCase AnalysisLocalityConclusion

Page 22: Distillation of Performance-Related Characteristics

29 January 2002 22

New Programs“Distiller”

Perl program that prepares Rome input and parses resulting output of SSP tools.Rubicon, Buttress, Rome, srtLite, etc.

“GenerateSRT” C++ program that generates SRT trace

given set of attribute-values in Rome format. Vaguely like Pylon without capacity to run

workload.Both programs need better names!

Page 23: Distillation of Performance-Related Characteristics

29 January 2002 23

FunctionalityInput:

Workload description (SRT file, list of LUNS) Attribute list (in Rome format)

Make Rubicon configurationRun RubiconMake attribute-value list (Rome format) Run Generate SRTRun ButtressProcess miio file (mi2srt)Collect Performance (CDF in Rome format)

Page 24: Distillation of Performance-Related Characteristics

29 January 2002 24

Future FunctionalityCurrently the user must:

Apply additive or subtractive method and generate a new attribute list.

Look at resulting CDFs and choose attribute group by hand.

Choose specific attribute.This could easily done by brute force.

Develop new attributes when needed.At these points Distiller application asks user

for answer. (Actually, sends me e-mail.)

Page 25: Distillation of Performance-Related Characteristics

29 January 2002 25

Incremental ImplementationDistiller application designed to allow

incremental implementation. We can implement code to recognize handle

specific cases, and leave the rest to the user.

Plan: Implement code to recognize additional cases until distiller application runs with almost no human intervention. Will probably always require a occasional

help.

Page 26: Distillation of Performance-Related Characteristics

29 January 2002 26

Road MapIntroduction

Goal Challenges

MethodCurrent Status / ImplementationCase AnalysisLocalityConclusion

Page 27: Distillation of Performance-Related Characteristics

29 January 2002 27

Experimental EnvironmentWorkload: Trace of Open Mail

e-mail application for 4,500 users 1400 active users during trace collection Mean request rate: 75.52 I/Os per second Mean request size: 7115 bytes Mean throughput: 524.5KB per second

Storage System: Optimus disk array Thirty 18GB disks (.5 TB total) Two disk controllers each with Fibre Channel port Max I/Os per second: about 100 256 MB Write-back cache backed by non-volatile RAM

Thus, writes are “free”

Page 28: Distillation of Performance-Related Characteristics

29 January 2002 28

Starting PointOriginal attribute list () is simply four

distributions, one for each parameter.Simplest possible explicit attribute list

Anything simpler must make implicit assumptions about distribution for random numbers.

This would cause mis-information, not missing information.

Page 29: Distillation of Performance-Related Characteristics

29 January 2002 29

RMS: .9477RMS/Mean: .1877

Performance of real workload

Synthetic workload

Values chosen independently at random

Page 30: Distillation of Performance-Related Characteristics

29 January 2002 30

First IterationApply additive method to 4 single-

parameter attribute groups.This allows us to examine intra-

parameter relationships. e.g. “What would performance be if locality

was correctly generated?”No inter-parameter relationships present

in synthetic workload. e.g. only relationships within location

created.

Page 31: Distillation of Performance-Related Characteristics

29 January 2002 31

* Big change for Location* Small changes for everything else

* Goal: Choose locations so they exhibit locality like this

Page 32: Distillation of Performance-Related Characteristics

29 January 2002 32

RMS: .7739RMS/Mean: .3143

Page 33: Distillation of Performance-Related Characteristics

29 January 2002 33

Second IterationUse subtractive method to check for

inter-parameter relationships.Now that all intra-parameter

relationships are included in attribute-list, replacing perfect attribute with current attribute should only result in a change in performance if there are inter-parameter relationships

Page 34: Distillation of Performance-Related Characteristics

29 January 2002 34

Large change for Location and R/W Type

Small change for Request Size and Arrival Time

Page 35: Distillation of Performance-Related Characteristics

29 January 2002 35

RMS/Mean : Original: .1877Current: .0918

Page 36: Distillation of Performance-Related Characteristics

29 January 2002 36

Road MapIntroduction

Goal Challenges

MethodCurrent Status / ImplementationResultsLocalityConclusion

Page 37: Distillation of Performance-Related Characteristics

29 January 2002 37

Failed AttemptsJump Distance

Choose jump distance instead of location. Difficult to choose intelligently.

Jump Distance Markov Markov model for zero, and non-zero jumps Also tried zero, forward, and backward jumps

Proximity Consider distance between 25 most recent

requests, not just most recent request.

Page 38: Distillation of Performance-Related Characteristics

29 January 2002 38

Common Problem: FootprintTwo parts to choosing locations:

Footprint --- Which sectors of disk accessed Locality --- In which order sectors

accessedLocality schemes will fail on FC-60 unless

footprint is correct FC-60 has a huge cache. Cache hits and cache misses have order of

magnitude difference in response time Small footprint results in faster workload Large footprint results in slower workload

Page 39: Distillation of Performance-Related Characteristics

29 January 2002 39

“Loose Histogram” ProblemHistogram of location had fewer bins than

number of unique locationsRNG chooses bin according to distribution.

Specific value chosen uniformly from binIn reality, request locations are not

uniformly distributed through bins

Observed Location Distribution

Synthetic Location Distribution

Page 40: Distillation of Performance-Related Characteristics

29 January 2002 40

“Tight” Histogram ProblemGive each unique location value its own binMakes footprint too small

Not every bin gets chosen (when number of bins number of requests)

Yahtzee “Large Straight” problemAlso too large to be useful attribute-value

Observed Location Distribution

Synthetic Location Distribution

Page 41: Distillation of Performance-Related Characteristics

29 January 2002 41

Choose Footprint ExplicitlyExplicitly choose set of unique location

values for correct footprintHistogram must be tightHowever; distribution is “bursty”This makes pre-determined bin-widths

inefficient. Many empty fixed-width bins “log” histogram makes bins too large at end

Page 42: Distillation of Performance-Related Characteristics

29 January 2002 42

Location PercentileWe fix the number of unique location

values in each bin. Specify starting and ending sector for

each bin.Alternatively, we fix the number of

requests in each bin. When we do this, heavily used unique

location values are placed in smaller (more precise) bins

Page 43: Distillation of Performance-Related Characteristics

29 January 2002 43

Evaluate Footprint GeneratorIf we simply permute locations,

footprint is exactly correct, but no locality Too large to be a practical attribute-

value Useful to evaluate other attributes

describing the footprint

Page 44: Distillation of Performance-Related Characteristics

29 January 2002 44

Main IdeasNew method of automatically finding

performance-related attributes: Measure completeness of list by comparing

performance of synthetic workloads Useful method of grouping attributes Effective method of evaluating entire groups

of attributes Avoid evaluation of useless attributes

[email protected] www.cc.gatech.edu/~kurmasz

Page 45: Distillation of Performance-Related Characteristics

END OF LONG TALK

Remaining Slides are extra

Page 46: Distillation of Performance-Related Characteristics

29 January 2002 48

New Application

Choose Attribute

Evaluate

Chose Attribute Group

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

List of Attributes

Which attribute is best?

Collect performance info

Compute RMS of CDFs

Prepare synthetic workloadsRun synthetic workloadsCompute

Page 47: Distillation of Performance-Related Characteristics

29 January 2002 49

Goal (used for parts)

CDF of Response Time

will have performance similar to original.

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

Given a workload and storage system, automatically find a list of attributes , so

Attribute List SyntheticWorkload(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

synthetic workloads based on values for

Page 48: Distillation of Performance-Related Characteristics

29 January 2002 50

CDF of Response Time

(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...

Original Workload

Attribute List SyntheticWorkload(R,1024,120932,124)(W,8192,120834,126)(W,8192,120844,127)(R,2048,334321,131

...