CS 147: Computer Systems Performance Analysis Selecting Techniques - - PowerPoint PPT Presentation

cs 147 computer systems performance analysis
SMART_READER_LITE
LIVE PREVIEW

CS 147: Computer Systems Performance Analysis Selecting Techniques - - PowerPoint PPT Presentation

CS147 2015-06-15 CS 147: Computer Systems Performance Analysis Selecting Techniques CS 147: Computer Systems Performance Analysis Selecting Techniques 1 / 37 Overview CS147 Overview 2015-06-15 Making Decisions Techniques Metrics


slide-1
SLIDE 1

CS 147: Computer Systems Performance Analysis

Selecting Techniques

1 / 37

CS 147: Computer Systems Performance Analysis

Selecting Techniques

2015-06-15

CS147

slide-2
SLIDE 2

Overview

Making Decisions Techniques Metrics Response Time Processing Rate Resource Consumption Error Metrics Financial Measures Types of Metrics Choosing Metrics Criteria Classes of Metrics Requirements

2 / 37

Overview

Making Decisions Techniques Metrics Response Time Processing Rate Resource Consumption Error Metrics Financial Measures Types of Metrics Choosing Metrics Criteria Classes of Metrics Requirements

2015-06-15

CS147 Overview

slide-3
SLIDE 3

Making Decisions

Decisions to Be Made

◮ Evaluation technique ◮ Performance metrics ◮ Performance requirements

3 / 37

Decisions to Be Made

◮ Evaluation technique ◮ Performance metrics ◮ Performance requirements

2015-06-15

CS147 Making Decisions Decisions to Be Made

slide-4
SLIDE 4

Techniques

Evaluation Techniques

Experimentation isn’t always the answer. Alternatives:

◮ Analytic modeling (queueing theory) ◮ Simulation ◮ Experimental measurement

But always verify your conclusions!

4 / 37

Evaluation Techniques

Experimentation isn’t always the answer. Alternatives:

◮ Analytic modeling (queueing theory) ◮ Simulation ◮ Experimental measurement

But always verify your conclusions!

2015-06-15

CS147 Techniques Evaluation Techniques

slide-5
SLIDE 5

Techniques

Analytic Modeling

◮ Cheap and quick ◮ Don’t need working system ◮ Usually must simplify and make assumptions

5 / 37

Analytic Modeling

◮ Cheap and quick ◮ Don’t need working system ◮ Usually must simplify and make assumptions

2015-06-15

CS147 Techniques Analytic Modeling

slide-6
SLIDE 6

Techniques

Simulation

◮ Arbitrary level of detail ◮ Intermediate in cost, effort, accuracy ◮ Can get bogged down in model-building

6 / 37

Simulation

◮ Arbitrary level of detail ◮ Intermediate in cost, effort, accuracy ◮ Can get bogged down in model-building

2015-06-15

CS147 Techniques Simulation

slide-7
SLIDE 7

Techniques

Measurement

◮ Expensive ◮ Time-consuming ◮ Difficult to get detail ◮ But accurate

7 / 37

Measurement

◮ Expensive ◮ Time-consuming ◮ Difficult to get detail ◮ But accurate

2015-06-15

CS147 Techniques Measurement

slide-8
SLIDE 8

Metrics

Selecting Performance Metrics

◮ Three major perfomance metrics:

◮ Time (responsiveness) ◮ Processing rate (productivity) ◮ Resource consumption (utilization)

◮ Error (reliability) metrics:

◮ Availability (% time up) ◮ Mean Time to Failure (MTTF/MTBF) ◮ Same as mean uptime ◮ Mean Time to Repair (MTTR)

◮ Cost/performance

8 / 37

Selecting Performance Metrics

◮ Three major perfomance metrics: ◮ Time (responsiveness) ◮ Processing rate (productivity) ◮ Resource consumption (utilization) ◮ Error (reliability) metrics: ◮ Availability (% time up) ◮ Mean Time to Failure (MTTF/MTBF) ◮ Same as mean uptime ◮ Mean Time to Repair (MTTR) ◮ Cost/performance

2015-06-15

CS147 Metrics Selecting Performance Metrics

slide-9
SLIDE 9

Metrics Response Time

Response Time

◮ How quickly does system produce results? ◮ Critical for applications such as:

