Software Measurement and Instrumentation Flashcards
Static vs Dynamic Measurements
Static Measurements are made without measuring software.
Dynamic measurements require that the software be executing during measurement.
What type of measurements does SPE use?
SPE uses dynamic measurements
What is a state?
Reflects information about the systems or hardware or software within a period of time when computer is running
What is an event?
An event is when the CPU changes state
What is a performance monitor?
Observes the activities of a computer system and records performance information.
They sample the systems state by activating and recording the current state.
What are hot spots?
Portions of code that take up most of CPU time
What is event recording?
Records the occurrence of particular events along with the appropriate performance data
Types of event recording?
- Program Event Recording
2. System Event Recording
What is an internal measurement? What is an external monitor?
Requires code to be inserted into programs to detect events
External monitor can record data about software outside of it.
What is data granurality?
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.
Three choices for data granularity
- Record all data
- Summarize data and record periodically
- Tally data inbetween events and record when event ocurs.
What is Instrumentation?
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.
Reasons for Instrumentation
- Conveniently gather exactly the data you need
- Match the data granularity you need at different level
- Control the measurement process by turning selected instrumentation on or off
Instrumentation Design Considerations
- Defining the events to be measured
- Choosing the correct granularity (most fine granularity is just measuring everything, much overhead though)
- Dynamically selecting the data to be recorded
Purpose of Software Measurements
- System understanding: Measurements of an existing system can provide performance information about similar system
- Model Specification: Measurements of experiments, prototype or other systems can provide SPE needed data.
- Model Updates: Measurements of evolving software can replace current measurements that can be outdated.
- Model Verification: Compare model results to performance objectives to ensure match up.
- Software Performance Evaluation: Figure out areas of improvement in software.