7.0 Interval modeling Flashcards

1
Q

What are some requirements when doing evaluation

A

Validity, reliability and reproducability

implementation must be correct

Models must be sound (critical components modelled in sufficient detail, other components need to be relatively realistic)

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

What is validity in evaluation?

A

How well are you measuring what you want to measure

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

What is reliability in evaluation?

A

The result should be stable and consistent

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

What is reproducability in evaluation

A

Do you provide enough information so that independent researchers can verify the same findings.

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

What are the 3 options when evaluating computer architecture

A

Analytical modeling
Simulation
Experiments on real hardware

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

What is analytical modelling

A

Suitable for early studies and large design spaces (black- and white-box models)

Often a set of mathematical equations. Use parameters to compute performance

Difficult to make sure we are collecting realistic data

Validated against simulators, if validated at all

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

What is simulation?

A

Can model complex interactions between independent units

Often model clock cycle accuracy

Relatively quick simulation

Easy to change - change in software

Cons:
- rarely validated against real hardware (difficult to recreate all the corner cases in hardware)
- How can we verify validity across design space

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

What is evaluation on real hardware?

A

Run experiments on real hardware

Then we know, that for this particular instance is correct because there aren’t any modeling abstractions

Difficult to control for all parameters, reliability is difficult

Difficult to be reliably, hard to say what we are measuring

Takes a lot of time to change the structure

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

What is interval modelling?

A

An analytical performance model for out-of-order processors

A mechanistic model (white box):
- Models the mechanisms in the processor that leads to a performance-related behaviour
-

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

What is a white box model?

A

Mechanistic modelling.

Models the mechanisms in the processor that leads to a performance-related behaviour.

Often leads to a better understanding of the architecture, compared to empirical models (black box)

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

What is a black box model?

A

Empirical model

Get a lot of data that relates program behaviour to performance, and use machine learning to find relationships

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

What is the power law for IPC?

A

The IPC has a power law dependency with the instruction window.

A power law relationship means that if the instruction window is plotted on the x axis logarithmicly, and IPC on the log-scale on the y axis, the line will be straight.

This means that if you scale up the instruction window, you will get more intruction level paralellism

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

Is ILP a limiting factor for performance

A

No, there is enough instruction level parallelism provided that the processor is balanced. This means that the size of the instruction window, need to match the number of instructions can be executed at once

Maximum IPC can be almost achieved in the absence of miss events

For balanced designs:
- B: Width of processor
- N: Total dynamic instruction count
- C: Execution time in cycles

C = N / B

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

How many instructions can a balanced processor execute at once?

A

Almost the processor width, as long as there are not any miss events

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

What does an interval analysis look like for I-cache misses?

A

IPC on y-axis, time on x

IPC is max. Then a miss occurs.
IPC continues on max dx amount of time whilw instructions in front-end pipeline are drained into the instruction window. This means that dx is the frontend pipeline depth.

IPC is 0 when dispatch drops to zero.

The cache miss latency is dx_2 from the time it occured

The IPC stays 0 until dx after the latency has finished.

during this dx, the frontend pipeline gets filled with instructions

IPC is back to max after dispatch resumes

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

What is the cost for an I-cache miss

A

Equals to the I-cache miss latency

17
Q

How big is the performance impact from I-cache misses?

A

Proportional to the number of cycles it takes to satisfy a miss

18
Q

What does an interval analysis look like for mispredicted branches?

A

IPC is max up until the mispredicted branch enters the instruction window

Then the IPC goes to 0, even though the pipeline continues fetching. However, what is fetched now is on the wrong path.

IF of wrong instructions are stopped when branch gets executed and we see that it was mispredicted. The instructions earlier fetched is squashed and processor starts fetching correct instructions.

IPC stays 0 until instructions from the correct path is being dispatched. Then the IPC is back to max.

19
Q

Define the cost of mispredicted branches in a interval analysis

A

Cost = branch resolution time + frontend pipeline depth

Branch resolution time: Cycles between mispredicted branch enters the window until its execution.

20
Q

What does an interval analysis look like for D-cache misses?

A

D-cache misses can be more or less hidden by out-of-order execution.

IPCmax until mixx occurs + a time interval dx. dx is the time the instruction window fills up (max number of instructions that can be in the ROB at the same time).

When instruction window has filled up, the IPC drops to 0.

The IPC stays at 0 until new instructions

21
Q

What is the cost of the D-cache miss?

A

Miss latency - dx (time for instruction window to fill up)

22
Q

How can we reduce the cost of D-cache misses?

A

Memory-level parallelism (MLP), using hitting under misses. This is when MHSRs allows hitting caches while misses are being handled (?)

If we are able to do multiple cache misses in parallel, we can reduce the cost because after first cache miss we can issue more memory accesses and handle these in parallel. When each finish they will no longer cause a stall as they have been handled during the cost window