◮ Time sharing/interactive systems ◮ Real-time systems ◮ Parallel computing 9 / 37

Response Time

◮ How quickly does system produce results? ◮ Critical for applications such as: ◮ Time sharing/interactive systems ◮ Real-time systems ◮ Parallel computing

2015-06-15

CS147 Metrics Response Time Response Time

slide-10
SLIDE 10

Metrics Response Time

Examples of Response Time

◮ Time from keystroke to echo on screen

10 / 37

Examples of Response Time

◮ Time from keystroke to echo on screen

2015-06-15

CS147 Metrics Response Time Examples of Response Time

slide-11
SLIDE 11

Metrics Response Time

Examples of Response Time

◮ Time from keystroke to echo on screen ◮ End-to-end packet delay in networks

10 / 37

Examples of Response Time

◮ Time from keystroke to echo on screen ◮ End-to-end packet delay in networks

2015-06-15

CS147 Metrics Response Time Examples of Response Time

slide-12
SLIDE 12

Metrics Response Time

Examples of Response Time

◮ Time from keystroke to echo on screen ◮ End-to-end packet delay in networks ◮ OS bootstrap time

10 / 37

Examples of Response Time

◮ Time from keystroke to echo on screen ◮ End-to-end packet delay in networks ◮ OS bootstrap time

2015-06-15

CS147 Metrics Response Time Examples of Response Time

slide-13
SLIDE 13

Metrics Response Time

Examples of Response Time

◮ Time from keystroke to echo on screen ◮ End-to-end packet delay in networks ◮ OS bootstrap time ◮ Leaving Galileo to getting food in Hoch-Shanahan

10 / 37

Examples of Response Time

◮ Time from keystroke to echo on screen ◮ End-to-end packet delay in networks ◮ OS bootstrap time ◮ Leaving Galileo to getting food in Hoch-Shanahan

2015-06-15

CS147 Metrics Response Time Examples of Response Time

slide-14
SLIDE 14

Metrics Response Time

Examples of Response Time

◮ Time from keystroke to echo on screen ◮ End-to-end packet delay in networks ◮ OS bootstrap time ◮ Leaving Galileo to getting food in Hoch-Shanahan

◮ Edibility not a factor 10 / 37

Examples of Response Time

◮ Time from keystroke to echo on screen ◮ End-to-end packet delay in networks ◮ OS bootstrap time ◮ Leaving Galileo to getting food in Hoch-Shanahan ◮ Edibility not a factor

2015-06-15

CS147 Metrics Response Time Examples of Response Time

slide-15
SLIDE 15

Metrics Response Time

Measures of Response Time

◮ Response time: request-response interval ◮ Measured from end of request ◮ Ambiguous: beginning or end of response? ◮ Reaction time: end of request to start of processing ◮ Turnaround time: end of request to end of response

11 / 37

Measures of Response Time

◮ Response time: request-response interval ◮ Measured from end of request ◮ Ambiguous: beginning or end of response? ◮ Reaction time: end of request to start of processing ◮ Turnaround time: end of request to end of response

2015-06-15

CS147 Metrics Response Time Measures of Response Time

slide-16
SLIDE 16

Metrics Response Time

The Stretch Factor

◮ Response time usually goes up with load ◮ Stretch Factor measures this:

Load Response Time

High stretch Low stretch

12 / 37

The Stretch Factor

◮ Response time usually goes up with load ◮ Stretch Factor measures this:

Load Response Time High stretch Low stretch

2015-06-15

CS147 Metrics Response Time The Stretch Factor

slide-17
SLIDE 17

Metrics Processing Rate

Processing Rate

◮ How much work is done per unit time? ◮ Important for:

◮ Sizing multi-user systems ◮ Comparing alternative configurations ◮ Multimedia 13 / 37

Processing Rate

◮ How much work is done per unit time? ◮ Important for: ◮ Sizing multi-user systems ◮ Comparing alternative configurations ◮ Multimedia

2015-06-15

CS147 Metrics Processing Rate Processing Rate

slide-18
SLIDE 18

Metrics Processing Rate

Examples of Processing Rate

◮ Bank transactions per hour

14 / 37

Examples of Processing Rate

◮ Bank transactions per hour

2015-06-15

