Software Measurement and Instrumentation Flashcards

1
Q

Static vs Dynamic Measurements

A

Static Measurements are made without measuring software.

Dynamic measurements require that the software be executing during measurement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What type of measurements does SPE use?

A

SPE uses dynamic measurements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a state?

A

Reflects information about the systems or hardware or software within a period of time when computer is running

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is an event?

A

An event is when the CPU changes state

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a performance monitor?

A

Observes the activities of a computer system and records performance information.

They sample the systems state by activating and recording the current state.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are hot spots?

A

Portions of code that take up most of CPU time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is event recording?

A

Records the occurrence of particular events along with the appropriate performance data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Types of event recording?

A
  1. Program Event Recording

2. System Event Recording

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is an internal measurement? What is an external monitor?

A

Requires code to be inserted into programs to detect events

External monitor can record data about software outside of it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is data granurality?

A

Measures how indepth the measurement of data process is. E.x. the initiation and completion of a proces, how many times a method is called.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Three choices for data granularity

A
  1. Record all data
  2. Summarize data and record periodically
  3. Tally data inbetween events and record when event ocurs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Instrumentation?

A

Instrumentation is built to enable the collecting of SPE data such as workload intensity or service requirements. Done through inserting probes at different parts of code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Reasons for Instrumentation

A
  1. Conveniently gather exactly the data you need
  2. Match the data granularity you need at different level
  3. Control the measurement process by turning selected instrumentation on or off
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Instrumentation Design Considerations

A
  1. Defining the events to be measured
  2. Choosing the correct granularity (most fine granularity is just measuring everything, much overhead though)
  3. Dynamically selecting the data to be recorded
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Purpose of Software Measurements

A
  1. System understanding: Measurements of an existing system can provide performance information about similar system
  2. Model Specification: Measurements of experiments, prototype or other systems can provide SPE needed data.
  3. Model Updates: Measurements of evolving software can replace current measurements that can be outdated.
  4. Model Verification: Compare model results to performance objectives to ensure match up.
  5. Software Performance Evaluation: Figure out areas of improvement in software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Four Types of Measurement Data

A
  1. Workload data: number/rate/pattern of requests from workload functions
  2. Data characteristics: amount, size, frequency for each data item. Locality of data references.
  3. Execution Characteristics: Path characteristics, Software resource usage, Processing overhead matrix
  4. Computer System Usage (Performance benchmarks)
17
Q

What is path characterisitcs?

A

Number of times each significant path is executed to compute loop repetitions, execution probabilities and conditional paths.

18
Q

What is scenario response time?

A

end-to-end elapsed time

19
Q

What is scenario throughput?

A

Number of times scenario is executed per unit of time

20
Q

What is computer system resource usage?

A

wait time + service time

21
Q

What is resource utilization?

A

The percentage of time busy

22
Q

What is Resource throughput?

A

Rate at which resource completes requests

23
Q

What is Resource queue length?

A

average number of jobs waiting for resource

24
Q

Key considerations for performance measurement planning?

A
  1. Representative: measurement results must accurately reflect the factors that affect performance
  2. Reproducible: the workload, software and computer system must be controlled in an environment when running all tests to ensure results stay consistent
25
Q

What are performance benchmarks?

A

Performance benchmarks are standardized performance measurements (e.x. throughput of service)

26
Q

What is a load-driver?

A

Used to simulate user behaviour under load conditions

27
Q

What is system perbutation?

A

Instrumentation used can effect the system being measured which can effect the data collected.

28
Q

How to control system perbutation?

A
  • Deactivate/activate instrumentation at correct times

- Select correct data granularity

29
Q

What are capture ratios?

A

Capture ratio characterizes the percent of time that the measurement technique account for either directly or by inference

30
Q

What is system overhead?

A

Always include system overhead in SPE models.

31
Q

What is measurement timing?

A
  1. Duration of events and states must match the resolution of the operating system clock
  2. Sampling rate of monitor must be enough to detect useful events but not too low to be causing system perbutation
32
Q

Averages for typical behaviour

A

Run measurements long enough to get an average, minimum, maximum that are representative of the behavior

33
Q

What are data collection techniques?

A

System monitors: observe system-level states, require detailed information on OS.
Program monitors: observe application/code level. Don’t need to know OS as much.
System event recorders: Records system events, provided by the OS.

34
Q

What do we need to do before performing measurements?

A

1) Define Measurement Tools

2) Define Measurement Strategy (what data we need, how we get it, design experiments)

35
Q

What is the input of a load driver?

A

Workload profiles i.e. number of users, arrival rate, frequency of transactions.

36
Q

What is the output of a load driver?

A

Script that simulates user requests

37
Q

What provides most realistic measurements?

A

Average or peak load environments