Performance
- How can we effectively measure performance?
- What is performance?
- Look at Figure 1.13 page 28
- We assume we are talking about transporting passengers.
- But what different criteria can we have for transporting passengers?
- Get 100 people there as quickly as possible.
- Get 100 people there as far as possible.
- Get 450 People there.
- Notice that for each of these tasks, a different plane would be selected.
- The parallel we can draw here is that many people have different problems that require different hardware solutions.
- We will define performance as the inverse of execution time.
- Performancex = 1/Execution Timex
- As execution time (t) increases, 1/t decreases
- If Px > Py then Tx < Ty
- (or) TY/TX = n
- If X is n times faster than Y, PX/PY = n
- Modeling execution time
- Execution time (T)
- Instructions Executed = I
- Cycles Per Instruction = CPI
- Clock Speed = S (cycles per second)
- T = I * CPI * 1/S
- How can we effect execution time?
- Who controls I?
- Who controls CPI?
- Who controls S
- Look at page 38
- CPI and Instruction mix
- Assume machine A has a clock rate of 1.4GHz.
- Assume the program has 1x1012 instructions
- Assume the following
Instruction Class | CPI | % used |
---|
A | 3.1 | 30% |
B | 1.0 | 50% |
C | 4.0 | 20% |
- Find the CPI.
- Find the execution time.
- What if the instruction mix is changed to 25%, 60%, 15%
- What if the CPI for class B is raised to 1.1, but the other two are reduced by .5?
- What happens if the clock speed is raised to 1.5GHz?
- What if the instruction count is reduced to 5x1011
- How can each of these be accomplished and where?