CS147 Metrics Processing Rate Examples of Processing Rate

slide-19
SLIDE 19

Metrics Processing Rate

Examples of Processing Rate

◮ Bank transactions per hour ◮ File-transfer bandwidth

14 / 37

Examples of Processing Rate

◮ Bank transactions per hour ◮ File-transfer bandwidth

2015-06-15

CS147 Metrics Processing Rate Examples of Processing Rate

slide-20
SLIDE 20

Metrics Processing Rate

Examples of Processing Rate

◮ Bank transactions per hour ◮ File-transfer bandwidth ◮ Aircraft control updates per second

14 / 37

Examples of Processing Rate

◮ Bank transactions per hour ◮ File-transfer bandwidth ◮ Aircraft control updates per second

2015-06-15

CS147 Metrics Processing Rate Examples of Processing Rate

slide-21
SLIDE 21

Metrics Processing Rate

Examples of Processing Rate

◮ Bank transactions per hour ◮ File-transfer bandwidth ◮ Aircraft control updates per second ◮ Jurassic Park customers per day

14 / 37

Examples of Processing Rate

◮ Bank transactions per hour ◮ File-transfer bandwidth ◮ Aircraft control updates per second ◮ Jurassic Park customers per day

2015-06-15

CS147 Metrics Processing Rate Examples of Processing Rate

slide-22
SLIDE 22

Metrics Processing Rate

Measures of Processing Rate

◮ Throughput: requests per unit time: MIPS, MFLOPS, Mb/s,

TPS

◮ Nominal capacity: theoretical maximum: bandwidth ◮ Knee capacity: where things go bad ◮ Usable capacity: where response time hits a specified limit ◮ Efficiency: ratio of usable to nominal capacity

15 / 37

Measures of Processing Rate

◮ Throughput: requests per unit time: MIPS, MFLOPS, Mb/s,

TPS

◮ Nominal capacity: theoretical maximum: bandwidth ◮ Knee capacity: where things go bad ◮ Usable capacity: where response time hits a specified limit ◮ Efficiency: ratio of usable to nominal capacity

2015-06-15

CS147 Metrics Processing Rate Measures of Processing Rate

slide-23
SLIDE 23

Metrics Processing Rate

Nominal, Knee, and Usable Capacities

Response-Time Limit Nominal Capacity Usable Capacity Knee Knee Capacity

16 / 37

Nominal, Knee, and Usable Capacities

Response-Time Limit Nominal Capacity Usable Capacity Knee Knee Capacity

2015-06-15

CS147 Metrics Processing Rate Nominal, Knee, and Usable Capacities

slide-24
SLIDE 24

Metrics Resource Consumption

Resource Consumption

◮ How much does the work cost? ◮ Used in:

◮ Capacity planning ◮ Identifying bottlenecks

◮ Also helps to identify “next” bottleneck

17 / 37

Resource Consumption

◮ How much does the work cost? ◮ Used in: ◮ Capacity planning ◮ Identifying bottlenecks ◮ Also helps to identify “next” bottleneck

2015-06-15

CS147 Metrics Resource Consumption Resource Consumption

slide-25
SLIDE 25

Metrics Resource Consumption

Examples of Resource Consumption

◮ CPU non-idle time

18 / 37

Examples of Resource Consumption

◮ CPU non-idle time

2015-06-15

CS147 Metrics Resource Consumption Examples of Resource Consumption

slide-26
SLIDE 26

Metrics Resource Consumption

Examples of Resource Consumption

◮ CPU non-idle time ◮ Memory usage

18 / 37

Examples of Resource Consumption

◮ CPU non-idle time ◮ Memory usage

2015-06-15

CS147 Metrics Resource Consumption Examples of Resource Consumption

slide-27
SLIDE 27

Metrics Resource Consumption

Examples of Resource Consumption

◮ CPU non-idle time ◮ Memory usage ◮ Fraction of network bandwidth needed

18 / 37

Examples of Resource Consumption

◮ CPU non-idle time ◮ Memory usage ◮ Fraction of network bandwidth needed

2015-06-15

CS147 Metrics Resource Consumption Examples of Resource Consumption

slide-28
SLIDE 28

Metrics Resource Consumption

Examples of Resource Consumption

◮ CPU non-idle time ◮ Memory usage ◮ Fraction of network bandwidth needed ◮ Square feet of beach occupied

