Chapter 2 Flashcards

Performance Concepts

1
Q

Define

Pipelining

A

Processor moves data or instructions into a conceptual pipe with all stages of the pipe processing simultaneously

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

Define

Branch Prediction

Branch Prediction

A

Processor looks ahead in the instruction code fetched from memory and predicts which branches, or groups of instructions, are likely to be processed next.

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

Define

Superscalar execution

A

This is the ability to issue more than one instruction in every processor clock cycle. (In effect, multiple parallel
pipelines are used.)

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

Define

Data flow analysis

A

Processor analyzes which instructions are dependent on each other’s results, or data, to create an optimized schedule of instructions

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

Define

Speculative execution

A

Using branch prediction and data flow analysis, some processors speculatively execute instructions ahead of their actual appearance in the program execution, holding the results in temporary locations, keeping
execution engines as busy as possible.

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

4 possible examples listed

Performance balance examples

A

Increase the number of bits that are retrieved at one time by making DRAMs “wider” rather than “deeper” and by using wide bus data paths.

Change the DRAM interface to make it more efficient by including a cache.

Reduce the frequency of memory access by incorporating increasingly complex and efficient cache structures between the processor and main memory.

Increase the interconnect bandwidth between processors and memory by using higher speed buses and a hierarchy of buses to buffer and structure data flow.

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

How to increase hardware speed of processor

Solution with Results

A

Shrink logic gate size. More gates, packed more tightly, increase clock rate. Propagation time for signals reduced

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

How to increase size and speed of cache

Solution

A

Dedicate part of processor chip

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

List

Problems with clock speed and logic density

A

Power
RC delay
Memory latency and throughput

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

Define

Advantages of multicore

A

Increase performance without increasing clock rate. Larger cache justified.

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

Define

Many Integrated Core (MIC)

A

Involves a homogeneous collection of general purpose processors on a single chip.

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

Define

Graphics Processing Unit (GPU)

A

Core designed to perform parallel operations on graphics data. Traditionally found on plug-in graphics card, used as vector processors

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

Define

Amdahl’s law

A

Essentially, parallel performance allowed by multicores will only cause a great increase in performance if software is adapted to run parallel and exploit this power.

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

Define

Little’s law

A

Average number of items in a queueing system equals the average rate at which items arrive multiplied by the time that an item spends in the system.

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

List

The three common formulas used for calculating a mean

A

Arithmetic
Geometric
Harmonic

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

Define

Arithmetic Mean (AM)

A

Appropriate if the sum of all the measurements is a meaningful and interesting value. Good for comparing the execution time performance of several systems.

17
Q

Define

Harmonic Mean (HM)

A

For situations where the execution rate is the more useful value of the system. This value is inversely proportional to the execution rate.

18
Q

Define

Geometric Mean (GM)

A

Gives equal weight to all values in a data set. Provides consistent results when measuring the relative performance of machines. Results are normalized to a reference machine.

19
Q

4 desirable characteristics of a benchmark program.

A
  1. It is written in a high-level language
  2. It is representative of a particular kind of programming domain or paradigm, such as systems programming, numerical programming, or commercial programming
  3. It can be measured easily
  4. It has wide distribution
20
Q

Define

System Performance Evaluation Corporation (SPEC)

A

Defines and maintains the best known collection of benchmark suites aimed at evaluating computer systems. Performance measurements are widely used for comparison and research purposes.

21
Q

Define

SPEC CPU2017

A

Best known SPEC benchmark suite, for applications doing more computation than I/O. Consists of 20 integer benchmarks and 23 float benchmarks. Contains over 11 million lines of code.

22
Q

Define

Peak metric

A

Enables users to attempt to optimize system performance by optimizing the compiler output.

23
Q

Define

Speed metric

A

A measurement of the time it takes to execute a compiled benchmark. Used for comparing the ability of a computer to complete single tasks.

24
Q

Define

Rate metric

A

Measurement of how many tasks a computer can accomplish in a certain time. AKA: throughput, capacity, rate measure.