Comparing Performance

Tom Kelliher, CS 220

Oct. 26, 2007

Administrivia

Announcements

Assignment

Read 5.1-3.

From Last Time

Measuring performance.

Outline

  1. More definitions and terms.

  2. Practice.

Coming Up

Building a simple MIPS datapath.

More Definitions and Terms

  1. How should we summarize several benchmarks?
    1. Should we summarize?

    2. Use sum of execution times.

    3. Arithmetic mean is proportional.

    4. See the CD (In More Depth) for an interesting discussion of the use of geometric means.

    Example:

      Machine A Machine B
    Program 1 (seconds) 1 10
    Program 2 1000 100
    Total time 1001 110

    1. Which machine is faster on Program 1? Program 2? Combined?

      Suppose we treat Machine A as a reference machine and normalize the run times to Machine A's performance. What happens?

    2. Would your answer vary depending on execution frequency? How could we account for this? (Weighted average.)

  2. Native MIPS:

    \begin{displaymath}
\rm MIPS = \frac{Instruction~Count}{Execution~time \times 10^6}
\end{displaymath}

    As opposed to peak MIPS or relative MIPS.

    Native MIPS can vary inversely with CPU time!

  3. Useful design principle: Make the common case fast.

Practice

Problems 4.38-4.44.



Thomas P. Kelliher 2007-10-25
Tom Kelliher