18 / 37

Examples of Resource Consumption

◮ CPU non-idle time ◮ Memory usage ◮ Fraction of network bandwidth needed ◮ Square feet of beach occupied

2015-06-15

CS147 Metrics Resource Consumption Examples of Resource Consumption

slide-29
SLIDE 29

Metrics Resource Consumption

Measures of Resource Consumption

◮ Utilization:

t

0 u(t)dt, where u(t) is instantaneous resource

usage

◮ Useful for memory, disk, etc.

◮ If u(t) is always either 1 or 0, reduces to busy time or its

inverse, idle time

◮ Useful for network, CPU, etc. 19 / 37

Measures of Resource Consumption

◮ Utilization:

t

0 u(t)dt, where u(t) is instantaneous resource

usage

◮ Useful for memory, disk, etc. ◮ If u(t) is always either 1 or 0, reduces to busy time or its

inverse, idle time

◮ Useful for network, CPU, etc.

2015-06-15

CS147 Metrics Resource Consumption Measures of Resource Consumption

slide-30
SLIDE 30

Metrics Error Metrics

Error Metrics

◮ Successful service (speed)

◮ (Not usually reported as error)

◮ Incorrect service (reliability) ◮ No service (availability)

20 / 37

Error Metrics

◮ Successful service (speed) ◮ (Not usually reported as error) ◮ Incorrect service (reliability) ◮ No service (availability)

2015-06-15

CS147 Metrics Error Metrics Error Metrics

slide-31
SLIDE 31

Metrics Error Metrics

Examples of Error Metrics

◮ Missed disk seeks

21 / 37

Examples of Error Metrics

◮ Missed disk seeks

2015-06-15

CS147 Metrics Error Metrics Examples of Error Metrics

slide-32
SLIDE 32

Metrics Error Metrics

Examples of Error Metrics

◮ Missed disk seeks ◮ Dropped Internet packets

21 / 37

Examples of Error Metrics

◮ Missed disk seeks ◮ Dropped Internet packets

2015-06-15

CS147 Metrics Error Metrics Examples of Error Metrics

slide-33
SLIDE 33

Metrics Error Metrics

Examples of Error Metrics

◮ Missed disk seeks ◮ Dropped Internet packets ◮ ATM down time

21 / 37

Examples of Error Metrics

◮ Missed disk seeks ◮ Dropped Internet packets ◮ ATM down time

2015-06-15

CS147 Metrics Error Metrics Examples of Error Metrics

slide-34
SLIDE 34

Metrics Error Metrics

Examples of Error Metrics

◮ Missed disk seeks ◮ Dropped Internet packets ◮ ATM down time ◮ Wrong answers from IRS

21 / 37

Examples of Error Metrics

◮ Missed disk seeks ◮ Dropped Internet packets ◮ ATM down time ◮ Wrong answers from IRS

2015-06-15

CS147 Metrics Error Metrics Examples of Error Metrics

slide-35
SLIDE 35

Metrics Error Metrics

Measures of Errors

◮ Reliability: P(error) or Mean Time Between Errors (MTBE) ◮ Availability:

◮ Downtime: Time when system is unavailable ◮ May be measured as Mean Time to Repair (MTTR) ◮ Uptime: Inverse of downtime, often given as Mean Time

Between Failures (MTBF/MTTF)

22 / 37

Measures of Errors

◮ Reliability: P(error) or Mean Time Between Errors (MTBE) ◮ Availability: ◮ Downtime: Time when system is unavailable ◮ May be measured as Mean Time to Repair (MTTR) ◮ Uptime: Inverse of downtime, often given as Mean Time Between Failures (MTBF/MTTF)

2015-06-15

CS147 Metrics Error Metrics Measures of Errors

slide-36
SLIDE 36

Metrics Financial Measures

Financial Measures

◮ When buying or specifying, cost/performance ratio is often

useful

◮ Performance chosen should be most important for application

23 / 37

Financial Measures

◮ When buying or specifying, cost/performance ratio is often

useful

◮ Performance chosen should be most important for application

2015-06-15

CS147 Metrics Financial Measures Financial Measures

slide-37
SLIDE 37

Metrics Types of Metrics

Characterizing Metrics

◮ Usually necessary to summarize ◮ Sometimes means are enough ◮ Variability is usually critical

◮ A mean I-210 freeway speed of 55 MPH doesn’t help plan

rush-hour trips

24 / 37

Characterizing Metrics

◮ Usually necessary to summarize ◮ Sometimes means are enough ◮ Variability is usually critical ◮ A mean I-210 freeway speed of 55 MPH doesn’t help plan rush-hour trips

2015-06-15

CS147 Metrics Types of Metrics Characterizing Metrics

slide-38
SLIDE 38

Metrics Types of Metrics

Types of Metrics

◮ Global across all users ◮ Individual

First helps financial decisions, second measures satisfaction and cost of adding users

25 / 37

Types of Metrics

◮ Global across all users ◮ Individual

First helps financial decisions, second measures satisfaction and cost of adding users

2015-06-15

CS147 Metrics Types of Metrics Types of Metrics

slide-39
SLIDE 39

Choosing Metrics Criteria

Choosing What to Measure

Pick metrics based on:

◮ Completeness ◮ (Non-)redundancy ◮ Variability

26 / 37

Choosing What to Measure

Pick metrics based on:

◮ Completeness ◮ (Non-)redundancy ◮ Variability

2015-06-15

CS147 Choosing Metrics Criteria Choosing What to Measure

slide-40
SLIDE 40

Choosing Metrics Criteria

Completeness

◮ Must cover everything relevant to problem

◮ Don’t want awkward questions from boss or at conferences!

◮ Difficult to guess everything a priori

◮ Often have to add things later 27 / 37

Completeness

◮ Must cover everything relevant to problem ◮ Don’t want awkward questions from boss or at conferences! ◮ Difficult to guess everything a priori ◮ Often have to add things later

2015-06-15

CS147 Choosing Metrics Criteria Completeness

slide-41
SLIDE 41

Choosing Metrics Criteria

Redundancy

◮ Some factors are functions of others ◮ Measurements are expensive ◮ Look for minimal set ◮ Again, often an interactive process

28 / 37

Redundancy

◮ Some factors are functions of others ◮ Measurements are expensive ◮ Look for minimal set ◮ Again, often an interactive process

2015-06-15

CS147 Choosing Metrics Criteria Redundancy

slide-42
SLIDE 42

Choosing Metrics Criteria

Variability

◮ Large variance in a measurement makes decisions

impossible

◮ Repeated experiments can reduce variance

◮ Expensive ◮ Can only reduce it by a certain amount

◮ Better to choose low-variance measures to start with

29 / 37

Variability

◮ Large variance in a measurement makes decisions

impossible

◮ Repeated experiments can reduce variance ◮ Expensive ◮ Can only reduce it by a certain amount ◮ Better to choose low-variance measures to start with

2015-06-15

CS147 Choosing Metrics Criteria Variability

slide-43
SLIDE 43

Choosing Metrics Classes of Metrics

Classes of Metrics: HB

HB (Higher is Better):

Throughput Utility

Better

30 / 37

Classes of Metrics: HB

HB (Higher is Better): Throughput Utility Better

2015-06-15

CS147 Choosing Metrics Classes of Metrics Classes of Metrics: HB

slide-44
SLIDE 44

Choosing Metrics Classes of Metrics

Classes of Metrics: LB

LB (Lower is Better):

Response Time Utility

Better

31 / 37

Classes of Metrics: LB

LB (Lower is Better): Response Time Utility Better

2015-06-15

CS147 Choosing Metrics Classes of Metrics Classes of Metrics: LB

slide-45
SLIDE 45

Choosing Metrics Classes of Metrics

Classes of Metrics: NB

NB (Nominal is Best):

Free Disk Space Utility

Best

32 / 37

Classes of Metrics: NB

NB (Nominal is Best): Free Disk Space Utility Best

2015-06-15

CS147 Choosing Metrics Classes of Metrics Classes of Metrics: NB

slide-46
SLIDE 46

Requirements

Setting Performance Requirements

Good requirements must be SMART:

◮ Specific ◮ Measurable ◮ Acceptable ◮ Realizable ◮ Thorough

33 / 37

Setting Performance Requirements

Good requirements must be SMART:

◮ Specific ◮ Measurable ◮ Acceptable ◮ Realizable ◮ Thorough

2015-06-15

CS147 Requirements Setting Performance Requirements

slide-47
SLIDE 47

Requirements

Example: Web Server

◮ Users care about response time (end of response) ◮ Network capacity is expensive want high utilization ◮ Pages delivered per day matters to advertisers ◮ Also care about error rate (failed & dropped connections)

34 / 37

Example: Web Server

◮ Users care about response time (end of response) ◮ Network capacity is expensive want high utilization ◮ Pages delivered per day matters to advertisers ◮ Also care about error rate (failed & dropped connections)

2015-06-15

CS147 Requirements Example: Web Server

slide-48
SLIDE 48

Requirements

Example: Requirements for Web Server

◮ 2 seconds from request to first byte, 5 to last ◮ Handle 25 simultaneous connections, delivering 100 Kb/s to

each

◮ 60% mean utilization, with 95% or higher less than 5% of the

time

◮ < 1% of connection attempts rejected or dropped

35 / 37

Example: Requirements for Web Server

◮ 2 seconds from request to first byte, 5 to last ◮ Handle 25 simultaneous connections, delivering 100 Kb/s to

each

◮ 60% mean utilization, with 95% or higher less than 5% of the

time

◮ < 1% of connection attempts rejected or dropped

2015-06-15

CS147 Requirements Example: Requirements for Web Server

slide-49
SLIDE 49

Requirements

Is the Web Server SMART?

◮ Specific: yes

36 / 37

Is the Web Server SMART?

◮ Specific: yes

2015-06-15

CS147 Requirements Is the Web Server SMART?

slide-50
SLIDE 50

Requirements

Is the Web Server SMART?

◮ Specific: yes ◮ Measurable: may have trouble with rejected connections

36 / 37

Is the Web Server SMART?

◮ Specific: yes ◮ Measurable: may have trouble with rejected connections

2015-06-15

CS147 Requirements Is the Web Server SMART?

slide-51
SLIDE 51

Requirements

Is the Web Server SMART?

◮ Specific: yes ◮ Measurable: may have trouble with rejected connections ◮ Acceptable: response time, number of connections, and

aggregate bandwidth might not be enough

36 / 37

Is the Web Server SMART?

◮ Specific: yes ◮ Measurable: may have trouble with rejected connections ◮ Acceptable: response time, number of connections, and

aggregate bandwidth might not be enough

2015-06-15

CS147 Requirements Is the Web Server SMART?

slide-52
SLIDE 52

Requirements

Is the Web Server SMART?

◮ Specific: yes ◮ Measurable: may have trouble with rejected connections ◮ Acceptable: response time, number of connections, and

aggregate bandwidth might not be enough

◮ Realizable: requires good link; utilization depends on

popularity

36 / 37

Is the Web Server SMART?

◮ Specific: yes ◮ Measurable: may have trouble with rejected connections ◮ Acceptable: response time, number of connections, and

aggregate bandwidth might not be enough

◮ Realizable: requires good link; utilization depends on

popularity

2015-06-15

CS147 Requirements Is the Web Server SMART?

slide-53
SLIDE 53

Requirements

Is the Web Server SMART?

◮ Specific: yes ◮ Measurable: may have trouble with rejected connections ◮ Acceptable: response time, number of connections, and

aggregate bandwidth might not be enough

◮ Realizable: requires good link; utilization depends on

popularity

◮ Thorough? You decide

36 / 37

Is the Web Server SMART?

◮ Specific: yes ◮ Measurable: may have trouble with rejected connections ◮ Acceptable: response time, number of connections, and

aggregate bandwidth might not be enough

◮ Realizable: requires good link; utilization depends on

popularity

◮ Thorough? You decide

2015-06-15

CS147 Requirements Is the Web Server SMART?

slide-54
SLIDE 54

Requirements

Remaining Web Server Issues

◮ Redundancy: response time is closely related to bandwidth,

utilization

◮ Variability: all measures could vary widely

◮ Should we specify variability limits for other than utilization? 37 / 37

Remaining Web Server Issues

◮ Redundancy: response time is closely related to bandwidth,

utilization

◮ Variability: all measures could vary widely ◮ Should we specify variability limits for other than utilization?

2015-06-15

CS147 Requirements Remaining Web Server Issues